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.
Quoted 72 lines · On Tue, 12 Jun 2007 09:56:34 -0700 Avantika Mathur <[email protected]>…
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_CallAttendees: 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 separatingi_versioncode from his expand-inode-size patch, and merging with the otheri_versionpatches- 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).
Quoted 6 lines
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
inode version updates
In reply to Avantika MathurQuoted 6 lines · Avantika Mathur
Ext4 Developer Interlock Call: Jun 11, 2007 Meeting Minutes
i_version:
- Kalpak will be separatingi_versioncode from his expand-inode-size patch, and merging with the otheri_versionpatches
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
Re: inode version updates
Quoted 5 lines · Mingming Cao
I took out the
i_versioncode from Kalpak's
ext4_expand_inode_extra_isize.patch.
Quoted 8 lines
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.
Quoted 5 lines
# ext4 inode version update i_version_update_ext4.patch
fs/ext4/super.c 2007-06-13 17:24:45.000000000 -0700 out: · line 2853
Quoted 9 lines
fs/ext4/super.c 2007-06-13 17:24:45.000000000 -0700 renamed from fs/ext4/super.c 2007-06-13 17:19:11.000000000 -0700 +1
-1@@ -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.
Re: inode version updates
Quoted 35 lines · Andreas Dilger
Quoted 5 lines · Mingming Cao
I took out the
i_versioncode from Kalpak's
ext4_expand_inode_extra_isize.patch.Quoted 8 lines
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.patchLooking through this, I don't understand why there are
i_versionupdates in the VFS? The comments here imply that this is only for filesystems which will never be mounted (e.g. pipefs). Havingi_versionupdates there is confusing and I don't think it helps anyone.Quoted 12 lines
# ext4 inode version update i_version_update_ext4.patchfs/ext4/super.c 2007-06-13 17:24:45.000000000 -0700 renamed from fs/ext4/super.c 2007-06-13 17:19:11.000000000 -0700 +1
-1@@ -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);
Quoted 9 lines
fs/ext4/super.c 2007-06-13 17:24:45.000000000 -0700 out: · line 2853
Quoted 2 lines
fs/ext4/super.c 2007-06-13 17:24:45.000000000 -0700 renamed from fs/ext4/super.c 2007-06-13 17:19:11.000000000 -0700 +0
-0mutex_unlock(&inode->i_mutex); return len - towrite;The change from "i_version++" to "
i_version= 1" inext4_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