Re: [PATCH 2/2] nfsd: implement chage_attr_type attribute

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

 



On Wed, Nov 12, 2014 at 5:24 AM, Christoph Hellwig <hch@xxxxxx> wrote:
> On Wed, Nov 12, 2014 at 09:27:10AM +1100, Dave Chinner wrote:
>> To clarify what Christoph wrote, XFS updates i_version is updated
>> once per transaction that modifies the inode. So if a VFS level
>> operation results in multiple transactions then each transaction
>> will but the version.
>>
>> It was implemented that way because nobody could tell me what the
>> actual granularity requirement for change detection was.  Hence what
>> I implemented was "be able to detect any persistent change that is
>> made" to cover all bases.
>
> Honestly the XFS implementation seems most sensible, and easiest to
> verify for me.  I don't really understand the rationale behind the
> fairly convoluted NFS4_CHANGE_TYPE_IS_VERSION_COUNTER semantics, and
> I doubt you could actually implemet them on any Unix-like semantics.
>
> Trond, given that the language in the standard is from you:
>
>  1) how do you expect to use NFS4_CHANGE_TYPE_IS_VERSION_COUNTER
>     semantics in the client

Basically, I'd like to use it the same way that AFS does. I want to be
able to issue an RPC call which does the equivalent of a single system
call (e.g. mkdir(), write(), link(), unlink(), etc) and be able to
predict what the effect should be on the change attribute (1 increment
on the parent directory for a successful mkdir(), 1 increment on the
file for a successful write(), ...) so that I can detect if someone
else has been modifying the file/directory/symlink while I wasn't
looking and hence know when I need to invalidate my cached
metadata+data for that object.

>  2) what server do you have in mind that could actually implement them?

As I said, AFS has this kind of semantics, and the AFS client on Linux
uses them to do this kind of 3rd party change detection.

-- 
Trond Myklebust

Linux NFS client maintainer, PrimaryData

trond.myklebust@xxxxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[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