Re: [GIT PULL] ext4 update
On Tue, Jan 29, 2008 at 10:54:03PM +0100, Jan Engelhardt wrote: > > On Jan 29 2008 07:53, Theodore Tso wrote: > > > >>fwiw, diffstat is confused by git's diff output; you need to use > >>'diffstat -p1' > > I am seeing normal behavior: > > 22:52 sovereign:~/linux > git diff HEAD | diffstat That's because you are doing a diff stat of changes that haven't been checked in yet. I was doing a "git log -p origin.. | diffstat -p1", and in that incantation you definitely do need the -p1 to diffstat. - Ted - To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
2.6.24-git6-ext4-1 patchset released
I've just released 2.6.24-git6-ext4-1. It removes the patches that have been pulled into mainline by Linus, and adds the unlocked ioctl patches from Andi Kleen, and Eric's patch to allow the root inode to use in-inode EA's. As a git tree: git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git 2.6.24-git6-ext4-1 http://git.kernel.org/?p=linux/kernel/git/tytso/ext4.git;a=shortlog;h=2.6.24-git6-ext4-1 As a patchset: ftp://ftp.kernel.org/pub/linux/kernel/people/tytso/ext4-patches/2.6.24-git6-ext4-1 - Ted What's now in the ext4 tree: Akira Fujita (4): ext4: online defrad header file changes ext4: online defrag-- Allocate new contiguous blocks with mballoc ext4: online defrag -- Move the file data to the new blocks Free space fragmentation functions Alex Tomas (2): vfs: add basic delayed allocation support ext4: Add basic delayed allocation support Andi Kleen (7): Convert ext2 over to use unlocked_ioctl Remove incorrect BKL comment in ext2 Convert ext3 to use unlocked_ioctl v2 ext3: Remove incorrect BKL comment Remove incorrect comment refering to lock_kernel() from jbd/jbd2 Convert ext4 to use unlocked_ioctl v2 Remove incorrect BKL comments in ext4 Aneesh Kumar K.V (2): ext4: Enable delalloc and mballoc by default. ext4: Show delalloc options Eric Sandeen (1): allow in-inode EAs on ext4 root inode Mingming Cao (2): jbd: blocks reservation fix for large block support jbd2: blocks reservation fix for large block support Theodore Ts'o (2): patch test-filesys-flag.patch ext4: New inode allocation for FLEX_BG meta-data groups. fs/buffer.c |3 fs/ext2/dir.c |2 fs/ext2/ext2.h |3 fs/ext2/file.c |4 fs/ext2/inode.c |1 fs/ext2/ioctl.c | 12 fs/ext3/dir.c |4 fs/ext3/file.c |2 fs/ext3/ioctl.c | 12 fs/ext4/Makefile|2 fs/ext4/balloc.c| 28 fs/ext4/defrag.c| 2206 fs/ext4/dir.c |4 fs/ext4/extents.c | 67 - fs/ext4/file.c |2 fs/ext4/ialloc.c| 96 + fs/ext4/inode.c | 174 ++- fs/ext4/ioctl.c | 25 fs/ext4/mballoc.c |7 fs/ext4/super.c | 91 + fs/jbd/journal.c|7 fs/jbd/recovery.c |2 fs/jbd2/journal.c |7 fs/jbd2/recovery.c |2 fs/mpage.c | 406 +++ include/linux/ext3_fs.h |3 include/linux/ext4_fs.h | 107 + include/linux/ext4_fs_extents.h | 22 include/linux/ext4_fs_sb.h |3 include/linux/mpage.h |2 30 files changed, 3220 insertions(+), 86 deletions(-) - To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] allow in-inode EAs on ext4 root inode
Thanks, I've included this into the ext4 patch queue and into the 2.6.24-git6-ext4-1 tree. - Ted - To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] [0/7] Drop BKL in ext[234] ioctls
On Mon, Jan 28, 2008 at 11:16:09AM +0100, Andi Kleen wrote: > > Remove the BKL from the ext* ioctls. > > This is a slightly updated version of the ext[2-4] patches that hit > linux-fsdevel earlier. Thanks, I've included these patches into the ext4 tree, and should hopefully be pulled into the next -mm tree. - Ted - To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH e2fsprogs] print "mostly-printable" xattr strings in debugfs
Taking a cue from getfattr... if a string is "mostly" printable characters, go ahead & print as a string, and escape what's left over. so we get: Extended attributes stored in inode body: selinux = "system_u:object_r:root_t:s0\000" (28) instead of: Extended attributes stored in inode body: selinux = "73 79 73 74 65 6d 5f 75 3a 6f 62 6a 65 63 74 5f 72 3a 72 6f 6f 74 5f 74 3a 73 30 00 " (28) (selinux includes the trailing null in "len" so it never prints as a string today) Signed-off-by: Eric Sandeen <[EMAIL PROTECTED]> --- Index: e2fsprogs-1.40.5/debugfs/debugfs.c === --- e2fsprogs-1.40.5.orig/debugfs/debugfs.c +++ e2fsprogs-1.40.5/debugfs/debugfs.c @@ -434,19 +434,21 @@ static int list_blocks_proc(ext2_filsys static void dump_xattr_string(FILE *out, const char *str, int len) { - int printable = 1; + int printable = 0; int i; - /* check is string printable? */ + /* check: is string "printable enough?" */ for (i = 0; i < len; i++) - if (!isprint(str[i])) { - printable = 0; - break; - } + if (isprint(str[i])) + printable++; + + if (printable <= len*7/8) + printable = 0; for (i = 0; i < len; i++) if (printable) - fprintf(out, "%c", (unsigned char)str[i]); + fprintf(out, isprint(str[i]) ? "%c" : "\\%03o", + (unsigned char)str[i]); else fprintf(out, "%02x ", (unsigned char)str[i]); } - To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [GIT PULL] ext4 update
On Jan 29 2008 07:53, Theodore Tso wrote: > >>fwiw, diffstat is confused by git's diff output; you need to use >>'diffstat -p1' I am seeing normal behavior: 22:52 sovereign:~/linux > git status # On branch dev-pcidata-dvb # Changes to be committed: # (use "git reset HEAD ..." to unstage) # # modified: drivers/media/dvb/b2c2/flexcop-pci.c # modified: drivers/media/dvb/ttpci/av7110.c # modified: drivers/media/dvb/ttpci/budget-av.c # modified: drivers/media/dvb/ttpci/budget-ci.c # modified: drivers/media/dvb/ttpci/budget-patch.c # modified: drivers/media/dvb/ttpci/budget.c # modified: drivers/media/radio/radio-gemtek-pci.c # modified: drivers/media/radio/radio-maestro.c # modified: drivers/media/radio/radio-maxiradio.c # modified: drivers/media/video/bt8xx/bttv-driver.c # modified: drivers/media/video/cafe_ccic.c # modified: drivers/media/video/cx23885/cx23885-core.c # modified: drivers/media/video/cx88/cx88-mpeg.c # modified: drivers/media/video/cx88/cx88-video.c # modified: drivers/media/video/dpc7146.c # modified: drivers/media/video/hexium_gemini.c # modified: drivers/media/video/hexium_orion.c # modified: drivers/media/video/meye.c # modified: drivers/media/video/mxb.c # modified: drivers/media/video/saa7134/saa7134-cards.c # modified: drivers/media/video/stradis.c # modified: drivers/media/video/zoran_card.c # 22:52 sovereign:~/linux > git diff HEAD | diffstat dvb/b2c2/flexcop-pci.c|2 +- dvb/ttpci/av7110.c|4 ++-- dvb/ttpci/budget-av.c |2 +- dvb/ttpci/budget-ci.c |4 ++-- dvb/ttpci/budget-patch.c |2 +- dvb/ttpci/budget.c|2 +- radio/radio-gemtek-pci.c |3 +-- radio/radio-maestro.c |2 +- radio/radio-maxiradio.c |2 +- video/bt8xx/bttv-driver.c |2 +- video/cafe_ccic.c |2 +- video/cx23885/cx23885-core.c |2 +- video/cx88/cx88-mpeg.c|2 +- video/cx88/cx88-video.c |2 +- video/dpc7146.c |4 ++-- video/hexium_gemini.c |4 ++-- video/hexium_orion.c |4 ++-- video/meye.c |2 +- video/mxb.c |4 ++-- video/saa7134/saa7134-cards.c |2 +- video/stradis.c |2 +- video/zoran_card.c|2 +- 22 files changed, 28 insertions(+), 29 deletions(-) - To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Integrating patches in SLES10 e2fsprogs
On Jan 28, 2008 10:54 -0600, Eric Sandeen wrote: > Theodore Tso wrote: > > On Mon, Jan 28, 2008 at 04:26:53PM +0100, Matthias Koenig wrote: > >>> Patch6: e2fsprogs-mdraid.patch > >>> > >>> This apparently adds a new environment variable, > >>> BLKID_SKIP_CHECK_MDRAID, which forces blkid to not detect mdraid > >>> devices. I'm not sure why. > >> Workaround for people having stale RAID signature on their disk: > >> https://bugzilla.novell.com/show_bug.cgi?id=100530 > > > > Hmm... there's got to be a better way around this. > > Won't help existing block devices, but it'd be nice to have a common > library which could be called @ mkfs time to wipe out all known > signatures... > > mkfs.xfs tries to do this, but it'd be silly to duplicate in every mkfs. Well, blkid already has a way to _detect_ a lot of filesystem signatures, so it might be relatively easy to exploit the type_array[] entries to have it zap out all of these blocks. That said, the majority of them are in the first 68kB of the filesystem (mdraid excluded) so it shouldn't be too hard to zero them out. Let's hope nobody ever uses "0x" as magic. mke2fs already tries to do this, though I notice: - the zap_sector() call will skip the entire write if there is a BSD bootblock, instead of skipping only the first sector(s) and overwriting the rest... Since I don't know much about BSD bootblocks, I don't know what the right behaviour is, but I can guess we still want to zero out 4-68kB (or whatever). - it only overwrites up to sector 8 (4kB) and not further into the disk to catch e.g. reiserfs superblocks. Usually it will overwrite this anyways (GDT, bitmaps, inode table), but in some rare cases it might not. Cheers, Andreas -- Andreas Dilger Sr. Staff Engineer, Lustre Group Sun Microsystems of Canada, Inc. - To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] allow in-inode EAs on ext4 root inode
The ext3 root inode was treated specially with respect to in-inode extended attributes, for reasons detailed in the removed comment below. The first mkfs-created inodes would not get extra_i_size or the EXT3_STATE_XATTR flag set in ext3_read_inode, which disallowed reading or setting in-inode EAs on the root. However, in ext4, ext4_mark_inode_dirty calls ext4_expand_extra_isize for all inodes; once this is done EAs may be placed in the root ext4 inode body. But for reasons above, it won't be found after a reboot. testcase: setfattr -n user.name -v value mntpt/ setfattr -n user.name2 -v value2 mntpt/ umount mntpt/; remount mntpt/ getfattr -d mntpt/ name2/value2 has gone missing; debugfs shows it in the inode body, but it is not found there by getattr. The following fixes it up; newer mkfs appears to properly zero the inodes, so this workaround isn't needed for ext4. Signed-off-by: Eric Sandeen <[EMAIL PROTECTED]> --- Index: linux-2.6.24-rc6-mm1/fs/ext4/inode.c === --- linux-2.6.24-rc6-mm1.orig/fs/ext4/inode.c +++ linux-2.6.24-rc6-mm1/fs/ext4/inode.c @@ -2750,13 +2750,7 @@ void ext4_read_inode(struct inode * inod ei->i_data[block] = raw_inode->i_block[block]; INIT_LIST_HEAD(&ei->i_orphan); - if (inode->i_ino >= EXT4_FIRST_INO(inode->i_sb) + 1 && - EXT4_INODE_SIZE(inode->i_sb) > EXT4_GOOD_OLD_INODE_SIZE) { - /* -* When mke2fs creates big inodes it does not zero out -* the unused bytes above EXT4_GOOD_OLD_INODE_SIZE, -* so ignore those first few inodes. -*/ + if (EXT4_INODE_SIZE(inode->i_sb) > EXT4_GOOD_OLD_INODE_SIZE) { ei->i_extra_isize = le16_to_cpu(raw_inode->i_extra_isize); if (EXT4_GOOD_OLD_INODE_SIZE + ei->i_extra_isize > EXT4_INODE_SIZE(inode->i_sb)) { - To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Integrating patches in SLES10 e2fsprogs
On Tue, Jan 29, 2008 at 02:52:10PM +0100, Matthias Koenig wrote: > > Are you running aclocal? That may be causing the issues since I think > > that may be causing it to ignore the autoconf macros I've established > > in the top-level aclocal.m4 file. > > Yes, someone here fixed the german po file (I already sent it to > translation project). So we have to rerun the > gettext related part, which results in the requirement to rerun aclocal. Hmm? You should be able to rebuild the .gmo file without needing to re-run aclocal. I do it all the time. :-) > > The problem is that the FHS does not guarantee that the subdirectories > > stick around, and a number of distro's are using mounting tmpfs for > > /var/run. Makes sense, it can significantly speed up operations --- > > but upon reboot, everything in /var/run is *gone*. > > I see, then there is a problem of course. This is not the way it is > done in Suse, so I did not see this problem. > But, shouldn't the daemon then have an rc init script which checks for > the needed subdirectory in /var/run and creates this if necessary? If I > look into /var/run I see a lot of daemons running with their own UID/GID > and having their own directory. In this case there must be a mechanism > to guarantee the existence of this directory, which would obviously be > done in the init script (not sure if any init scripts currently do this > in Suse). Well, it either needs to be done in the init script or the daemons run with root privs, create the directory, and then drop root privs. So yes, there are alternatives. (a) Yet Another init script, (b) setuid root, with a hard-coded user name that has to be looked up via getpwent() and configured into /etc/passwd or the LDAP server, (c) just put the darned directory in /var/lib. It's all about tradeoffs, and for me, (c) was the easist, especially since /var/lib/libuuid/clock.txt needs to be persistent across boots anyway, and so needs to be in /var/lib instead of /var/run. So yes, I could have created some machinery to make sure /var/run/uuidd is always present, but why not just reuse the already existing /var/lib/libuuid directory, which has the correct ownership and which has to be in /var/lib anyway? > > and I still haven't figured out how to easily build my own > > custom kernel RPM's on OpenSUSE, but it's quite nice. > > unfortunately we don't have make-kpkg. Yeah, and the RPM macros for generating kernel are incredibly twisted. At least they were for RHEL4, when I was figuring out how to generate a real-time kernel rpm. Serious temptations to gouge out my eyeballs with a spoon by the time I was done - Ted - To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Integrating patches in SLES10 e2fsprogs
Theodore Tso <[EMAIL PROTECTED]> writes: > On Mon, Jan 28, 2008 at 04:26:53PM +0100, Matthias Koenig wrote: >> > Patch6: e2fsprogs-mdraid.patch >> > >> > This apparently adds a new environment variable, >> > BLKID_SKIP_CHECK_MDRAID, which forces blkid to not detect mdraid >> > devices. I'm not sure why. >> >> Workaround for people having stale RAID signature on their disk: >> https://bugzilla.novell.com/show_bug.cgi?id=100530 > > Hmm... there's got to be a better way around this. > > I'm not authorized to look at that BZ entry. Is there any way you can > make my "tytso" account have access to any e2fsprogs related BZ > entries? Thanks! Still waiting for the person with privileges to do this. In the meanwhile I will add you to the CC list of this bug, then you should also be able to access the bug. > >> > Patch12:e2fsprogs-mkinstalldirs.patch >> > >> > Why? >> >> Is needed since we recreate the auto* files. >> But I agree that this patch should better set >> MKINSTALLDIRS = @MKDIR_P@ >> not to literal "mkdir -p". The @MKINSTALLDIRS@ seems to be >> obsolete in newer gettext (which seems to pull this in). > > Are you running aclocal? That may be causing the issues since I think > that may be causing it to ignore the autoconf macros I've established > in the top-level aclocal.m4 file. Yes, someone here fixed the german po file (I already sent it to translation project). So we have to rerun the gettext related part, which results in the requirement to rerun aclocal. > >> > Patch22:e2fsprogs-1.40.4-uuidd_pid_path.patch >> > >> > The problem with this patch is that /var/run is cleared via rm -rf, so >> > it is highly problamtic to put the scratch directory for uuidd in >> > /var/run. >> >> Are you really sure? My interpretation of FHS is, that files under >> /var/run/ have to be cleared or truncated, but the subdirectories do not >> get deleted. > > The problem is that the FHS does not guarantee that the subdirectories > stick around, and a number of distro's are using mounting tmpfs for > /var/run. Makes sense, it can significantly speed up operations --- > but upon reboot, everything in /var/run is *gone*. I see, then there is a problem of course. This is not the way it is done in Suse, so I did not see this problem. But, shouldn't the daemon then have an rc init script which checks for the needed subdirectory in /var/run and creates this if necessary? If I look into /var/run I see a lot of daemons running with their own UID/GID and having their own directory. In this case there must be a mechanism to guarantee the existence of this directory, which would obviously be done in the init script (not sure if any init scripts currently do this in Suse). The only problem with uuidd is that it is designed to run upon demand. But on the other side it is also not strictly necessary to run uuidd to create UUIDs, only if you have special requirements on the UUIDs. So I don't see a problem if uuidd could not be started for the creation of UUIDs *generally* and if people wanting really unique time-based UUIDs are required to run the init script first upon boot, which guarantees the existence of the /var/run/uuidd directory. Any problems with this approach? > Please let me know when you have a newer OpenSUSE factory RPM ready > for use, and I'll take a look at the remaining patches and see which > ones are ready for merging upstream. Yes, will do so. I am currently still looking through all the patches where they come from and why they are needed. Will probably submit a new package today. > and I still haven't figured out how to easily build my own > custom kernel RPM's on OpenSUSE, but it's quite nice. unfortunately we don't have make-kpkg. Matthias - To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [GIT PULL] ext4 update
>fwiw, diffstat is confused by git's diff output; you need to use >'diffstat -p1' Argh, I have *got* to create a script that does this automatically. Revised diffstat -p1 output follows... - Ted Documentation/filesystems/ext4.txt | 20 Documentation/filesystems/proc.txt | 39 fs/Kconfig |1 fs/afs/dir.c |9 fs/afs/inode.c |3 fs/buffer.c | 44 fs/ext2/super.c | 32 fs/ext3/super.c | 32 fs/ext4/Makefile |4 fs/ext4/balloc.c | 251 + fs/ext4/dir.c| 14 fs/ext4/extents.c| 525 +-- fs/ext4/file.c | 23 fs/ext4/group.h |8 fs/ext4/ialloc.c | 161 fs/ext4/inode.c | 396 +- fs/ext4/ioctl.c |7 fs/ext4/mballoc.c| 4552 +++ fs/ext4/migrate.c| 570 +++ fs/ext4/namei.c | 135 fs/ext4/resize.c | 28 fs/ext4/super.c | 389 +- fs/ext4/xattr.c |4 fs/inode.c | 39 fs/jbd2/checkpoint.c | 22 fs/jbd2/commit.c | 255 + fs/jbd2/journal.c| 368 ++ fs/jbd2/recovery.c | 151 fs/jbd2/revoke.c |6 fs/jbd2/transaction.c| 34 fs/read_write.c |1 include/asm-arm/bitops.h |2 include/asm-generic/bitops/ext2-non-atomic.h |2 include/asm-generic/bitops/le.h |4 include/asm-m68k/bitops.h|2 include/asm-m68knommu/bitops.h |2 include/asm-powerpc/bitops.h |4 include/asm-s390/bitops.h|2 include/linux/buffer_head.h |2 include/linux/ext4_fs.h | 224 + include/linux/ext4_fs_extents.h | 25 include/linux/ext4_fs_i.h| 25 include/linux/ext4_fs_sb.h | 55 include/linux/fs.h | 21 include/linux/jbd2.h | 135 lib/find_next_bit.c | 43 46 files changed, 7773 insertions(+), 898 deletions(-) - To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html