On Wed, 2009-04-15 at 13:22 -0400, Chris Mason wrote: > Hello everyone, Greetings, > This passed a longer stress test and generally seems to be working. I > don't think anyone would recommend it as a default for 2.6.30, but it > may be a good idea to have a review party and decide if it is safe enough > to include so people can experiment with it. I know you didn't say RFT, but I did some anyway, and found a 100% repeatable corruption scenario wrt git+umount. /dev/sdf3 on /media/root type ext3 (rw,_netdev,noatime,data=guarded,acl,user_xattr) <user git> cd /media/root/home/git/testo git init cp /usr/local/src/kernel/linux-2.6.30.git/.git/config .git/. git fetch git pull cd <user root> umount /media/root mount /media/root <user git> cd /media/root/home/git/testo git checkout -f git@marge:..git/testo> git checkout -f error: packfile .git/objects/pack/pack-5897f5ab55217236982c43fd644e854d0c42fa97.pack does not match index error: packfile .git/objects/pack/pack-5897f5ab55217236982c43fd644e854d0c42fa97.pack cannot be accessed error: packfile .git/objects/pack/pack-5897f5ab55217236982c43fd644e854d0c42fa97.pack does not match index error: packfile .git/objects/pack/pack-5897f5ab55217236982c43fd644e854d0c42fa97.pack cannot be accessed fatal: You are on a branch yet to be born git@marge:..git/testo> md5sum .git/objects/pack/pack-5897f5ab55217236982c43fd644e854d0c42fa97.pack .git.good/objects/pack/pack-5897f5ab55217236982c43fd644e854d0c42fa97.pack a54de2e5ed5f2dd8925169b404463261 .git/objects/pack/pack-5897f5ab55217236982c43fd644e854d0c42fa97.pack 88ca6b0eac30ef18e623b3a6f6490299 .git.good/objects/pack/pack-5897f5ab55217236982c43fd644e854d0c42fa97.pack t@marge:..git/testo> md5sum .git/index .git.good/index f2f9a1ffd2544841985f112e0831d2a5 .git/index 1f88bfbe71adfd649254e3a4bd91e7fa .git.good/index git version 1.6.2.3 .git/config [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "master"] url = git://localhost/~git/linux-2.6 fetch = +refs/heads/master:refs/remotes/master/master [branch "master"] remote = master merge = refs/heads/master If I move a .git created while mounted data=writeback into this directory, I can mount/umount/checkout to my hearts content while mounted data=guarded, but if I do the fetch/pull/umount while data=guarded, after umount/mount, the repo is corrupt. Prior to umount, all seems fine, trees build, git fsck is happy etc. -Mike -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html