Removed fuseops.OpHeader.

This gave UID and GID information that wasn't obviously useful to the file
system, given that (by default at least) the file system can only be used by
the mounting user.
geesefs-0-30-9
Aaron Jacobs 2015-07-24 09:38:48 +10:00
commit df9f2b75f3
4 changed files with 15 additions and 30 deletions

View File

@ -105,14 +105,6 @@ func (o *commonOp) init(
}
}
func (o *commonOp) Header() OpHeader {
bh := o.bazilReq.Hdr()
return OpHeader{
Uid: bh.Uid,
Gid: bh.Gid,
}
}
func (o *commonOp) Context() context.Context {
return o.ctx
}

View File

@ -30,9 +30,6 @@ type Op interface {
// A short description of the op, to be used in logging.
ShortDesc() string
// Return the fields common to all operations.
Header() OpHeader
// A context that can be used for long-running operations.
Context() context.Context

View File

@ -125,13 +125,6 @@ type HandleID uint64
// ReadDirOp.Offset for details.
type DirOffset uint64
// A header that is included with every op.
type OpHeader struct {
// Credentials information for the process making the request.
Uid uint32
Gid uint32
}
// Information about a child inode within its parent directory. Shared by
// LookUpInodeOp, MkDirOp, CreateFileOp, etc. Consumed by the kernel in order
// to set up a dcache entry.

View File

@ -30,6 +30,10 @@ import (
type memFS struct {
fuseutil.NotImplementedFileSystem
// The UID and GID that every inode receives.
uid uint32
gid uint32
/////////////////////////
// Dependencies
/////////////////////////
@ -74,6 +78,8 @@ func NewMemFS(
fs := &memFS{
clock: clock,
inodes: make([]*inode, fuseops.RootInodeID+1),
uid: uid,
gid: gid,
}
// Set up the root inode.
@ -268,13 +274,12 @@ func (fs *memFS) MkDir(
return
}
// Set up attributes from the child, using the credentials of the calling
// process as owner (matching inode_init_owner, cf. http://goo.gl/5qavg8).
// Set up attributes from the child.
childAttrs := fuseops.InodeAttributes{
Nlink: 1,
Mode: op.Mode,
Uid: op.Header().Uid,
Gid: op.Header().Gid,
Uid: fs.uid,
Gid: fs.gid,
}
// Allocate a child.
@ -311,8 +316,7 @@ func (fs *memFS) CreateFile(
return
}
// Set up attributes from the child, using the credentials of the calling
// process as owner (matching inode_init_owner, cf. http://goo.gl/5qavg8).
// Set up attributes from the child.
now := fs.clock.Now()
childAttrs := fuseops.InodeAttributes{
Nlink: 1,
@ -321,8 +325,8 @@ func (fs *memFS) CreateFile(
Mtime: now,
Ctime: now,
Crtime: now,
Uid: op.Header().Uid,
Gid: op.Header().Gid,
Uid: fs.uid,
Gid: fs.gid,
}
// Allocate a child.
@ -361,8 +365,7 @@ func (fs *memFS) CreateSymlink(
return
}
// Set up attributes from the child, using the credentials of the calling
// process as owner (matching inode_init_owner, cf. http://goo.gl/5qavg8).
// Set up attributes from the child.
now := fs.clock.Now()
childAttrs := fuseops.InodeAttributes{
Nlink: 1,
@ -371,8 +374,8 @@ func (fs *memFS) CreateSymlink(
Mtime: now,
Ctime: now,
Crtime: now,
Uid: op.Header().Uid,
Gid: op.Header().Gid,
Uid: fs.uid,
Gid: fs.gid,
}
// Allocate a child.