Re: open by handle support for NFS V2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jun 30 2017, Trond Myklebust wrote:

> On Thu, 2017-06-29 at 11:46 -0400, J. Bruce Fields wrote:
>> On Thu, Jun 29, 2017 at 06:34:49AM -0700, Christoph Hellwig wrote:
>> > this resurrects parts of an old series to add open by handle
>> > support to
>> > NFS.  The prime intent here is to support the actual open by handle
>> > ioctls, although it will also allow very crude re-
>> > exporting.  Without
>> > the other patches from Jeff's series that re-exporting will suck
>> > badly
>> > though.
>> 
>> Why do we want this?
>> 
>> Any re-export support is going to have some major limitations.  (No
>> file
>> locking, and re-export of NFSv4 probably not possible?)
>> 
>> Last I heard the only motivation was extremely specific to Primary
>> Data's setup.  I'm happy to help them, but I think we need *some*
>> evidence this will be useful to upstream users.
>> 
>
> The main use case for open by filehandle was (and still should be) the
> promise of being able to do the sort of tricks you normally associate
> with object storage on a standard filesystem.
>
> Imagine that you are trying to build an application for indexing and
> searching the data on your storage. You basically want to trawl through
> the filesystem on a regular basis and build up a database of key words
> and other metadata to tell you what is in the files. For that kind of
> application, the namespace is a real PITA to deal with, because files
> get renamed, moved and deleted all the time; so if you can store
> something that is independent of the namespace and that will give you
> access to the file contents, then why wouldn't you do so? Normally,
> applications like that use the inode number, but you can't open a file
> by inode number, and you have the same problems with inode number reuse
> that a NFS server has.
>
> That's the sort of thing I'd think we want to allow through open by
> filehandle, and I see no reason why NFS should be excluded from that
> type of application.

Given that the goal, and presumably the testing, is focused on this
use-case, I wonder if we should take steps to disable the NFS-re-export
use case.
As the patch stands, I suspect that NFS re-export would appear to work,
but - as Bruce suggests - would likely hit some problems.  This might
not be a user-friendly thing to do.

Probably the ideal would be to keep re-export disabled by default, but
to allow it to be enabled using a module parameter.
I'm not sure the best way for NFS to tell nfsd that export shouldn't be
trusted.
Maybe add a "flags" field to struct export_operations, which can contain
a "No NFS export" flag ??

NeilBrown

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux