Skip to contentSkip to conversation

Ext4 devel interlock meeting minutes (June 11, 2007)

DISCUSSION Avantika Mathur 4 participants 5 messages Jun 12, 2007 – Jun 14, 2007

lore
Share & tools
lore
#0 lore raw

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.

#1 lore raw
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_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).

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

#2 lore raw

inode version updates

In reply to Avantika Mathur
Quoted 6 lines · Avantika Mathur

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

#3 lore raw

Re: inode version updates

Quoted 5 lines · Mingming Cao

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

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.

#4 lore raw

Re: inode version updates

Quoted 35 lines · Andreas Dilger
Quoted 5 lines · Mingming Cao

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

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 12 lines
# ext4 inode version update
i_version_update_ext4.patch
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);
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 -0
      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