diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2006-07-30 03:04:08 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-07-31 13:28:43 -0700 |
commit | 685d16ddb07b74537fb18972784e6214840fdd20 (patch) | |
tree | f9a0825348629824f7867270c5860edb02e91e75 /fs/fuse | |
parent | 25d7dfdaf3404bb31b8f55283fd2c456cb7b4001 (diff) | |
download | kernel_samsung_espresso10-685d16ddb07b74537fb18972784e6214840fdd20.zip kernel_samsung_espresso10-685d16ddb07b74537fb18972784e6214840fdd20.tar.gz kernel_samsung_espresso10-685d16ddb07b74537fb18972784e6214840fdd20.tar.bz2 |
[PATCH] fuse: fix zero timeout
An attribute and entry timeout of zero should mean, that the entity is
invalidated immediately after the operation. Previously invalidation only
happened at the next clock tick.
Reported and tested by Craig Davies.
Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/fuse')
-rw-r--r-- | fs/fuse/dir.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c index 72a74cd..6db66ec 100644 --- a/fs/fuse/dir.c +++ b/fs/fuse/dir.c @@ -25,8 +25,11 @@ */ static unsigned long time_to_jiffies(unsigned long sec, unsigned long nsec) { - struct timespec ts = {sec, nsec}; - return jiffies + timespec_to_jiffies(&ts); + if (sec || nsec) { + struct timespec ts = {sec, nsec}; + return jiffies + timespec_to_jiffies(&ts); + } else + return jiffies - 1; } /* |