From 204c01747090e800d3f3b2d30703b79f9305c2ad Mon Sep 17 00:00:00 2001 From: Miklos Szeredi Date: Tue, 28 Apr 2009 16:56:36 +0200 Subject: [PATCH] --- yaml --- r: 147949 b: refs/heads/master c: da5e4714578ff323f7a61af490fc3539e68f188b h: refs/heads/master i: 147947: 48f65e6287eeae5630fbcf5fb680fed1fa24816e v: v3 --- [refs] | 2 +- trunk/fs/fuse/file.c | 2 ++ trunk/fs/fuse/fuse_i.h | 10 ++++++++-- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 3cfcfe8715af..5d6e65a0634d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d09cb9d7f6e4cb1dd0cf12ee0d352440291c74cf +refs/heads/master: da5e4714578ff323f7a61af490fc3539e68f188b diff --git a/trunk/fs/fuse/file.c b/trunk/fs/fuse/file.c index b83d7d86b527..3be030105354 100644 --- a/trunk/fs/fuse/file.c +++ b/trunk/fs/fuse/file.c @@ -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); @@ -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); } diff --git a/trunk/fs/fuse/fuse_i.h b/trunk/fs/fuse/fuse_i.h index 146317ff81b9..4469d9971588 100644 --- a/trunk/fs/fuse/fuse_i.h +++ b/trunk/fs/fuse/fuse_i.h @@ -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; @@ -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; @@ -185,8 +193,6 @@ enum fuse_req_state { FUSE_REQ_FINISHED }; -struct fuse_conn; - /** * A request to the client */