diff options
author | Miklos Szeredi <mszeredi@suse.cz> | 2009-04-28 16:56:41 +0200 |
---|---|---|
committer | Miklos Szeredi <mszeredi@suse.cz> | 2009-04-28 16:56:41 +0200 |
commit | 797759aaf31351a1ab1b9130c4f180ce496f46c5 (patch) | |
tree | 2bea6512575202090db75c5e8ab8d27e569df4a2 | |
parent | d36f248710c05714f37d921258b630bd1456b99f (diff) | |
download | blackbird-op-linux-797759aaf31351a1ab1b9130c4f180ce496f46c5.tar.gz blackbird-op-linux-797759aaf31351a1ab1b9130c4f180ce496f46c5.zip |
fuse: don't use inode in fuse_file_poll
Use ff->fc and ff->nodeid instead of file->f_dentry->d_inode in the
fuse_file_poll() implementation.
This prepares this function for use by CUSE, where the inode is not
owned by a fuse filesystem.
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
-rw-r--r-- | fs/fuse/file.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/fuse/file.c b/fs/fuse/file.c index 9f0ade0b4ce8..c5de60e873cb 100644 --- a/fs/fuse/file.c +++ b/fs/fuse/file.c @@ -1894,9 +1894,8 @@ static void fuse_register_polled_file(struct fuse_conn *fc, static unsigned fuse_file_poll(struct file *file, poll_table *wait) { - struct inode *inode = file->f_dentry->d_inode; struct fuse_file *ff = file->private_data; - struct fuse_conn *fc = get_fuse_conn(inode); + struct fuse_conn *fc = ff->fc; struct fuse_poll_in inarg = { .fh = ff->fh, .kh = ff->kh }; struct fuse_poll_out outarg; struct fuse_req *req; @@ -1921,7 +1920,7 @@ static unsigned fuse_file_poll(struct file *file, poll_table *wait) return PTR_ERR(req); req->in.h.opcode = FUSE_POLL; - req->in.h.nodeid = get_node_id(inode); + req->in.h.nodeid = ff->nodeid; req->in.numargs = 1; req->in.args[0].size = sizeof(inarg); req->in.args[0].value = &inarg; |