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

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

 



On Tue, Nov 11, 2014 at 5:27 AM, Christoph Hellwig <hch@xxxxxx> wrote:
> On Mon, Nov 10, 2014 at 12:54:24PM -0500, J. Bruce Fields wrote:
>> Shouldn't that be NFS4_CHANGE_TYPE_IS_MONOTONIC_INCR?
>>
>> The draft says that e.g. "If the client sees
>> NFS4_CHANGE_TYPE_IS_VERSION_COUNTER, it has the ability to predict what
>> the resulting change attribute value should be after a COMPOUND
>> containing a SETATTR, WRITE, or CREATE."
>>
>> Admittedly, I'm not completely sure what that means.  (Is a SETATTR of
>> multiple attributes a single atomic change?  Can we predict the change
>> attribute on a newly created file, or only on the parent directory?)  I
>> also don't know where the filesystems do the i_version increment (can we
>> guarantee it happens once per nfs WRITE?).
>
> Actually the server may increment it many times for a single WRITE,
> for XFS it is incremented for each dirty transaction, which could
> happen many times during a single write:
>
>  (1) c/mtime update
>  (2) suid/sgid bit removal
>  (3) block allocation (could be multiple transactions)
>
>
> So I guess we really should move to NFS4_CHANGE_TYPE_IS_MONOTONIC_INCR
> instead.

Agreed.

Just out of curiosity, though, why does XFS update i_version on every
block allocation? For NFSv4 compatibility, it really should suffice
for it to just do the update once in the above case. Did Lustre have
more stringent requirements?

-- 
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