aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2005-07-22 11:58:47 +0000
committerMiklos Szeredi <miklos@szeredi.hu>2005-07-22 11:58:47 +0000
commit8d4d1b824173870c94f121416d2cf4704896787e (patch)
treef85eff40aa220881c09ecfd5798e4bec58230330
parent9b813af8631729cf7f626f0cbac08863bb315863 (diff)
downloadlibfuse-8d4d1b824173870c94f121416d2cf4704896787e.tar.gz
fix
-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;