Thread (66 messages) 66 messages, 8 authors, 2012-08-23

Re: [patch 4/8] fs, exportfs: Add export_encode_inode_fh helper

From: J. Bruce Fields <hidden>
Date: 2012-08-21 12:29:08
Also in: lkml

On Tue, Aug 21, 2012 at 04:22:31PM +0400, Pavel Emelyanov wrote:
On 08/21/2012 04:11 PM, J. Bruce Fields wrote:
quoted
On Tue, Aug 21, 2012 at 03:09:05PM +0400, Pavel Emelyanov wrote:
quoted
On 08/21/2012 02:54 PM, Cyrill Gorcunov wrote:
quoted
On Tue, Aug 21, 2012 at 02:49:47PM +0400, Pavel Emelyanov wrote:
quoted
quoted
quoted
However, if you have some better ideas on what information about inode should be exported
to the userspace please share.
Why not use name_to_handle(fd,...) and open_by_handle(handle,..) ?
Because we don't have an fd at hands by the time we need to know the handle.
Yeah, this might be not clear from patchset itself but inotify marks carry
inodes inside kernel thus it's inodes what we can use when we fetch information
about targets and put it into fdinfo output.
Al, Bruce, Aneesh,

What if we calculate the handle at the time we do have struct path at hands (i.e.
when we create the inotify) and store it on the inotify structure purely to be 
shown later in proc. Would that be acceptable?
Was it the lack of a dentry that was really the problem?  I thought it
was just the fact that not all filesystems support filehandles.
Initial problem -- we don't know what is being watched by an inotify fd.

Having a dentry somewhere was the 1st attempt to solve this -- keep a path
in inotify and show it when required. It doesn't work since holding a ref on
path changes the behavior of watched inode (we cannot rename/unlink/remount
it the same way as we could before patching the kernel).
OK.  So if you don't mind the fact that there are filesystems with
inotify support but not filehandle support, then I think generating a
filehandle early as you describe would work.  I guess it's a little more
memory per watched inode.

--b.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help