aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--kernel/dev.c2
-rw-r--r--kernel/fuse_i.h2
3 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 1ff388f..f0dfd3d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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;