From: "J. Bruce Fields" <bfields@fieldses.org>
To: Cyrill Gorcunov <gorcunov@openvz.org>
Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
Al Viro <viro@zeniv.linux.org.uk>,
Alexey Dobriyan <adobriyan@gmail.com>,
Andrew Morton <akpm@linux-foundation.org>,
Pavel Emelyanov <xemul@parallels.com>,
James Bottomley <jbottomley@parallels.com>,
Matthew Helsley <matt.helsley@gmail.com>
Subject: Re: [patch 4/8] fs, exportfs: Add export_encode_inode_fh helper
Date: Thu, 16 Aug 2012 08:47:03 -0400 [thread overview]
Message-ID: <20120816124703.GE28054@fieldses.org> (raw)
In-Reply-To: <20120816123814.GD1209@moon>
On Thu, Aug 16, 2012 at 04:38:14PM +0400, Cyrill Gorcunov wrote:
> On Thu, Aug 16, 2012 at 10:24:48AM +0400, Cyrill Gorcunov wrote:
> > > > > On the other hand, if you want a real filehandle then wouldn't you want
> > > > > to e.g. call the filesystem's ->encode_fh() if necessary, as
> > > > > exportfs_encode_fh() does?
> > > >
> > > > Well, one of the problem I hit when I've been trying to use encode_fh
> > > > is that every new implementation of encode_fh will require some size
> > > > (even unknown) in buffer where encoded data pushed. Correct me please
> > > > if I'm wrong. But with export_encode_inode_fh there is a small buffer
> > > > with pretty known size needed on stack needed for printing data in
> > > > fdinfo.
> > >
> > > You can just give encode_fh a too-small data and let it fail if it's not
> > > big enough.
> > >
> > > (In practice I think everyone supports NFSv3 filehandles which have a
> > > maximum size of 64 bytes.)
> >
> > I'll think about it, thanks!
>
> Hi Bruce, thinking a bit more I guess using general encode_fh is not that
> convenient since it operates with dentries while our fdinfo output deals
> with inodes. Thus I should either provide some new encode_fh variant
> which would deal with inodes directly without "parents".
I can't see why that wouldn't work.
> Which doesn't
> look for me anyhow better than the new export_encode_inode_fh helper.
That isn't going to work for filesystems that define their own
encode_fh:
$ git grep '\.encode_fh'
fs/btrfs/export.c: .encode_fh = btrfs_encode_fh,
fs/ceph/export.c: .encode_fh = ceph_encode_fh,
fs/fat/inode.c: .encode_fh = fat_encode_fh,
fs/fuse/inode.c: .encode_fh = fuse_encode_fh,
fs/gfs2/export.c: .encode_fh = gfs2_encode_fh,
fs/isofs/export.c: .encode_fh = isofs_export_encode_fh,
fs/nilfs2/namei.c: .encode_fh = nilfs_encode_fh,
fs/ocfs2/export.c: .encode_fh = ocfs2_encode_fh,
fs/reiserfs/super.c: .encode_fh = reiserfs_encode_fh,
fs/udf/namei.c: .encode_fh = udf_encode_fh,
fs/xfs/xfs_export.c: .encode_fh = xfs_fs_encode_fh,
mm/shmem.c: .encode_fh = shmem_encode_fh,
--b.
> After all, if the use of encode_fh become a mandatory rule we can easily
> extend fsnotify fdinfo output to support new scheme without breaking
> user space, because output looks like
>
> | fhandle-type: 1 f_handle: 49b1060023552153
>
> (ie if something is changed than these fields will be simply updated).
>
> Or maybe I miss something?
>
> Cyrill
next prev parent reply other threads:[~2012-08-16 12:47 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-15 9:21 [patch 0/8] procfs, fdinfo updated Cyrill Gorcunov
2012-08-15 9:21 ` [patch 1/8] procfs: Move /proc/pid/fd[info] handling code to fd.[ch] Cyrill Gorcunov
2012-08-15 9:21 ` [patch 2/8] procfs: Convert /proc/pid/fdinfo/ handling routines to seq-file Cyrill Gorcunov
2012-08-15 9:21 ` [patch 3/8] procfs: Add ability to plug in auxiliary fdinfo providers Cyrill Gorcunov
2012-08-15 21:16 ` Al Viro
2012-08-15 21:31 ` Cyrill Gorcunov
2012-08-15 21:29 ` Al Viro
2012-08-15 21:34 ` Cyrill Gorcunov
2012-08-16 10:58 ` Cyrill Gorcunov
2012-08-15 9:21 ` [patch 4/8] fs, exportfs: Add export_encode_inode_fh helper Cyrill Gorcunov
2012-08-15 20:45 ` J. Bruce Fields
2012-08-15 21:02 ` Cyrill Gorcunov
2012-08-15 22:06 ` J. Bruce Fields
2012-08-16 6:24 ` Cyrill Gorcunov
2012-08-16 12:38 ` Cyrill Gorcunov
2012-08-16 12:47 ` J. Bruce Fields [this message]
2012-08-16 13:16 ` Cyrill Gorcunov
2012-08-16 14:57 ` Cyrill Gorcunov
2012-08-16 15:05 ` Al Viro
2012-08-16 15:09 ` Cyrill Gorcunov
2012-08-16 13:43 ` Al Viro
2012-08-16 13:47 ` Pavel Emelyanov
2012-08-16 13:50 ` Al Viro
2012-08-16 13:53 ` Pavel Emelyanov
2012-08-16 13:54 ` Cyrill Gorcunov
2012-08-16 14:03 ` James Bottomley
2012-08-16 14:03 ` James Bottomley
2012-08-16 14:13 ` Pavel Emelyanov
2012-08-16 14:15 ` Cyrill Gorcunov
2012-08-16 14:41 ` Al Viro
2012-08-16 14:48 ` Cyrill Gorcunov
2012-08-16 14:54 ` J. Bruce Fields
2012-08-16 14:55 ` Al Viro
2012-08-16 15:06 ` Pavel Emelyanov
2012-08-16 15:35 ` Cyrill Gorcunov
2012-08-16 15:07 ` Cyrill Gorcunov
2012-08-17 20:58 ` Eric W. Biederman
2012-08-16 13:48 ` Al Viro
2012-08-20 14:19 ` Aneesh Kumar K.V
2012-08-20 16:33 ` Cyrill Gorcunov
2012-08-20 18:32 ` J. Bruce Fields
2012-08-20 19:06 ` Cyrill Gorcunov
2012-08-20 19:32 ` J. Bruce Fields
2012-08-20 19:40 ` Cyrill Gorcunov
2012-08-21 9:18 ` Pavel Emelyanov
2012-08-21 10:42 ` Aneesh Kumar K.V
2012-08-21 10:49 ` Pavel Emelyanov
2012-08-21 10:54 ` Cyrill Gorcunov
2012-08-21 11:09 ` Pavel Emelyanov
2012-08-21 12:11 ` J. Bruce Fields
2012-08-21 12:22 ` Pavel Emelyanov
2012-08-21 12:29 ` J. Bruce Fields
2012-08-21 12:40 ` Pavel Emelyanov
2012-08-21 12:51 ` Boaz Harrosh
2012-08-21 12:59 ` Pavel Emelyanov
2012-08-21 13:08 ` Boaz Harrosh
2012-08-21 13:12 ` Al Viro
2012-08-21 13:40 ` Cyrill Gorcunov
2012-08-21 12:09 ` J. Bruce Fields
2012-08-21 12:25 ` Pavel Emelyanov
2012-08-22 5:49 ` Aneesh Kumar K.V
2012-08-23 8:06 ` Cyrill Gorcunov
2012-08-23 8:54 ` Marco Stornelli
2012-08-23 9:29 ` Cyrill Gorcunov
2012-08-15 9:21 ` [patch 5/8] fs, notify: Add procfs fdinfo helper v3 Cyrill Gorcunov
2012-08-15 9:21 ` [patch 6/8] fs, eventfd: Add procfs fdinfo helper Cyrill Gorcunov
2012-08-15 9:21 ` [patch 7/8] fs, epoll: Add procfs fdinfo helper v2 Cyrill Gorcunov
2012-08-15 9:21 ` [patch 8/8] fdinfo: Show sigmask for signalfd fd v2 Cyrill Gorcunov
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=20120816124703.GE28054@fieldses.org \
--to=bfields@fieldses.org \
--cc=adobriyan@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=gorcunov@openvz.org \
--cc=jbottomley@parallels.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=matt.helsley@gmail.com \
--cc=viro@zeniv.linux.org.uk \
--cc=xemul@parallels.com \
/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.