From: Christoph Hellwig <hch@infradead.org>
To: Al Viro <viro@ZenIV.linux.org.uk>
Cc: "J. Bruce Fields" <bfields@fieldses.org>,
linux-fsdevel@vger.kernel.org, linux-nfs@vger.kernel.org,
sandeen@redhat.com
Subject: Re: why is i_ino unsigned long, anyway?
Date: Sun, 29 Sep 2013 04:54:54 -0700 [thread overview]
Message-ID: <20130929115454.GA3953@infradead.org> (raw)
In-Reply-To: <20130912193328.GP13318@ZenIV.linux.org.uk>
On Thu, Sep 12, 2013 at 08:33:28PM +0100, Al Viro wrote:
> i_ino use is entirely up to filesystem; it may be used by library helpers,
> provided that the choice of using or not using those is, again, up to
> filesystem in question.
With more and more filesystems using large inode numbers I'm starting to
wonder if this still makes sense. But given that it's been this way for
a long time we should have more documentation of it for sure.
> NFSD has no damn business looking at it; library
> helpers in fs/exportfs might, but that makes them not suitable for use
> by filesystems without inode numbers or with 64bit ones.
>
> The reason why it's there at all is that it serves as convenient icache
> search key for many filesystems. IOW, it's used by iget_locked() and
> avoiding the overhead of 64bit comparisons on 32bit hosts is the main
> reason to avoid making it u64.
>
> Again, no fs-independent code has any business looking at it, 64bit or
> not. From the VFS point of view there is no such thing as inode number.
> And get_name() is just a library helper. For many fs types it works
> as suitable ->s_export_op->get_name() instance, but decision to use it
> or not belongs to filesystem in question and frankly, it's probably better
> to provide an instance of your own anyway.
Given that these days most exportable filesystems use 64-bit inode
numbers I think we should put the patch from Bruce in. Nevermind that
it's in a slow path, so the overhead of vfs_getattr really doesn't hurt.
WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
To: Al Viro <viro-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>
Cc: "J. Bruce Fields"
<bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>,
linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
sandeen-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
Subject: Re: why is i_ino unsigned long, anyway?
Date: Sun, 29 Sep 2013 04:54:54 -0700 [thread overview]
Message-ID: <20130929115454.GA3953@infradead.org> (raw)
In-Reply-To: <20130912193328.GP13318-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>
On Thu, Sep 12, 2013 at 08:33:28PM +0100, Al Viro wrote:
> i_ino use is entirely up to filesystem; it may be used by library helpers,
> provided that the choice of using or not using those is, again, up to
> filesystem in question.
With more and more filesystems using large inode numbers I'm starting to
wonder if this still makes sense. But given that it's been this way for
a long time we should have more documentation of it for sure.
> NFSD has no damn business looking at it; library
> helpers in fs/exportfs might, but that makes them not suitable for use
> by filesystems without inode numbers or with 64bit ones.
>
> The reason why it's there at all is that it serves as convenient icache
> search key for many filesystems. IOW, it's used by iget_locked() and
> avoiding the overhead of 64bit comparisons on 32bit hosts is the main
> reason to avoid making it u64.
>
> Again, no fs-independent code has any business looking at it, 64bit or
> not. From the VFS point of view there is no such thing as inode number.
> And get_name() is just a library helper. For many fs types it works
> as suitable ->s_export_op->get_name() instance, but decision to use it
> or not belongs to filesystem in question and frankly, it's probably better
> to provide an instance of your own anyway.
Given that these days most exportable filesystems use 64-bit inode
numbers I think we should put the patch from Bruce in. Nevermind that
it's in a slow path, so the overhead of vfs_getattr really doesn't hurt.
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2013-09-29 11:54 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-12 16:03 why is i_ino unsigned long, anyway? J. Bruce Fields
2013-09-12 19:33 ` Al Viro
2013-09-29 11:54 ` Christoph Hellwig [this message]
2013-09-29 11:54 ` Christoph Hellwig
2013-10-02 14:25 ` J. Bruce Fields
2013-10-02 14:25 ` J. Bruce Fields
2013-10-02 15:43 ` J. Bruce Fields
2013-10-02 15:43 ` J. Bruce Fields
2013-10-02 16:04 ` Christoph Hellwig
2013-10-02 16:04 ` Christoph Hellwig
2013-10-02 18:14 ` J. Bruce Fields
2013-10-02 16:05 ` Christoph Hellwig
2013-10-02 16:05 ` Christoph Hellwig
2013-10-02 17:53 ` J. Bruce Fields
2013-10-02 17:53 ` J. Bruce Fields
2013-10-02 17:57 ` Christoph Hellwig
2013-10-02 17:57 ` Christoph Hellwig
2013-10-02 21:07 ` J. Bruce Fields
2013-10-02 21:28 ` [PATCH 1/2] vfs: split out vfs_getattr_nosec J. Bruce Fields
2013-10-02 21:28 ` J. Bruce Fields
2013-10-02 21:28 ` [PATCH 2/2] exportfs: fix 32-bit nfsd handling of 64-bit inode numbers J. Bruce Fields
2013-10-04 22:12 ` J. Bruce Fields
2013-10-04 22:12 ` J. Bruce Fields
2013-10-04 22:15 ` J. Bruce Fields
2013-10-04 22:15 ` J. Bruce Fields
2013-10-08 21:56 ` J. Bruce Fields
2013-10-09 0:16 ` Dave Chinner
2013-10-09 14:53 ` J. Bruce Fields
2013-10-09 14:53 ` J. Bruce Fields
2013-10-10 22:28 ` Dave Chinner
2013-10-11 21:53 ` J. Bruce Fields
2013-10-11 21:53 ` J. Bruce Fields
2013-10-13 22:52 ` Dave Chinner
2013-10-02 18:47 ` why is i_ino unsigned long, anyway? Sage Weil
2013-10-02 19:00 ` J. Bruce Fields
2013-10-02 19:00 ` J. Bruce Fields
2013-10-02 19:04 ` Sage Weil
2013-10-02 19:04 ` Sage Weil
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130929115454.GA3953@infradead.org \
--to=hch@infradead.org \
--cc=bfields@fieldses.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=sandeen@redhat.com \
--cc=viro@ZenIV.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.