]> err.no Git - linux-2.6/commit
[PATCH] fuse: use jiffies_64
authorMiklos Szeredi <miklos@szeredi.hu>
Sun, 30 Jul 2006 10:04:10 +0000 (03:04 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 31 Jul 2006 20:28:43 +0000 (13:28 -0700)
commit0a0898cf413876d4ed6e371f3e04bf38600a9205
tree700c9e87bdd78392bd3fa11f2f976d360b8a5cd2
parent685d16ddb07b74537fb18972784e6214840fdd20
[PATCH] fuse: use jiffies_64

It is entirely possible (though rare) that jiffies half-wraps around, while a
dentry/inode remains in the cache.  This could mean that the dentry/inode is
not invalidated for another half wraparound-time.

To get around this problem, use 64-bit jiffies.  The only problem with this is
that dentry->d_time is 32 bits on 32-bit archs.  So use d_fsdata as the high
32 bits.  This is an ugly hack, but far simpler, than having to allocate
private data just for this purpose.

Since 64-bit jiffies can be assumed never to wrap around, simple comparison
can be used, and a zero time value can represent "invalid".

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
fs/fuse/dir.c
fs/fuse/fuse_i.h
fs/fuse/inode.c