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

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

From: Pavel Emelyanov <hidden>
Date: 2012-08-16 14:13:53
Also in: lkml

On 08/16/2012 06:03 PM, James Bottomley wrote:
On Thu, 2012-08-16 at 17:54 +0400, Cyrill Gorcunov wrote:
quoted
On Thu, Aug 16, 2012 at 02:50:19PM +0100, Al Viro wrote:
quoted
On Thu, Aug 16, 2012 at 05:47:06PM +0400, Pavel Emelyanov wrote:
quoted
On 08/16/2012 05:43 PM, Al Viro wrote:
quoted
On Thu, Aug 16, 2012 at 04:38:14PM +0400, Cyrill Gorcunov wrote:
quoted
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". Which doesn't
look for me anyhow better than the new export_encode_inode_fh helper.
Huh?  You do have dentries, for crying out loud...
Sometimes we don't -- the inotify thing gets an inode only.
Unlike other notifies that have dentries at hands...
What's wrong with saying "we don't support idiotify"?
Al, we need some way to restore inotifies after checkpoint.
At the very early versions of these patches I simply added
dentry to the inotify mark thus once inotify created we always
have a dentry to refer on in encode_fh, but I'm not sure if
this will be good design.
Actually, I was about to suggest this.  This can be done internally
within fs/notify without actually modifying the syscall interface, can't
it, since they take a path which is used to obtain the inode?  It looks
like the whole of the inotify interface could be internally recast to
use dentries instead of inodes.  Unless I've missed something obvious?
This will change the observable by userspace behavior. Various apps inotify a
file, then rename/unlink/link it or do tricks with mounts container the file.
And it works one way if the dentry+mount reference is 0 (now) and some other
way if it's not (after the proposed change).

The dentries-related behavior is especially bad on NFS with its silly-renames
decisions based on dentry reference counters. The mount-related one is bad in
general.

I'm saying this, because we were facing such problems at approx. once-a-week
rate when we did this in OpenVZ :(
James
Thanks,
Pavel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help