Messages in this thread | | | Date | Fri, 4 Nov 2005 11:51:01 +0000 | From | Al Viro <> | Subject | Re: [RFC,PATCH] libfs dcache_readdir() and dcache_dir_lseek() bugfix |
| |
On Fri, Nov 04, 2005 at 12:38:51PM +0100, jblunck@suse.de wrote: > This patch effects all users of libfs' dcache directory implementation. > > Old glibc implementations (e.g. glibc-2.2.5) are lseeking after every call to > getdents(), subsequent calls to getdents() are starting to read from a wrong > f_pos, when the directory is modified in between. Therefore not all directory > entries are returned. IMHO this is a bug and it breaks applications, e.g. "rm > -fr" on tmpfs. > > SuSV3 only says: > "If a file is removed from or added to the directory after the most recent > call to opendir() or rewinddir(), whether a subsequent call to readdir_r() > returns an entry for that file is unspecified."
IOW, the applications in question are broken since they rely on unspecified behaviour, not provided by old libc versions. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |