This is the mail archive of the
mailing list for the glibc project.
Re: [patch] Fix for BZ#12165
On Tue, Nov 02, 2010 at 10:07:58AM -0400, Ulrich Drepper wrote:
> On Mon, Nov 1, 2010 at 20:43, Paul Pluzhnikov <email@example.com> wrote:
> > Here is a proposed patch for BZ#12165 to stop libc from treating d_ino==0
> > as special.
> I haven't seen any analysis or comments from filesystem developers
> supporting this.
> d_ino == 0 traditionally meant the file was removed. Perhaps after the
> initial opendir() call. Before this change can be made you'll have to
> get the OK from the filesystem owners in the kernel and then the
> change should be conditional for Linux only. Who knows what other
> OSes do.
At least all the real filesystems I know do not use i_ino, presumably
because of legacy Unix assumptions.
The best way to fix your issue is to fix the generation of default
inode numbers for tmpfs, which is done in new_inode() for kernels up to
2.6.36 and in a new helper later. If you're actually having enough
inums for it to wrap you're likely to run into even more issues with
the dumb scheme it currently use, so I'd strongly recommend to address
the issue in the kernel.