Commit df9f2b75 authored by Aaron Jacobs's avatar Aaron Jacobs

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.
parents 591350f2 e6f7fe60
......@@ -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.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment