Skip to content

Commit

Permalink
fuse: add members to struct fuse_file
Browse files Browse the repository at this point in the history
Add new members ->fc and ->nodeid to struct fuse_file.  This will aid
in converting functions for use by CUSE, where the inode is not owned
by a fuse filesystem.

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
  • Loading branch information
Miklos Szeredi committed Apr 28, 2009
1 parent d09cb9d commit da5e471
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 2 deletions.
2 changes: 2 additions & 0 deletions fs/fuse/file.c
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ struct fuse_file *fuse_file_alloc(struct fuse_conn *fc)
if (unlikely(!ff))
return NULL;

ff->fc = fc;
ff->reserved_req = fuse_request_alloc();
if (unlikely(!ff->reserved_req)) {
kfree(ff);
Expand Down Expand Up @@ -111,6 +112,7 @@ void fuse_finish_open(struct inode *inode, struct file *file,
if (outarg->open_flags & FOPEN_NONSEEKABLE)
nonseekable_open(inode, file);
ff->fh = outarg->fh;
ff->nodeid = get_node_id(inode);
file->private_data = fuse_file_get(ff);
}

Expand Down
10 changes: 8 additions & 2 deletions fs/fuse/fuse_i.h
Original file line number Diff line number Diff line change
Expand Up @@ -97,8 +97,13 @@ struct fuse_inode {
struct list_head writepages;
};

struct fuse_conn;

/** FUSE specific file data */
struct fuse_file {
/** Fuse connection for this file */
struct fuse_conn *fc;

/** Request reserved for flush and release */
struct fuse_req *reserved_req;

Expand All @@ -108,6 +113,9 @@ struct fuse_file {
/** File handle used by userspace */
u64 fh;

/** Node id of this file */
u64 nodeid;

/** Refcount */
atomic_t count;

Expand Down Expand Up @@ -185,8 +193,6 @@ enum fuse_req_state {
FUSE_REQ_FINISHED
};

struct fuse_conn;

/**
* A request to the client
*/
Expand Down

0 comments on commit da5e471

Please sign in to comment.