Messages in this thread | | | Subject | Re: [PATCH RFC] ext3 data=guarded v3 | From | Mike Galbraith <> | Date | Thu, 16 Apr 2009 13:39:13 +0200 |
| |
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
| |