diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2005-08-19 14:40:27 +0000 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2005-08-19 14:40:27 +0000 |
commit | 77ccf6540abc0af4deb4d76d7b527b909dde52e3 (patch) | |
tree | 258418b45be032fcb1147faf099608b5dde17e00 | |
parent | c43f9411236723df9b0881e0cca37ea69fcbb07a (diff) | |
download | libfuse-77ccf6540abc0af4deb4d76d7b527b909dde52e3.tar.gz |
fix
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | lib/fuse.c | 5 |
2 files changed, 10 insertions, 0 deletions
@@ -1,3 +1,8 @@ +2005-08-19 Miklos Szeredi <miklos@szeredi.hu> + + * lib: always refresh directory contents after rewinddir() to + conform to SUS. Bug found by John Muir. + 2005-08-15 Miklos Szeredi <miklos@szeredi.hu> * Released 2.4.0-pre1 @@ -1353,6 +1353,11 @@ static void fuse_readdir(fuse_req_t req, fuse_ino_t ino, size_t size, struct fuse_dirhandle *dh = get_dirhandle(llfi, &fi); pthread_mutex_lock(&dh->lock); + /* According to SUS, directory contents need to be refreshed on + rewinddir() */ + if (!off) + dh->filled = 0; + if (!dh->filled) { int err = readdir_fill(f, ino, size, off, dh, &fi); if (err) { |