summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2005-12-14 16:18:32 +0000
committerMiklos Szeredi <miklos@szeredi.hu>2005-12-14 16:18:32 +0000
commite248e4bb1afb07b5fbdff3499764997dd48ecdd7 (patch)
treea6e160f4d8803f6663cf5cc539db7de7476d5919
parent34450a88f277bc9427ea5f7824b5938e6cffe178 (diff)
downloadfuse-e248e4bb1afb07b5fbdff3499764997dd48ecdd7.tar.gz
fix
-rw-r--r--ChangeLog6
-rw-r--r--lib/fuse.c6
2 files changed, 10 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 48b3929..bd5245c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2005-12-14 Miklos Szeredi <miklos@szeredi.hu>
+
+ * Fix readdir() failure on x86_64, of 32bit programs compiled
+ without largefile support. Bug report and help from Anthony
+ Kolasny
+
2005-12-12 Miklos Szeredi <miklos@szeredi.hu>
* Fix stale code in ifdef FreeBSD. Patch from Csaba Henk
diff --git a/lib/fuse.c b/lib/fuse.c
index dfc9668..d97f525 100644
--- a/lib/fuse.c
+++ b/lib/fuse.c
@@ -29,6 +29,8 @@
#define FUSE_MAX_PATH 4096
+#define FUSE_UNKNOWN_INO 0xffffffff
+
struct fuse_config {
char *llopts;
unsigned int uid;
@@ -1353,11 +1355,11 @@ static int fill_dir_common(struct fuse_dirhandle *dh, const char *name,
stbuf = *statp;
else {
memset(&stbuf, 0, sizeof(stbuf));
- stbuf.st_ino = (ino_t) -1;
+ stbuf.st_ino = FUSE_UNKNOWN_INO;
}
if (!dh->fuse->conf.use_ino) {
- stbuf.st_ino = (ino_t) -1;
+ stbuf.st_ino = FUSE_UNKNOWN_INO;
if (dh->fuse->conf.readdir_ino) {
struct node *node;
pthread_mutex_lock(&dh->fuse->lock);