linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Pavel Emelyanov <xemul@parallels.com>
To: "J. Bruce Fields" <bfields@fieldses.org>
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>,
	Cyrill Gorcunov <gorcunov@openvz.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-fsdevel@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>,
	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: Tue, 21 Aug 2012 16:25:58 +0400	[thread overview]
Message-ID: <50337E56.20808@parallels.com> (raw)
In-Reply-To: <20120821120908.GB9483@fieldses.org>

On 08/21/2012 04:09 PM, J. Bruce Fields wrote:
> On Tue, Aug 21, 2012 at 02:49:47PM +0400, Pavel Emelyanov wrote:
>> On 08/21/2012 02:42 PM, Aneesh Kumar K.V wrote:
>>> Pavel Emelyanov <xemul@parallels.com> writes:
>>>
>>>> On 08/20/2012 11:32 PM, J. Bruce Fields wrote:
>>>>> On Mon, Aug 20, 2012 at 11:06:06PM +0400, Cyrill Gorcunov wrote:
>>>>>> On Mon, Aug 20, 2012 at 02:32:25PM -0400, J. Bruce Fields wrote:
>>>>>>> On Mon, Aug 20, 2012 at 08:33:38PM +0400, Cyrill Gorcunov wrote:
>>>>>>>> On Mon, Aug 20, 2012 at 07:49:23PM +0530, Aneesh Kumar K.V wrote:
>>>>>>>>> Cyrill Gorcunov <gorcunov@openvz.org> writes:
>>>>>>>>>
>>>>>>>>>> To provide fsnotify object inodes being watched without
>>>>>>>>>> binding to alphabetical path we need to encode them with
>>>>>>>>>> exportfs help. This patch adds a helper which operates
>>>>>>>>>> with plain inodes directly.
>>>>>>>>>
>>>>>>>>> doesn't name_to_handle_at()  work for you ? It also allows to get a file
>>>>>>>>> handle using file descriptor.
>>>>>>>>
>>>>>>>> Hi, sorry for dealy. Well, the last idea is to get rid of this helper,
>>>>>>>> I've sent out an updated version where ino+dev is only printed.
>>>>>>>
>>>>>>> I don't understand how ino and dev are useful to you, though, if you're
>>>>>>> still hoping to be able to look up inodes using this information later
>>>>>>> on.
>>>>>>
>>>>>> Hi Bruce, I believe having ino+dev is better than nothing. Otherwise we
>>>>>> simply have no clue which targets are bound to inotify mark. Sometime
>>>>>> (!) we can try to generate fhandle in userspace from this ino+dev bundle
>>>>>> and then open the target file.
>>>>>
>>>>> That's insufficient to generate a filehandle in general.
>>>>
>>>> Yes, sure, but for live migration having inode and device is enough and that's why.
>>>> We can use two ways of having a filesystem on the target machine in the same
>>>> state (from paths points of view) as it was on destination one:
>>>>
>>>> 1. copy file tree in a rsync manner
>>>> 2. copy a virtual disk image file
>>>>
>>>> In the 1st case we can map inode number to path easily, since we iterate over a filesystem
> 
> OK.  Then you don't care about unlinked files?

Yes. If it's unlinked file, we can emulate this on restore with opening any path,
then unlinking it. The inode number will change, yes, but in many cases this is
acceptable trade-off.

> If the filesystem's frozen by the time you get here, I suppose you could
> also just use paths?

Sure, but where can we get the path from? This is what we're trying to resolve.

>>>> anyway. I agree, that rsync is not perfect for migration but still.
>>>>
>>>> In the 2nd case we can generate filehandle out of an inode number only since we _do_ know
>>>> that inode will not get reused.
>>>
>>> If you are going to to use open_by_handle, then that handle is not
>>> sufficient right ? Or do you have open_by_inode ? as part of c/r ?
>>
>> Why? For e.g. ext4 you can construct a handle in userspace and open by it.
> 
> If it's a real filehandle you want, in general you don't want to
> construct it in userspace--depending on the filesystem it may require
> filesystem-specific knowledge.

I see.

> --b.

Thanks,
Pavel

  reply	other threads:[~2012-08-21 12:26 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
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 [this message]
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=50337E56.20808@parallels.com \
    --to=xemul@parallels.com \
    --cc=adobriyan@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=aneesh.kumar@linux.vnet.ibm.com \
    --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).