On 01/06/2014 04:23 PM, Tsutomu Itoh wrote:
> On 2014/01/06 17:08, Wang Shilong wrote:
>> Here we expect 0 as return value, fix it.
>> Signed-off-by: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx>
>> Cc: Josef Bacik <jbacik@xxxxxx>
>> tests/btrfs/022 | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>> mode change 100644 => 100755 tests/btrfs/022
>> diff --git a/tests/btrfs/022 b/tests/btrfs/022
>> old mode 100644
>> new mode 100755
>> index 5b18643..142aaf9
>> --- a/tests/btrfs/022
>> +++ b/tests/btrfs/022
>> @@ -106,7 +106,7 @@ _limit_test()
>> [ $? -ne 0 ] || _fail "quota should have limited us"
>> dd if=/dev/urandom of=$SCRATCH_MNT/a/file bs=4M count=1 >> \
>> $seqres.full 2>&1
>> - [ $? -eq 0 ] || _fail "should have been allowed to write"
>> + [ $? -ne 0 ] || _fail "should have been allowed to write"
> from "man bash",
> An OR list has the form
> command1 || command2
> command2 is executed if and only if command1 returns a non-zero exit
> So, original code is OK, I think.
You are absolutely right, during my test i found we fail this case.
I took a careful think about this:
The problem is that we should clear the data we have written before,
Because we may write some data before, for example we limit subvolume to 5M
then we try this:
# dd if=/dev/zero of=/mnt/data bs=10M count=1
Although we try to write 10M once, in kernel, we may split it into
at the end, we can still write some data actually, you can try the
after the above command.
# du -sh /mnt/data
Here i think the best way to fix this problem is we disable quota and
retry with 4m.
# btrfs qgroup limit none /mnt <------------- in case we are nearly full
and we can not delete file.
# rm -rf /mnt/data && btrfs filesystem sync /mnt
# btrfs qgroup limit 5m /mnt
# dd if=/dev/zero of=/mnt bs=4m count=1
Please correct me if i miss something here.^_^
>> _scratch_mkfs > /dev/null 2>&1