* [BUG] btrfs hangup when we run the "sync" command
@ 2010-07-15 3:18 Miao Xie
2010-07-15 8:14 ` Yan, Zheng
0 siblings, 1 reply; 10+ messages in thread
From: Miao Xie @ 2010-07-15 3:18 UTC (permalink / raw)
To: Yan Zheng, Chris Mason; +Cc: Linux Btrfs
Hi, everyone
I found btrfs will hangup when we run the sync command on my
x86_64 box.
The reproduce steps is following:
# mkfs.btrfs -s 8192 -l 8192 -n 8192 /dev/sda1
# mount /dev/sda1 /mnt
# echo 1234567 > /mnt/aaa
# sync
(btrfs hangs up)
It seems that the btrfs doesn't support the sectorsize which is
greater than the page size just like ext2/3/4, though we can use
mkfs.btrfs to make a filesystem with a big sectorsize. Am I right?
If yes, we must do more check in the mkfs.btrfs.
Thanks
Miao Xie
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [BUG] btrfs hangup when we run the "sync" command
2010-07-15 3:18 [BUG] btrfs hangup when we run the "sync" command Miao Xie
@ 2010-07-15 8:14 ` Yan, Zheng
2010-07-15 9:07 ` Miao Xie
0 siblings, 1 reply; 10+ messages in thread
From: Yan, Zheng @ 2010-07-15 8:14 UTC (permalink / raw)
To: miaox; +Cc: Chris Mason, Linux Btrfs
2010/7/15 Miao Xie <miaox@cn.fujitsu.com>:
> Hi, everyone
>
> I found btrfs will hangup when we run the sync command on my
> x86_64 box.
>
> The reproduce steps is following:
> # mkfs.btrfs -s 8192 -l 8192 -n 8192 /dev/sda1
> # mount /dev/sda1 /mnt
> # echo 1234567 > /mnt/aaa
> # sync
> (btrfs hangs up)
>
> It seems that the btrfs doesn't support the sectorsize which is
> greater than the page size just like ext2/3/4, though we can use
> mkfs.btrfs to make a filesystem with a big sectorsize. Am I right?
>
> If yes, we must do more check in the mkfs.btrfs.
>
yes, btrfs doesn't support the sectorsize > PAGE_size.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [BUG] btrfs hangup when we run the "sync" command
2010-07-15 8:14 ` Yan, Zheng
@ 2010-07-15 9:07 ` Miao Xie
2010-07-15 16:12 ` Chris Mason
2010-07-21 12:36 ` Hubert Kario
0 siblings, 2 replies; 10+ messages in thread
From: Miao Xie @ 2010-07-15 9:07 UTC (permalink / raw)
To: Yan, Zheng; +Cc: Chris Mason, Linux Btrfs
On Thu Jul 15 2010 16:14:31 GMT+0800 (CST), Yan, Zheng wrote:
> 2010/7/15 Miao Xie<miaox@cn.fujitsu.com>:
>> Hi, everyone
>>
>> I found btrfs will hangup when we run the sync command on my
>> x86_64 box.
>>
>> The reproduce steps is following:
>> # mkfs.btrfs -s 8192 -l 8192 -n 8192 /dev/sda1
>> # mount /dev/sda1 /mnt
>> # echo 1234567> /mnt/aaa
>> # sync
>> (btrfs hangs up)
>>
>> It seems that the btrfs doesn't support the sectorsize which is
>> greater than the page size just like ext2/3/4, though we can use
>> mkfs.btrfs to make a filesystem with a big sectorsize. Am I right?
>>
>> If yes, we must do more check in the mkfs.btrfs.
>>
>
> yes, btrfs doesn't support the sectorsize> PAGE_size.
>
So we must do more check in the mkfs.btrfs to avoid misuse, and I'll
add some check of the sectorsize into the mkfs.btrfs.
BTW, I sent some patches to the btrfs community recently, but I haven't received
any reply. Could you review them for me? though I have tested them and everything
works well.
[PATCH 1/2] btrfs: restructure try_release_extent_buffer()
[PATCH 2/2] btrfs: fix oops when leafsize is greator than nodesize
[PATCH] btrfs-progs: fix wrong extent buffer size when reading tree block
Thanks
Miao Xie
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [BUG] btrfs hangup when we run the "sync" command
2010-07-15 9:07 ` Miao Xie
@ 2010-07-15 16:12 ` Chris Mason
2010-07-19 1:56 ` Miao Xie
2010-07-21 12:36 ` Hubert Kario
1 sibling, 1 reply; 10+ messages in thread
From: Chris Mason @ 2010-07-15 16:12 UTC (permalink / raw)
To: Miao Xie; +Cc: Yan, Zheng, Linux Btrfs
On Thu, Jul 15, 2010 at 05:07:07PM +0800, Miao Xie wrote:
> On Thu Jul 15 2010 16:14:31 GMT+0800 (CST), Yan, Zheng wrote:
> >2010/7/15 Miao Xie<miaox@cn.fujitsu.com>:
> >>Hi, everyone
> >>
> >>I found btrfs will hangup when we run the sync command on my
> >>x86_64 box.
> >>
> >>The reproduce steps is following:
> >># mkfs.btrfs -s 8192 -l 8192 -n 8192 /dev/sda1
> >># mount /dev/sda1 /mnt
> >># echo 1234567> /mnt/aaa
> >># sync
> >>(btrfs hangs up)
> >>
> >>It seems that the btrfs doesn't support the sectorsize which is
> >>greater than the page size just like ext2/3/4, though we can use
> >>mkfs.btrfs to make a filesystem with a big sectorsize. Am I right?
> >>
> >>If yes, we must do more check in the mkfs.btrfs.
> >>
> >
> >yes, btrfs doesn't support the sectorsize> PAGE_size.
> >
>
> So we must do more check in the mkfs.btrfs to avoid misuse, and I'll
> add some check of the sectorsize into the mkfs.btrfs.
Yes, but this is fixed up with the raid code, we'll allow different page
sizes.
>
> BTW, I sent some patches to the btrfs community recently, but I haven't received
> any reply. Could you review them for me? though I have tested them and everything
> works well.
>
> [PATCH 1/2] btrfs: restructure try_release_extent_buffer()
> [PATCH 2/2] btrfs: fix oops when leafsize is greator than nodesize
> [PATCH] btrfs-progs: fix wrong extent buffer size when reading tree block
Thanks, I'll go through these.
-chris
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [BUG] btrfs hangup when we run the "sync" command
2010-07-15 16:12 ` Chris Mason
@ 2010-07-19 1:56 ` Miao Xie
2010-07-19 2:01 ` Yan, Zheng
0 siblings, 1 reply; 10+ messages in thread
From: Miao Xie @ 2010-07-19 1:56 UTC (permalink / raw)
To: Chris Mason, Yan, Zheng, Linux Btrfs
On Thu, 15 Jul 2010 12:12:13 -0400, Chris Mason <chris.mason@oracle.com> wrote:
>>>> It seems that the btrfs doesn't support the sectorsize which is
>>>> greater than the page size just like ext2/3/4, though we can use
>>>> mkfs.btrfs to make a filesystem with a big sectorsize. Am I right?
>>>>
>>>> If yes, we must do more check in the mkfs.btrfs.
>>>>
>>>
>>> yes, btrfs doesn't support the sectorsize> PAGE_size.
>>>
>>
>> So we must do more check in the mkfs.btrfs to avoid misuse, and I'll
>> add some check of the sectorsize into the mkfs.btrfs.
>
> Yes, but this is fixed up with the raid code, we'll allow different page
> sizes.
Is the raid code that you said the initialization code for the block devices?
just like this:
fs/btrfs/volumes.c:1430
int btrfs_init_new_device(struct btrfs_root *root, char *device_path)
{
[snip]
set_blocksize(device->bdev, 4096);
[snip]
}
If yes, it uses a hard-code value to initialize the blocksize of the block device,
not the blocksize of the btrfs, so the btrfs doesn't check the blocksize of the btrfs.
Thanks
Miao Xie
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [BUG] btrfs hangup when we run the "sync" command
2010-07-19 1:56 ` Miao Xie
@ 2010-07-19 2:01 ` Yan, Zheng
2010-07-19 6:17 ` Miao Xie
0 siblings, 1 reply; 10+ messages in thread
From: Yan, Zheng @ 2010-07-19 2:01 UTC (permalink / raw)
To: miaox; +Cc: Chris Mason, Linux Btrfs
On 07/19/2010 09:56 AM, Miao Xie wrote:
> On Thu, 15 Jul 2010 12:12:13 -0400, Chris Mason <chris.mason@oracle.com> wrote:
>>>>> It seems that the btrfs doesn't support the sectorsize which is
>>>>> greater than the page size just like ext2/3/4, though we can use
>>>>> mkfs.btrfs to make a filesystem with a big sectorsize. Am I right?
>>>>>
>>>>> If yes, we must do more check in the mkfs.btrfs.
>>>>>
>>>>
>>>> yes, btrfs doesn't support the sectorsize> PAGE_size.
>>>>
>>>
>>> So we must do more check in the mkfs.btrfs to avoid misuse, and I'll
>>> add some check of the sectorsize into the mkfs.btrfs.
>>
>> Yes, but this is fixed up with the raid code, we'll allow different page
>> sizes.
>
> Is the raid code that you said the initialization code for the block devices?
> just like this:
>
> fs/btrfs/volumes.c:1430
> int btrfs_init_new_device(struct btrfs_root *root, char *device_path)
> {
> [snip]
> set_blocksize(device->bdev, 4096);
> [snip]
> }
>
> If yes, it uses a hard-code value to initialize the blocksize of the block device,
> not the blocksize of the btrfs, so the btrfs doesn't check the blocksize of the btrfs.
>
This is for btrfs super block, because size of btrfs super block is fixed.
Yan, Zheng
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [BUG] btrfs hangup when we run the "sync" command
2010-07-19 2:01 ` Yan, Zheng
@ 2010-07-19 6:17 ` Miao Xie
2010-07-19 6:46 ` Yan, Zheng
0 siblings, 1 reply; 10+ messages in thread
From: Miao Xie @ 2010-07-19 6:17 UTC (permalink / raw)
To: Yan, Zheng; +Cc: Chris Mason, Linux Btrfs
On Mon, 19 Jul 2010 10:01:26 +0800, Yan, Zheng <zheng.yan@oracle.com> wrote:
> On 07/19/2010 09:56 AM, Miao Xie wrote:
>> On Thu, 15 Jul 2010 12:12:13 -0400, Chris Mason <chris.mason@oracle.com> wrote:
>>>>>> It seems that the btrfs doesn't support the sectorsize which is
>>>>>> greater than the page size just like ext2/3/4, though we can use
>>>>>> mkfs.btrfs to make a filesystem with a big sectorsize. Am I right?
>>>>>>
>>>>>> If yes, we must do more check in the mkfs.btrfs.
>>>>>>
>>>>>
>>>>> yes, btrfs doesn't support the sectorsize> PAGE_size.
>>>>>
>>>>
>>>> So we must do more check in the mkfs.btrfs to avoid misuse, and I'll
>>>> add some check of the sectorsize into the mkfs.btrfs.
>>>
>>> Yes, but this is fixed up with the raid code, we'll allow different page
>>> sizes.
>>
>> Is the raid code that you said the initialization code for the block devices?
>> just like this:
>>
>> fs/btrfs/volumes.c:1430
>> int btrfs_init_new_device(struct btrfs_root *root, char *device_path)
>> {
>> [snip]
>> set_blocksize(device->bdev, 4096);
>> [snip]
>> }
>>
>> If yes, it uses a hard-code value to initialize the blocksize of the block device,
>> not the blocksize of the btrfs, so the btrfs doesn't check the blocksize of the btrfs.
>>
> This is for btrfs super block, because size of btrfs super block is fixed.
I don't know how this bug was fixed up. I think if the btrfs doesn't support
the >PAGE_SIZE sectorsize, it should forbid mounting a filesystem with >PAGE_SIZE
sectorsize. But in fact, we can mount.
So I think this bug has not been fixed up or the fix is not so good.
Thanks
Miao Xie
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [BUG] btrfs hangup when we run the "sync" command
2010-07-19 6:17 ` Miao Xie
@ 2010-07-19 6:46 ` Yan, Zheng
2010-07-19 8:29 ` Miao Xie
0 siblings, 1 reply; 10+ messages in thread
From: Yan, Zheng @ 2010-07-19 6:46 UTC (permalink / raw)
To: miaox; +Cc: Chris Mason, Linux Btrfs
On Mon, Jul 19, 2010 at 2:17 PM, Miao Xie <miaox@cn.fujitsu.com> wrote:
> On Mon, 19 Jul 2010 10:01:26 +0800, Yan, Zheng <zheng.yan@oracle.com>=
wrote:
>> On 07/19/2010 09:56 AM, Miao Xie wrote:
>>> On Thu, 15 Jul 2010 12:12:13 -0400, Chris Mason <chris.mason@oracle=
=2Ecom> wrote:
>>>>>>> It seems that the btrfs doesn't support the sectorsize which is
>>>>>>> greater than the page size just like ext2/3/4, though we can us=
e
>>>>>>> mkfs.btrfs to make a filesystem with a big sectorsize. Am I rig=
ht?
>>>>>>>
>>>>>>> If yes, we must do more check in the mkfs.btrfs.
>>>>>>>
>>>>>>
>>>>>> yes, btrfs doesn't support the sectorsize> =A0PAGE_size.
>>>>>>
>>>>>
>>>>> So we must do more check in the mkfs.btrfs to avoid misuse, and I=
'll
>>>>> add some check of the sectorsize into the mkfs.btrfs.
>>>>
>>>> Yes, but this is fixed up with the raid code, we'll allow differen=
t page
>>>> sizes.
>>>
>>> Is the raid code that you said the initialization code for the bloc=
k devices?
>>> just like this:
>>>
>>> fs/btrfs/volumes.c:1430
>>> int btrfs_init_new_device(struct btrfs_root *root, char *device_pat=
h)
>>> {
>>> =A0 =A0 =A0[snip]
>>> =A0 =A0 =A0set_blocksize(device->bdev, 4096);
>>> =A0 =A0 =A0[snip]
>>> }
>>>
>>> If yes, it uses a hard-code value to initialize the blocksize of th=
e block device,
>>> not the blocksize of the btrfs, so the btrfs doesn't check the bloc=
ksize of the btrfs.
>>>
>> This is for btrfs super block, because size of btrfs super block is =
fixed.
>
> I don't know how this bug was fixed up. I think if the btrfs doesn't =
support
> the >PAGE_SIZE sectorsize, it should forbid mounting a filesystem wit=
h >PAGE_SIZE
> sectorsize. But in fact, we can mount.
>
> So I think this bug has not been fixed up or the fix is not so good.
>
This bug has been fixed up in Chris' raid56 tree.
--
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] 10+ messages in thread
* Re: [BUG] btrfs hangup when we run the "sync" command
2010-07-19 6:46 ` Yan, Zheng
@ 2010-07-19 8:29 ` Miao Xie
0 siblings, 0 replies; 10+ messages in thread
From: Miao Xie @ 2010-07-19 8:29 UTC (permalink / raw)
To: Yan, Zheng; +Cc: Chris Mason, Linux Btrfs
On Mon, 19 Jul 2010 14:46:17 +0800, Yan, Zheng wrote:
>>>>>> So we must do more check in the mkfs.btrfs to avoid misuse, and I'll
>>>>>> add some check of the sectorsize into the mkfs.btrfs.
>>>>>
>>>>> Yes, but this is fixed up with the raid code, we'll allow different page
>>>>> sizes.
>>>>
>>>> Is the raid code that you said the initialization code for the block devices?
>>>> just like this:
>>>>
>>>> fs/btrfs/volumes.c:1430
>>>> int btrfs_init_new_device(struct btrfs_root *root, char *device_path)
>>>> {
>>>> [snip]
>>>> set_blocksize(device->bdev, 4096);
>>>> [snip]
>>>> }
>>>>
>>>> If yes, it uses a hard-code value to initialize the blocksize of the block device,
>>>> not the blocksize of the btrfs, so the btrfs doesn't check the blocksize of the btrfs.
>>>>
>>> This is for btrfs super block, because size of btrfs super block is fixed.
>>
>> I don't know how this bug was fixed up. I think if the btrfs doesn't support
>> the>PAGE_SIZE sectorsize, it should forbid mounting a filesystem with>PAGE_SIZE
>> sectorsize. But in fact, we can mount.
>>
>> So I think this bug has not been fixed up or the fix is not so good.
>>
>
> This bug has been fixed up in Chris' raid56 tree.
I see, thanks!
BTW: could you tell us the URL of Chris' raid56 tree? I just find the raid56 tree
that is managed by David Woodhouse.
http://git.infradead.org/users/dwmw2/btrfs-raid56.git
Regards
Miao Xie
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [BUG] btrfs hangup when we run the "sync" command
2010-07-15 9:07 ` Miao Xie
2010-07-15 16:12 ` Chris Mason
@ 2010-07-21 12:36 ` Hubert Kario
1 sibling, 0 replies; 10+ messages in thread
From: Hubert Kario @ 2010-07-21 12:36 UTC (permalink / raw)
To: miaox; +Cc: Yan, Zheng, Chris Mason, Linux Btrfs
On Thursday 15 July 2010 11:07:07 Miao Xie wrote:
> On Thu Jul 15 2010 16:14:31 GMT+0800 (CST), Yan, Zheng wrote:
> > 2010/7/15 Miao Xie<miaox@cn.fujitsu.com>:
> >> Hi, everyone
> >>=20
> >> I found btrfs will hangup when we run the sync command on my
> >> x86_64 box.
> >>=20
> >> The reproduce steps is following:
> >> # mkfs.btrfs -s 8192 -l 8192 -n 8192 /dev/sda1
> >> # mount /dev/sda1 /mnt
> >> # echo 1234567> /mnt/aaa
> >> # sync
> >> (btrfs hangs up)
> >>=20
> >> It seems that the btrfs doesn't support the sectorsize which is
> >> greater than the page size just like ext2/3/4, though we can use
> >> mkfs.btrfs to make a filesystem with a big sectorsize. Am I right?
> >>=20
> >> If yes, we must do more check in the mkfs.btrfs.
> >=20
> > yes, btrfs doesn't support the sectorsize> PAGE_size.
>=20
> So we must do more check in the mkfs.btrfs to avoid misuse, and I'll
> add some check of the sectorsize into the mkfs.btrfs.
I don't think that denying of creation of FSs with sectorsize > pagesiz=
e is a=20
good idea. A warning would be better:
Warning: The filesystem you are about to create won't be usable on your=
=20
computer architecture. Do you want to continue? y/n:
Unless the FS created in such way is unusabe in any circumstances...
> BTW, I sent some patches to the btrfs community recently, but I haven=
't
> received any reply. Could you review them for me? though I have teste=
d
> them and everything works well.
>=20
> [PATCH 1/2] btrfs: restructure try_release_extent_buffer()
> [PATCH 2/2] btrfs: fix oops when leafsize is greator than nodesize
> [PATCH] btrfs-progs: fix wrong extent buffer size when reading tree b=
lock
>=20
> Thanks
> Miao Xie
--=20
Hubert Kario
QBS - Quality Business Software
ul. Ksawer=F3w 30/85
02-656 Warszawa
POLAND
tel. +48 (22) 646-61-51, 646-74-24
fax +48 (22) 646-61-50
--
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] 10+ messages in thread
end of thread, other threads:[~2010-07-21 12:36 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-07-15 3:18 [BUG] btrfs hangup when we run the "sync" command Miao Xie
2010-07-15 8:14 ` Yan, Zheng
2010-07-15 9:07 ` Miao Xie
2010-07-15 16:12 ` Chris Mason
2010-07-19 1:56 ` Miao Xie
2010-07-19 2:01 ` Yan, Zheng
2010-07-19 6:17 ` Miao Xie
2010-07-19 6:46 ` Yan, Zheng
2010-07-19 8:29 ` Miao Xie
2010-07-21 12:36 ` Hubert Kario
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).