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 -- 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
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. -- 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
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 -- 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
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 blockThanks, I''ll go through these. -chris -- 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
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 -- 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
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 -- 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
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 -- 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
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.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. >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
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 -- 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
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 > >> > >> 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.I don''t think that denying of creation of FSs with sectorsize > pagesize is a good idea. A warning would be better: Warning: The filesystem you are about to create won''t be usable on your 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 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-- Hubert Kario QBS - Quality Business Software ul. Ksawerów 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