On 9/9/13 12:13 PM, Josef Bacik wrote:
> On Mon, Sep 09, 2013 at 06:32:04PM +0200, David Sterba wrote:
>> On Fri, Sep 06, 2013 at 02:50:56PM -0400, Josef Bacik wrote:
>>> We need to start adding some sanity tests to btrfs-progs to make sure we 
>>> aren't
>>> breaking things with our patches.  The most important of these tools is 
>>> btrfsck.
>>> This patch gets things started by adding a basic btrfsck test that makes 
>>> sure we
>>> can fix a corruption problem we know we can fix.  Thanks,
>>
>> That's great. I hope we're going to gather more tests so let's separate
>> them to more categories from the beginning (mkfs, options coverage,
>> corrupt-block, restore maybe, dunno what else).
>>
>> This makes it possible to do a quick run a subset of the tests (eg. mkfs
>> related) after a fix is committed.
>>
>>>  tests/bad-file-extent-bytenr.img |  Bin 0 -> 4096 bytes
>>>  tests/fsck-tests.sh              |   34 ++++++++++++++++++++++++++++++++++
>>
>> I suggest to put them into a subdirectory (eg.) 'fsck' and prefix the
>> images with numbers (just a sequence number).
> 
> I'm not prefixing with numbers, I want to make it easy to tell what each image
> is testing for.  I will move them into a fsck directory tho.

David might have meant "001-bad-file-extent-bytenr.img" though.
 
>>
>>> --- /dev/null
>>> +++ b/tests/fsck-tests.sh
>>> @@ -0,0 +1,34 @@
>>> +#!/bin/bash
>>> +#
>>> +# loop through all of our bad images and make sure fsck repairs them 
>>> properly
>>> +#
>>> +# It's GPL, same as everything else in this tree.
>>> +#
>>> +
>>> +TEST_DEV=""
>>
>> I found the current test hard to use, eg. I can't just do 'make test'
>> from the toplevel dir. The script fsck-tests.sh expects TEST_DEV to be
>> set, but there's no way to do that, because it's set unconditionally to
>> empty string.
> 
> Yeah I wasn't sure how I wanted to do this.  At first I thought about making 
> the
> fsck tester just make a loop device, but I didn't want to override something 
> if
> people were already using a loop device.  But maybe I'll just default to using
> loop5 or something big like that and then if the user wants to change it they
> can go into the script and change it themselves.  How does that sound?  
> Thanks,

Dumb question, can you just point btrfsck at the image itself w/o setting up
loopback?  i.e. do something like: 

# btrfs-image -r 001-bad-file-extent-bytenr.img test.img
# btrfsck --repair test.img

-Eric

> Josef
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to