2007-06-12 16:56:32

by Avantika Mathur

[permalink] [raw]
Subject: Ext4 devel interlock meeting minutes (June 11, 2007)

Ext4 Developer Interlock Call: Jun 11, 2007 Meeting Minutes

Minutes can be accessed at:
http://ext4.wiki.kernel.org/index.php/Ext4_Developer%27s_Conference_Call

Attendees: Mingming Cao, Ted T'so, Dave Kleikamp, Takashi Sato, Suparna
Bhattacharya, Jose Santos, Andreas Dilger, Avantika Mathur

EXT4 GIT TREE
- We need to start preparing patches to be moved upstream. This
includes final review and formatting comments properly for merging to
Linux.

- For those with access to the git tree, they can modify their patches
directly. Otherwise this will be done on the mailing list, and Ted,
Mingming or Shaggy will update the tree.

- Ted suggested that we run the checkpatch.pl script (that was posted on
lkml and is now in mainline) against all new patches in the git tree.
The output can then be posted on the ext4 mailing list, and the authors
can fix any problems with their patches. He encourages everyone to run
the script on patches before posting, to prevent comments on small issues.

- Each time the git tree is updated a set of tests is automatically run
to test for regressions.

- The plan is to move as many patches as possible to mainline once
2.6.22 is released

PATCHES
- Extents on by default: Ted suggested updating this patch, so that
extents feature is on by default only if the extents incompat feature is
turned on. It was decided that for EXT4DEV, extents will always be on
by default, and when we move to Ext4, extents will only be defaulted
with the feature is turned on. Another choice is to make extents a
config option.

- Mingming will add Jose's JBD2 patches to the patch queue, as long as
there are no remaining comments on the list.

- Preallocation: The fallocate system call has been finalized, with no
remaining issues. David Chinner had said he would write a man page for
the system call; this should be added to the patches.

- Online Defragmentation: Takashi will send out his new patches this
weekend.

- delayed allocation: These patches are ready to move to mainline,
except for an outstanding request from Andrew for more comments.
Mingming will ping Alex to see what the status is.

- Journal Checksumming: These patches are broken on ppc machines.
Andreas is working on fixing the endian-ness of the checksums.

- Uninitialized Block Group: Andreas will post an inter-diff to the
ported patches Avantika posted.

- nanosecond timestamp and subdir-limit patches are ready to push upstream.

i_version:
- Kalpak will be separating i_version code from his expand-inode-size
patch, and merging with the other i_version patches

- Mingming will respond to last week's meeting minutes asking Trond what
he thinks of implementing this feature in the VFS. If Trond is ok with
the feature as is, it will be ready to push.

- Steve French who works on Samba and CIFS has shown interest in this
feature, particularly in having it exported to userspace (preferrably
not using xattrs).


E2fsprogs:
- Ted plans to get 1.40 out soon. He will then move the tree to git,
and work to get all of the extents patches integrated.

- Mingming will be rebasing and re-ordering the git tree, based on
today's discussions.


2007-06-13 01:48:40

by Jose R. Santos

[permalink] [raw]
Subject: Re: Ext4 devel interlock meeting minutes (June 11, 2007)

On Tue, 12 Jun 2007 09:56:34 -0700
Avantika Mathur <[email protected]> wrote:

> Ext4 Developer Interlock Call: Jun 11, 2007 Meeting Minutes
>
> Minutes can be accessed at:
> http://ext4.wiki.kernel.org/index.php/Ext4_Developer%27s_Conference_Call
>
> Attendees: Mingming Cao, Ted T'so, Dave Kleikamp, Takashi Sato, Suparna
> Bhattacharya, Jose Santos, Andreas Dilger, Avantika Mathur
>
> EXT4 GIT TREE
> - We need to start preparing patches to be moved upstream. This
> includes final review and formatting comments properly for merging to
> Linux.
>
> - For those with access to the git tree, they can modify their patches
> directly. Otherwise this will be done on the mailing list, and Ted,
> Mingming or Shaggy will update the tree.
>
> - Ted suggested that we run the checkpatch.pl script (that was posted on
> lkml and is now in mainline) against all new patches in the git tree.
> The output can then be posted on the ext4 mailing list, and the authors
> can fix any problems with their patches. He encourages everyone to run
> the script on patches before posting, to prevent comments on small issues.
>
> - Each time the git tree is updated a set of tests is automatically run
> to test for regressions.
>
> - The plan is to move as many patches as possible to mainline once
> 2.6.22 is released
>
> PATCHES
> - Extents on by default: Ted suggested updating this patch, so that
> extents feature is on by default only if the extents incompat feature is
> turned on. It was decided that for EXT4DEV, extents will always be on
> by default, and when we move to Ext4, extents will only be defaulted
> with the feature is turned on. Another choice is to make extents a
> config option.
>
> - Mingming will add Jose's JBD2 patches to the patch queue, as long as
> there are no remaining comments on the list.
>
> - Preallocation: The fallocate system call has been finalized, with no
> remaining issues. David Chinner had said he would write a man page for
> the system call; this should be added to the patches.
>
> - Online Defragmentation: Takashi will send out his new patches this
> weekend.
>
> - delayed allocation: These patches are ready to move to mainline,
> except for an outstanding request from Andrew for more comments.
> Mingming will ping Alex to see what the status is.
>
> - Journal Checksumming: These patches are broken on ppc machines.
> Andreas is working on fixing the endian-ness of the checksums.
>
> - Uninitialized Block Group: Andreas will post an inter-diff to the
> ported patches Avantika posted.
>
> - nanosecond timestamp and subdir-limit patches are ready to push upstream.
>
> i_version:
> - Kalpak will be separating i_version code from his expand-inode-size
> patch, and merging with the other i_version patches
>
> - Mingming will respond to last week's meeting minutes asking Trond what
> he thinks of implementing this feature in the VFS. If Trond is ok with
> the feature as is, it will be ready to push.
>
> - Steve French who works on Samba and CIFS has shown interest in this
> feature, particularly in having it exported to userspace (preferrably
> not using xattrs).
>
>
> E2fsprogs:
> - Ted plans to get 1.40 out soon. He will then move the tree to git,
> and work to get all of the extents patches integrated.
>
> - Mingming will be rebasing and re-ordering the git tree, based on
> today's discussions.

There was also the discussion on whether the JBD stats patch should be
changed to use debugfs or remain using procfs. There seems to be
compelling reasons for using both methods but it looks like there
needed to be consensus before pushing the patch for inclusion.

-JRS

2007-06-14 01:02:50

by Mingming Cao

[permalink] [raw]
Subject: inode version updates

On Tue, 2007-06-12 at 09:56 -0700, Avantika Mathur wrote:
> Ext4 Developer Interlock Call: Jun 11, 2007 Meeting Minutes

> i_version:
> - Kalpak will be separating i_version code from his expand-inode-size
> patch, and merging with the other i_version patches
>
I took out the i_version code from Kalpak's
ext4_expand_inode_extra_isize.patch.

http://repo.or.cz/w/ext4-patch-queue.git?
a=blob;f=ext4_i_version_hi_2.patch;h=4519dd6540a78cadd235dad68248456d59c3384c;hb=8b956b5c5ccc3731f23fbce8d036b21f378fbdec

Added Jean noel's inode version VFS patch and Ext4 patches. Now the full
inode version patch series can be found at ext4 patch queue:

# inode verion patch series
# inode versioning is needed for NFSv4

# vfs changes, 64 bit inode->i_version
i_version_update_vfs.patch
# reserve hi 32 bit inode version on ext4 on-disk inode
i_version_hi.patch
# ext4 inode version read/store
ext4_i_version_hi_2.patch
# ext4 inode version update
i_version_update_ext4.patch



Please Ack.

Thanks,
Mingming

2007-06-14 09:54:01

by Andreas Dilger

[permalink] [raw]
Subject: Re: inode version updates

Mingming Cao <[email protected]> writes:
> I took out the i_version code from Kalpak's
> ext4_expand_inode_extra_isize.patch.
>
> http://repo.or.cz/w/ext4-patch-queue.git?a=blob;f=ext4_i_version_hi_2.patch;h=4519dd6540a78cadd235dad68248456d59c3384c;hb=8b956b5c5ccc3731f23fbce8d036b21f378fbdec
>
> Added Jean noel's inode version VFS patch and Ext4 patches. Now the full
> inode version patch series can be found at ext4 patch queue:
>
> # inode verion patch series
> # inode versioning is needed for NFSv4
>
> # vfs changes, 64 bit inode->i_version
> i_version_update_vfs.patch

Looking through this, I don't understand why there are i_version updates
in the VFS? The comments here imply that this is only for filesystems
which will never be mounted (e.g. pipefs). Having i_version updates there
is confusing and I don't think it helps anyone.

> # ext4 inode version update
> i_version_update_ext4.patch
> --- linux-2.6.22-rc4.orig/fs/ext4/super.c 2007-06-13 17:19:11.000000000 -0700
> +++ linux-2.6.22-rc4/fs/ext4/super.c 2007-06-13 17:24:45.000000000 -0700
> @@ -2846,8 +2846,8 @@ out:
> i_size_write(inode, off+len-towrite);
> EXT4_I(inode)->i_disksize = inode->i_size;
> }
>- inode->i_version++;
> inode->i_mtime = inode->i_ctime = CURRENT_TIME;
>+ inode->i_version = 1;
> ext4_mark_inode_dirty(handle, inode);
> mutex_unlock(&inode->i_mutex);
> return len - towrite;

The change from "i_version++" to "i_version = 1" in ext4_update_quota()
is confusing. Why was this change made? If there is a good reason why
the inode version stays at 1 for the quota file, maybe it deserves
a comment explaining it.


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

2007-06-14 17:22:10

by Mingming Cao

[permalink] [raw]
Subject: Re: inode version updates

Andreas Dilger wrote:
> Mingming Cao <[email protected]> writes:
>
>>I took out the i_version code from Kalpak's
>>ext4_expand_inode_extra_isize.patch.
>>
>>http://repo.or.cz/w/ext4-patch-queue.git?a=blob;f=ext4_i_version_hi_2.patch;h=4519dd6540a78cadd235dad68248456d59c3384c;hb=8b956b5c5ccc3731f23fbce8d036b21f378fbdec
>>
>>Added Jean noel's inode version VFS patch and Ext4 patches. Now the full
>>inode version patch series can be found at ext4 patch queue:
>>
>># inode verion patch series
>># inode versioning is needed for NFSv4
>>
>># vfs changes, 64 bit inode->i_version
>>i_version_update_vfs.patch
>
>
> Looking through this, I don't understand why there are i_version updates
> in the VFS? The comments here imply that this is only for filesystems
> which will never be mounted (e.g. pipefs). Having i_version updates there
> is confusing and I don't think it helps anyone.
>
>
>># ext4 inode version update
>>i_version_update_ext4.patch
>>--- linux-2.6.22-rc4.orig/fs/ext4/super.c 2007-06-13 17:19:11.000000000 -0700
>>+++ linux-2.6.22-rc4/fs/ext4/super.c 2007-06-13 17:24:45.000000000 -0700
>>@@ -2846,8 +2846,8 @@ out:
>> i_size_write(inode, off+len-towrite);
>> EXT4_I(inode)->i_disksize = inode->i_size;
>> }
>>- inode->i_version++;
>> inode->i_mtime = inode->i_ctime = CURRENT_TIME;
>>+ inode->i_version = 1;
>> ext4_mark_inode_dirty(handle, inode);
>> mutex_unlock(&inode->i_mutex);
>> return len - towrite;
>
>
> The change from "i_version++" to "i_version = 1" in ext4_update_quota()
> is confusing. Why was this change made? If there is a good reason why
> the inode version stays at 1 for the quota file, maybe it deserves
> a comment explaining it.
>

I agree with both of your comments.

Mingming