public inbox for linux-ext4@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC] [patch 0/3] i_version update for ext4
@ 2007-01-23 17:23 Cordenner jean noel
  2007-01-23 18:46 ` Andreas Dilger
  0 siblings, 1 reply; 6+ messages in thread
From: Cordenner jean noel @ 2007-01-23 17:23 UTC (permalink / raw)
  To: linux-ext4; +Cc: nfsv4

Hello,

I've updated what was previously the change attribute patch for ext4 
initially posted by Alexandre Ratchov. The previous patch was 
introducing a change_attribute field, now it uses the i_version field of 
the inode.

The i_version field is a counter that is set on every inode creation and 
that is incremented every time the inode data is modified (similarly to 
the "ctime" time-stamp).
The aim is to fulfill NFSv4 requirements for rfc3530.
For the moent, the counter is only a 32bit value but it is planned to be 
64bit as required.

The patch is divided into 3 parts, the vfs layer, the ext4 specific code 
and an user part to check i_version changes via stat.


Any comments are welcome.

regards,
Jean noel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [RFC] [patch 0/3] i_version update for ext4
  2007-01-23 17:23 [RFC] [patch 0/3] i_version update for ext4 Cordenner jean noel
@ 2007-01-23 18:46 ` Andreas Dilger
  2007-01-24 14:12   ` Cordenner jean noel
  0 siblings, 1 reply; 6+ messages in thread
From: Andreas Dilger @ 2007-01-23 18:46 UTC (permalink / raw)
  To: Cordenner jean noel; +Cc: linux-ext4, nfsv4

On Jan 23, 2007  18:23 +0100, Cordenner jean noel wrote:
> I've updated what was previously the change attribute patch for ext4 
> initially posted by Alexandre Ratchov. The previous patch was 
> introducing a change_attribute field, now it uses the i_version field of 
> the inode.
> 
> The i_version field is a counter that is set on every inode creation and 
> that is incremented every time the inode data is modified (similarly to 
> the "ctime" time-stamp).
> The aim is to fulfill NFSv4 requirements for rfc3530.
> For the moent, the counter is only a 32bit value but it is planned to be 
> 64bit as required.
> 
> The patch is divided into 3 parts, the vfs layer, the ext4 specific code 
> and an user part to check i_version changes via stat.

Have you had a chance to look at the performance impact of this change
(possible with oprofile)?  Always marking the inodes dirty for ext3
may have some noticable overhead.

Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [RFC] [patch 0/3] i_version update for ext4
  2007-01-23 18:46 ` Andreas Dilger
@ 2007-01-24 14:12   ` Cordenner jean noel
  2007-01-24 17:40     ` Mingming Cao
  0 siblings, 1 reply; 6+ messages in thread
From: Cordenner jean noel @ 2007-01-24 14:12 UTC (permalink / raw)
  To: Andreas Dilger; +Cc: linux-ext4, nfsv4

Andreas Dilger a écrit :
> On Jan 23, 2007  18:23 +0100, Cordenner jean noel wrote:
>> I've updated what was previously the change attribute patch for ext4 
>> initially posted by Alexandre Ratchov. The previous patch was 
>> introducing a change_attribute field, now it uses the i_version field of 
>> the inode.
>>
>> The i_version field is a counter that is set on every inode creation and 
>> that is incremented every time the inode data is modified (similarly to 
>> the "ctime" time-stamp).
>> The aim is to fulfill NFSv4 requirements for rfc3530.
>> For the moent, the counter is only a 32bit value but it is planned to be 
>> 64bit as required.
>>
>> The patch is divided into 3 parts, the vfs layer, the ext4 specific code 
>> and an user part to check i_version changes via stat.
> 
> Have you had a chance to look at the performance impact of this change
> (possible with oprofile)?  Always marking the inodes dirty for ext3
> may have some noticable overhead.
>

I did some tests using fileop with the previous version of the patch 
which was very similar. I was surprised that there was no noticable 
overhead:
  http://www.bullopensource.org/ext4/change_attribute/index.html

I will use oprofile to check it again.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [RFC] [patch 0/3] i_version update for ext4
  2007-01-24 14:12   ` Cordenner jean noel
@ 2007-01-24 17:40     ` Mingming Cao
  2007-01-24 18:06       ` J. Bruce Fields
  2007-01-24 18:12       ` Trond Myklebust
  0 siblings, 2 replies; 6+ messages in thread
From: Mingming Cao @ 2007-01-24 17:40 UTC (permalink / raw)
  To: Cordenner jean noel; +Cc: Andreas Dilger, linux-ext4, nfsv4

Cordenner jean noel wrote:
> Andreas Dilger a écrit :
> 
>> On Jan 23, 2007  18:23 +0100, Cordenner jean noel wrote:
>>
>>> I've updated what was previously the change attribute patch for ext4
>>> initially posted by Alexandre Ratchov. The previous patch was
>>> introducing a change_attribute field, now it uses the i_version field of
>>> the inode.
>>>
>>> The i_version field is a counter that is set on every inode creation and
>>> that is incremented every time the inode data is modified (similarly to
>>> the "ctime" time-stamp).
>>> The aim is to fulfill NFSv4 requirements for rfc3530.
>>> For the moent, the counter is only a 32bit value but it is planned to be
>>> 64bit as required.
>>>
>>> The patch is divided into 3 parts, the vfs layer, the ext4 specific code
>>> and an user part to check i_version changes via stat.
>>
>>
>> Have you had a chance to look at the performance impact of this change
>> (possible with oprofile)?  Always marking the inodes dirty for ext3
>> may have some noticable overhead.
>>
> 
> I did some tests using fileop with the previous version of the patch
> which was very similar. I was surprised that there was no noticable
> overhead:
>  http://www.bullopensource.org/ext4/change_attribute/index.html
> 
> I will use oprofile to check it again.

Could we just increment the counter each time the mtime is modifies(not 
the ctime)? Is that enough to serve NFSv4 need?
> -
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [RFC] [patch 0/3] i_version update for ext4
  2007-01-24 17:40     ` Mingming Cao
@ 2007-01-24 18:06       ` J. Bruce Fields
  2007-01-24 18:12       ` Trond Myklebust
  1 sibling, 0 replies; 6+ messages in thread
From: J. Bruce Fields @ 2007-01-24 18:06 UTC (permalink / raw)
  To: Mingming Cao; +Cc: linux-ext4, nfsv4, Cordenner jean noel, Andreas Dilger

On Wed, Jan 24, 2007 at 09:40:34AM -0800, Mingming Cao wrote:
> Could we just increment the counter each time the mtime is modifies(not 
> the ctime)? Is that enough to serve NFSv4 need?

No, the NFSv4 change attribute is also supposed to change on metadata
updates.

--b.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [RFC] [patch 0/3] i_version update for ext4
  2007-01-24 17:40     ` Mingming Cao
  2007-01-24 18:06       ` J. Bruce Fields
@ 2007-01-24 18:12       ` Trond Myklebust
  1 sibling, 0 replies; 6+ messages in thread
From: Trond Myklebust @ 2007-01-24 18:12 UTC (permalink / raw)
  To: Mingming Cao; +Cc: linux-ext4, nfsv4, Cordenner jean noel, Andreas Dilger

On Wed, 2007-01-24 at 09:40 -0800, Mingming Cao wrote:
> Cordenner jean noel wrote:
> > Andreas Dilger a écrit :
> > 
> >> On Jan 23, 2007  18:23 +0100, Cordenner jean noel wrote:
> >>
> >>> I've updated what was previously the change attribute patch for ext4
> >>> initially posted by Alexandre Ratchov. The previous patch was
> >>> introducing a change_attribute field, now it uses the i_version field of
> >>> the inode.
> >>>
> >>> The i_version field is a counter that is set on every inode creation and
> >>> that is incremented every time the inode data is modified (similarly to
> >>> the "ctime" time-stamp).
> >>> The aim is to fulfill NFSv4 requirements for rfc3530.
> >>> For the moent, the counter is only a 32bit value but it is planned to be
> >>> 64bit as required.
> >>>
> >>> The patch is divided into 3 parts, the vfs layer, the ext4 specific code
> >>> and an user part to check i_version changes via stat.
> >>
> >>
> >> Have you had a chance to look at the performance impact of this change
> >> (possible with oprofile)?  Always marking the inodes dirty for ext3
> >> may have some noticable overhead.
> >>
> > 
> > I did some tests using fileop with the previous version of the patch
> > which was very similar. I was surprised that there was no noticable
> > overhead:
> >  http://www.bullopensource.org/ext4/change_attribute/index.html
> > 
> > I will use oprofile to check it again.
> 
> Could we just increment the counter each time the mtime is modifies(not 
> the ctime)? Is that enough to serve NFSv4 need?

No. That would not conform to RFC3530:

5.5.  Mandatory Attributes - Definitions

   Name              #    DataType     Access   Description
   ___________________________________________________________________

.....

   change            3    uint64       READ     A value created by the
                                                server that the client
                                                can use to determine
                                                if file data,
                                                directory contents or
                                                attributes of the
                                                object have been
                                                modified.  The server
                                                may return the
                                                object's time_metadata
                                                attribute for this
                                                attribute's value but
                                                only if the filesystem
                                                object can not be
                                                updated more
                                                frequently than the
                                                resolution of
                                                time_metadata.

so the change attribute needs to change on both data and metadata
updates.

Cheers,
  Trond

_______________________________________________
NFSv4 mailing list
NFSv4@linux-nfs.org
http://linux-nfs.org/cgi-bin/mailman/listinfo/nfsv4

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2007-01-24 18:12 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-01-23 17:23 [RFC] [patch 0/3] i_version update for ext4 Cordenner jean noel
2007-01-23 18:46 ` Andreas Dilger
2007-01-24 14:12   ` Cordenner jean noel
2007-01-24 17:40     ` Mingming Cao
2007-01-24 18:06       ` J. Bruce Fields
2007-01-24 18:12       ` Trond Myklebust

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox