summaryrefslogtreecommitdiffstats
path: root/fs/9p/v9fs.h
diff options
context:
space:
mode:
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>2011-07-11 18:40:59 +0200
committerEric Van Hensbergen <ericvh@gmail.com>2011-07-23 16:32:48 +0200
commitfd2421f54423f307ecd31bdebdca6bc317e0c492 (patch)
tree6e681349c6111a6bca9a562090bdedfd5b2ed29c /fs/9p/v9fs.h
parentfs/9p: Fid is not valid after a failed clunk. (diff)
downloadlinux-fd2421f54423f307ecd31bdebdca6bc317e0c492.tar.xz
linux-fd2421f54423f307ecd31bdebdca6bc317e0c492.zip
fs/9p: When doing inode lookup compare qid details and inode mode bits.
This make sure we don't use wrong inode from the inode hash. The inode number of the file deleted is reused by the next file system object created and if we only use inode number for inode hash lookup we could end up with wrong struct inode. Also compare inode generation number. Not all Linux file system provide st_gen in userspace. So it could be 0; Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
Diffstat (limited to 'fs/9p/v9fs.h')
-rw-r--r--fs/9p/v9fs.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/9p/v9fs.h b/fs/9p/v9fs.h
index e5ebedfc5ed8..5d7392ead24b 100644
--- a/fs/9p/v9fs.h
+++ b/fs/9p/v9fs.h
@@ -125,8 +125,8 @@ struct v9fs_inode {
#ifdef CONFIG_9P_FSCACHE
spinlock_t fscache_lock;
struct fscache_cookie *fscache;
- struct p9_qid *fscache_key;
#endif
+ struct p9_qid qid;
unsigned int cache_validity;
struct p9_fid *writeback_fid;
struct mutex v_mutex;