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
commit
df9f2b75f3
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
Loading…
Reference in New Issue