glibc is the culprit - Re: vfs.txt and i_ino

From: Anton Altaparmakov (aia21@cam.ac.uk)
Date: Sun Feb 10 2002 - 06:58:48 EST


[shortened CC list, added glibc mailing list]
At 21:17 31/01/02, Eli Carter wrote:
>Anton Altaparmakov wrote:
> > On Thu, 31 Jan 2002, Eli Carter wrote:
> > > It appears that struct inode i_ino has a special value of 0. I don't
> > > see a mention of that in vfs.txt, and I haven't found anything obvious
> > > in the fs code... Would it be possible to add some documentation of
> > > that, along with an explaination of what i_ino==0 is supposed to
> > > indicate? (Bad/invalid inode?)
> >
> > i_ino = 0 is perfectly valid and is in fact one of the system files in
> > NTFS. And accessing inode 0 from user space works fine, too. The only
> > thing which is odd is that a simple "ls" (or "ls -l") doesn't show the
> > file with i_ino=0, while an explicit ls a-la "ls \$MFT" (or "ls -l \$MFT")
> > does show the file. I believe this to be purely a userspace problem but
> > when I looked at the /bin/ls source I got scared and ran away... A short
> > investigation into /bin/ls source didn't make anything obvious appear but
> > I do think it is /bin/ls at fault and not the kernel...
> >
> > So I guess my point is that i_ino=0 is not special as far as the kernel is
> > concerned.
>
>Hmm... 'ls -al' doesn't show the file for me. I was using i_ino=0 for
>the root inode, and found that 'ls -al' did not display '.' or '..'. It
>very well may be a user-space error... do you know who I should ask
>about it?

The culprit hiding inode zero is now found.

Rogier Wolff wrote a new tiny ls version using man 3 readdir, provided by
glibc and this does not show inode zero.

I rewrote that to use man 2 readdir and it now shows inode zero. (I also
tried man 2 getdents, which gives the same result, i.e. inode zero is shown.)

So glibc is for some reason hiding inode zero from us...

Would the glibc developers care to comment?

Best regards,

Anton

-- 
   "I've not lost my mind. It's backed up on tape somewhere." - Unknown
-- 
Anton Altaparmakov <aia21 at cam.ac.uk> (replace at with @)
Linux NTFS Maintainer / WWW: http://linux-ntfs.sf.net/
ICQ: 8561279 / WWW: http://www-stu.christs.cam.ac.uk/~aia21/

- 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/



This archive was generated by hypermail 2b29 : Fri Feb 15 2002 - 21:00:32 EST