[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <B93EA6D0-4D21-46B2-988C-A7A307EBE0B7@oracle.com>
Date: Thu, 13 May 2010 16:54:11 -0600
From: Andreas Dilger <andreas.dilger@...cle.com>
To: "Aneesh Kumar K. V" <aneesh.kumar@...ux.vnet.ibm.com>
Cc: Neil Brown <neilb@...e.de>, Christoph Hellwig <hch@...radead.org>,
Alexander Viro <viro@...iv.linux.org.uk>,
Jonathan Corbet <corbet@....net>,
Serge Hallyn <serue@...ibm.com>, linux-fsdevel@...r.kernel.org,
Steven French <sfrench@...ibm.com>,
Philippe Deniel <philippe.deniel@....FR>,
"linux-kernel\@vger.kernel.org Mailinglist"
<linux-kernel@...r.kernel.org>
Subject: Re: [PATCH -V7 3/9] vfs: Add name to file handle conversion support
On 2010-05-13, at 12:17, Aneesh Kumar K. V wrote:
> How about below interface
>
> sys_open_by_handle_at(int mountdirfd, struct file_handle *handle, int
> flags)
>
> if mountdirfd == 0
> use UUID specified in the file handle to lookup vfsmount
> else
> else use mountdirfd to get the vfsmount
fd = 0 is a valid descriptor, though -1 is not. I'd be OK with this, because it still means we can use the UUID to positively identify the filesystem (it would also avoid the need to do a by-UUID lookup in most cases, since the dirfd would already point to a filesystem and we can just compare the handle UUID with the UUID for that superblock.
The question is what to do if the UUID in the file handle does not match the filesystem that is passed via vfsmount? It would seem that vfsmount is needed for determining the namespace and possibly disambiguating multiple mounts of snapshots with the same UUID. Independent of that if the UUID is not matching the underlying filesystem that the vfsmount is pointing to the open should fail with -ESTALE.
If the UUID is not the same, then the chance that the inode/generation stored in the file handle are still useful is slim. If someone is cloning the filesystem down to the inode number, then they can clone the UUID as well.
In summary, I'm OK with this approach.
Cheers, Andreas
--
Andreas Dilger
Lustre Technical Lead
Oracle Corporation Canada Inc.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists