From: Pavel Emelyanov <xemul@parallels.com>
To: James Bottomley <jbottomley@parallels.com>
Cc: Cyrill Gorcunov <gorcunov@openvz.org>,
Al Viro <viro@ZenIV.linux.org.uk>,
"J. Bruce Fields" <bfields@fieldses.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
Alexey Dobriyan <adobriyan@gmail.com>,
Andrew Morton <akpm@linux-foundation.org>,
Matthew Helsley <matt.helsley@gmail.com>
Subject: Re: [patch 4/8] fs, exportfs: Add export_encode_inode_fh helper
Date: Thu, 16 Aug 2012 18:13:53 +0400 [thread overview]
Message-ID: <502D0021.5090004@parallels.com> (raw)
In-Reply-To: <1345125779.3259.50.camel@dabdike.int.hansenpartnership.com>
On 08/16/2012 06:03 PM, James Bottomley wrote:
> On Thu, 2012-08-16 at 17:54 +0400, Cyrill Gorcunov wrote:
>> On Thu, Aug 16, 2012 at 02:50:19PM +0100, Al Viro wrote:
>>> On Thu, Aug 16, 2012 at 05:47:06PM +0400, Pavel Emelyanov wrote:
>>>> On 08/16/2012 05:43 PM, Al Viro wrote:
>>>>> On Thu, Aug 16, 2012 at 04:38:14PM +0400, Cyrill Gorcunov wrote:
>>>>>
>>>>>> 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
next prev parent reply other threads:[~2012-08-16 14:13 UTC|newest]
Thread overview: 67+ 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
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:13 ` Pavel Emelyanov [this message]
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=502D0021.5090004@parallels.com \
--to=xemul@parallels.com \
--cc=adobriyan@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=bfields@fieldses.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 \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).