* Quota Ignored On write
@ 2014-07-04 2:13 Kevin Brandstatter
2014-07-04 2:21 ` Satoru Takeuchi
0 siblings, 1 reply; 7+ messages in thread
From: Kevin Brandstatter @ 2014-07-04 2:13 UTC (permalink / raw)
To: linux-btrfs
basing of the latest for-linus branch i found i can write way more than
the quota
btrfs quota enable
btrfs subvolume create test
btrfs qgruop limit 1G test
dd if=/dev/zero of=test/file bs=1024 count=1500000
output:
1500000+0 records in
1500000+0 records out
1536000000 bytes (1.5 GB) copied, 5.91909 s, 259 MB/s
thats a full half gig over the quota limit. I noticed some changes to
the quota
accounting in the logs, what changed that could cause this?
-Kevin Brandstatter
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Quota Ignored On write
2014-07-04 2:13 Quota Ignored On write Kevin Brandstatter
@ 2014-07-04 2:21 ` Satoru Takeuchi
2014-07-04 2:25 ` Kevin Brandstatter
2014-07-04 2:35 ` Kevin Brandstatter
0 siblings, 2 replies; 7+ messages in thread
From: Satoru Takeuchi @ 2014-07-04 2:21 UTC (permalink / raw)
To: Kevin Brandstatter, linux-btrfs
Hi Kevin,
(2014/07/04 11:13), Kevin Brandstatter wrote:
> basing of the latest for-linus branch i found i can write way more than
> the quota
>
> btrfs quota enable
> btrfs subvolume create test
> btrfs qgruop limit 1G test
> dd if=/dev/zero of=test/file bs=1024 count=1500000
> output:
> 1500000+0 records in
> 1500000+0 records out
> 1536000000 bytes (1.5 GB) copied, 5.91909 s, 259 MB/s
>
> thats a full half gig over the quota limit. I noticed some changes to
> the quota
> accounting in the logs, what changed that could cause this?
Do you remember what kernel version quota worked correctly?
Thanks,
Satoru
>
> -Kevin Brandstatter
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Quota Ignored On write
2014-07-04 2:21 ` Satoru Takeuchi
@ 2014-07-04 2:25 ` Kevin Brandstatter
2014-07-04 2:32 ` Satoru Takeuchi
2014-07-04 2:35 ` Kevin Brandstatter
1 sibling, 1 reply; 7+ messages in thread
From: Kevin Brandstatter @ 2014-07-04 2:25 UTC (permalink / raw)
To: Satoru Takeuchi, linux-btrfs
3.15.3 via arch/ and from linux-git
-Kevin
On 07/03/2014 09:21 PM, Satoru Takeuchi wrote:
> Hi Kevin,
>
> (2014/07/04 11:13), Kevin Brandstatter wrote:
>> basing of the latest for-linus branch i found i can write way more than
>> the quota
>>
>> btrfs quota enable
>> btrfs subvolume create test
>> btrfs qgruop limit 1G test
>> dd if=/dev/zero of=test/file bs=1024 count=1500000
>> output:
>> 1500000+0 records in
>> 1500000+0 records out
>> 1536000000 bytes (1.5 GB) copied, 5.91909 s, 259 MB/s
>>
>> thats a full half gig over the quota limit. I noticed some changes to
>> the quota
>> accounting in the logs, what changed that could cause this?
>
> Do you remember what kernel version quota worked correctly?
>
> Thanks,
> Satoru
>
>>
>> -Kevin Brandstatter
>> --
>> To unsubscribe from this list: send the line "unsubscribe
>> linux-btrfs" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Quota Ignored On write
2014-07-04 2:25 ` Kevin Brandstatter
@ 2014-07-04 2:32 ` Satoru Takeuchi
2014-07-04 3:25 ` Satoru Takeuchi
0 siblings, 1 reply; 7+ messages in thread
From: Satoru Takeuchi @ 2014-07-04 2:32 UTC (permalink / raw)
To: Kevin Brandstatter, linux-btrfs
(2014/07/04 11:25), Kevin Brandstatter wrote:
> 3.15.3 via arch/ and from linux-git
OK, I'll bisect it.
Satoru
>
> -Kevin
>
> On 07/03/2014 09:21 PM, Satoru Takeuchi wrote:
>> Hi Kevin,
>>
>> (2014/07/04 11:13), Kevin Brandstatter wrote:
>>> basing of the latest for-linus branch i found i can write way more than
>>> the quota
>>>
>>> btrfs quota enable
>>> btrfs subvolume create test
>>> btrfs qgruop limit 1G test
>>> dd if=/dev/zero of=test/file bs=1024 count=1500000
>>> output:
>>> 1500000+0 records in
>>> 1500000+0 records out
>>> 1536000000 bytes (1.5 GB) copied, 5.91909 s, 259 MB/s
>>>
>>> thats a full half gig over the quota limit. I noticed some changes to
>>> the quota
>>> accounting in the logs, what changed that could cause this?
>>
>> Do you remember what kernel version quota worked correctly?
>>
>> Thanks,
>> Satoru
>>
>>>
>>> -Kevin Brandstatter
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe
>>> linux-btrfs" in
>>> the body of a message to majordomo@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 majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Quota Ignored On write
2014-07-04 2:21 ` Satoru Takeuchi
2014-07-04 2:25 ` Kevin Brandstatter
@ 2014-07-04 2:35 ` Kevin Brandstatter
1 sibling, 0 replies; 7+ messages in thread
From: Kevin Brandstatter @ 2014-07-04 2:35 UTC (permalink / raw)
To: Satoru Takeuchi, linux-btrfs
hmm, is it possible that btrfs is doing some deduplication or compression?
The expected behavior works fine with small quotas like 10/20MB
but at 1GB i can overwrite quite a bit from /dev/zero
I also tried to dd from /dev/urandom (to get some variety other than zeros)
dd if=/dev/urandom of=meow bs=1024 count=1500000
output:
dd: error writing ‘meow’: Disk quota exceeded
1163330+0 records in
1163329+0 records out
1191248896 bytes (1.2 GB) copied, 110.25 s, 10.8 MB/s
So it looks like its stopping the write, but with a 1GB quota, thats a
20% over quota
-Kevin
On 07/03/2014 09:21 PM, Satoru Takeuchi wrote:
> Hi Kevin,
>
> (2014/07/04 11:13), Kevin Brandstatter wrote:
>> basing of the latest for-linus branch i found i can write way more than
>> the quota
>>
>> btrfs quota enable
>> btrfs subvolume create test
>> btrfs qgruop limit 1G test
>> dd if=/dev/zero of=test/file bs=1024 count=1500000
>> output:
>> 1500000+0 records in
>> 1500000+0 records out
>> 1536000000 bytes (1.5 GB) copied, 5.91909 s, 259 MB/s
>>
>> thats a full half gig over the quota limit. I noticed some changes to
>> the quota
>> accounting in the logs, what changed that could cause this?
>
> Do you remember what kernel version quota worked correctly?
>
> Thanks,
> Satoru
>
>>
>> -Kevin Brandstatter
>> --
>> To unsubscribe from this list: send the line "unsubscribe
>> linux-btrfs" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Quota Ignored On write
2014-07-04 2:32 ` Satoru Takeuchi
@ 2014-07-04 3:25 ` Satoru Takeuchi
2014-07-04 5:16 ` Satoru Takeuchi
0 siblings, 1 reply; 7+ messages in thread
From: Satoru Takeuchi @ 2014-07-04 3:25 UTC (permalink / raw)
To: Kevin Brandstatter, linux-btrfs, Chris Mason
Hi Chris and Kevin,
>> On 07/03/2014 09:21 PM, Satoru Takeuchi wrote:
>>> Hi Kevin,
>>>
>>> (2014/07/04 11:13), Kevin Brandstatter wrote:
>>>> basing of the latest for-linus branch i found i can write way more than
>>>> the quota
>>>>
>>>> btrfs quota enable
>>>> btrfs subvolume create test
>>>> btrfs qgruop limit 1G test
>>>> dd if=/dev/zero of=test/file bs=1024 count=1500000
>>>> output:
>>>> 1500000+0 records in
>>>> 1500000+0 records out
>>>> 1536000000 bytes (1.5 GB) copied, 5.91909 s, 259 MB/s
>>>>
>>>> thats a full half gig over the quota limit. I noticed some changes to
>>>> the quota
>>>> accounting in the logs, what changed that could cause this?
>>>
>>> Do you remember what kernel version quota worked correctly?
(2014/07/04 11:32), Satoru Takeuchi wrote:
> (2014/07/04 11:25), Kevin Brandstatter wrote:
>> 3.15.3 via arch/ and from linux-git
>
> OK, I'll bisect it.
I made the following reproducer based on your operation.
It succeeded with 3.15 and failed with 3.16-rc3. So, the problematic
patch is not in mason/for-linux branch, but in somewhere between
3.15 and 3.16-rc3. Please wait for a while to finish my bisect...
===============================================================================
#!/bin/bash -x
TEST_DEV=/dev/vdb
TEST_MNT=/home/sat/mnt
umount $TEST_MNT
mkfs.btrfs -f $TEST_DEV
mount $TEST_DEV $TEST_MNT
btrfs quota enable $TEST_MNT
SUBVOLPATH=$TEST_MNT/quota_test
LIMIT=$((1024*1000000))
btrfs subvolume create $SUBVOLPATH
btrfs qgroup limit $LIMIT $SUBVOLPATH
TESTFILE=$SUBVOLPATH/test
dd if=/dev/zero of=$TESTFILE bs=1024 count=$(($LIMIT*3/2/1024))
SIZE=$(($(ls -s $TESTFILE | awk '{print $1}')*1024))
RET=0
if [ $SIZE -le $LIMIT ] ; then
echo "[PASS] quota works correctly" >&2
else
echo "[FAIL] quota doesn't work" >&2
RET=1
fi
exit $RET
===============================================================================
Thanks,
Satoru
>>>
>>> Thanks,
>>> Satoru
>>>
>>>>
>>>> -Kevin Brandstatter
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe
>>>> linux-btrfs" in
>>>> the body of a message to majordomo@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 majordomo@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 majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Quota Ignored On write
2014-07-04 3:25 ` Satoru Takeuchi
@ 2014-07-04 5:16 ` Satoru Takeuchi
0 siblings, 0 replies; 7+ messages in thread
From: Satoru Takeuchi @ 2014-07-04 5:16 UTC (permalink / raw)
To: Kevin Brandstatter, linux-btrfs, Chris Mason, Josef Bacik
Hi Josef, Chris, Kevin,
(2014/07/04 12:25), Satoru Takeuchi wrote:
> Hi Chris and Kevin,
>
>>> On 07/03/2014 09:21 PM, Satoru Takeuchi wrote:
>>>> Hi Kevin,
>>>>
>>>> (2014/07/04 11:13), Kevin Brandstatter wrote:
>>>>> basing of the latest for-linus branch i found i can write way more than
>>>>> the quota
>>>>>
>>>>> btrfs quota enable
>>>>> btrfs subvolume create test
>>>>> btrfs qgruop limit 1G test
>>>>> dd if=/dev/zero of=test/file bs=1024 count=1500000
>>>>> output:
>>>>> 1500000+0 records in
>>>>> 1500000+0 records out
>>>>> 1536000000 bytes (1.5 GB) copied, 5.91909 s, 259 MB/s
>>>>>
>>>>> thats a full half gig over the quota limit. I noticed some changes to
>>>>> the quota
>>>>> accounting in the logs, what changed that could cause this?
>>>>
>>>> Do you remember what kernel version quota worked correctly?
> (2014/07/04 11:32), Satoru Takeuchi wrote:
>> (2014/07/04 11:25), Kevin Brandstatter wrote:
>>> 3.15.3 via arch/ and from linux-git
>>
>> OK, I'll bisect it.
>
> I made the following reproducer based on your operation.
> It succeeded with 3.15 and failed with 3.16-rc3. So, the problematic
> patch is not in mason/for-linux branch, but in somewhere between
> 3.15 and 3.16-rc3. Please wait for a while to finish my bisect...
I bisected and found the bad commit is the following patch.
===============================================================================
commit fcebe4562dec83b3f8d3088d77584727b09130b2
Author: Josef Bacik <jbacik@fb.com>
Date: Tue May 13 17:30:47 2014 -0700
Btrfs: rework qgroup accounting
===============================================================================
Josef, please take a look at this patch.
Thanks,
Satoru
>
> ===============================================================================
> #!/bin/bash -x
>
> TEST_DEV=/dev/vdb
> TEST_MNT=/home/sat/mnt
>
> umount $TEST_MNT
> mkfs.btrfs -f $TEST_DEV
> mount $TEST_DEV $TEST_MNT
> btrfs quota enable $TEST_MNT
>
> SUBVOLPATH=$TEST_MNT/quota_test
> LIMIT=$((1024*1000000))
> btrfs subvolume create $SUBVOLPATH
> btrfs qgroup limit $LIMIT $SUBVOLPATH
> TESTFILE=$SUBVOLPATH/test
> dd if=/dev/zero of=$TESTFILE bs=1024 count=$(($LIMIT*3/2/1024))
> SIZE=$(($(ls -s $TESTFILE | awk '{print $1}')*1024))
>
> RET=0
> if [ $SIZE -le $LIMIT ] ; then
> echo "[PASS] quota works correctly" >&2
> else
> echo "[FAIL] quota doesn't work" >&2
> RET=1
> fi
>
> exit $RET
> ===============================================================================
>
> Thanks,
> Satoru
>
>>>>
>>>> Thanks,
>>>> Satoru
>>>>
>>>>>
>>>>> -Kevin Brandstatter
>>>>> --
>>>>> To unsubscribe from this list: send the line "unsubscribe
>>>>> linux-btrfs" in
>>>>> the body of a message to majordomo@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 majordomo@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 majordomo@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 majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2014-07-04 5:17 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-04 2:13 Quota Ignored On write Kevin Brandstatter
2014-07-04 2:21 ` Satoru Takeuchi
2014-07-04 2:25 ` Kevin Brandstatter
2014-07-04 2:32 ` Satoru Takeuchi
2014-07-04 3:25 ` Satoru Takeuchi
2014-07-04 5:16 ` Satoru Takeuchi
2014-07-04 2:35 ` Kevin Brandstatter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).