diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | kernel/dev.c | 2 | ||||
-rw-r--r-- | kernel/fuse_i.h | 2 |
3 files changed, 9 insertions, 2 deletions
@@ -1,3 +1,10 @@ +2005-07-22 Miklos Szeredi <miklos@szeredi.hu> + + * Fix bug, that causes filesystem requests to hang when unique + request counter becomes negative. This happens after + 2,147,483,648 operations, so most people won't care. Thanks to + Franco Broi for the report and testing. + 2005-07-21 Miklos Szeredi <miklos@szeredi.hu> * Don't change mtime/ctime/atime to local time on read/write. diff --git a/kernel/dev.c b/kernel/dev.c index 8c43e9b..0f4de86 100644 --- a/kernel/dev.c +++ b/kernel/dev.c @@ -722,7 +722,7 @@ static ssize_t fuse_dev_read(struct file *file, char __user *buf, } /* Look up request on processing list by unique ID */ -static struct fuse_req *request_find(struct fuse_conn *fc, unsigned unique) +static struct fuse_req *request_find(struct fuse_conn *fc, u64 unique) { struct list_head *entry; diff --git a/kernel/fuse_i.h b/kernel/fuse_i.h index c579a69..b9b29eb 100644 --- a/kernel/fuse_i.h +++ b/kernel/fuse_i.h @@ -304,7 +304,7 @@ struct fuse_conn { struct list_head unused_list; /** The next unique request id */ - int reqctr; + u64 reqctr; /** Mount is active */ unsigned mounted : 1; |