Re: kernel BUG at fs/btrfs/inode.c:3123!

2015-02-04 Thread Forrest Liu
Hi Chris, The problem can be fix by [PATCH] Btrfs: fix BUG_ON in btrfs_orphan_add() when delete unused block group Thanks, -Forrest 2015-02-05 11:08 GMT+08:00 Chris Baker k...@ctac.me.uk: This report also filed on Bugzilla on kernel.org per instructions on btrfs Wiki, ID: 92771

[PATCH] Btrfs: btrfs_release_extent_buffer_page() didn't free pages of dummy extent

2015-02-02 Thread Forrest Liu
...@synology.com Signed-off-by: Forrest Liu forre...@synology.com --- fs/btrfs/extent_io.c | 43 ++- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index dab8af4..58a5183 100644 --- a/fs/btrfs/extent_io.c

Re: [PATCH] Btrfs: fix find_free_dev_extent() malfunction in case device tree has hole

2015-02-03 Thread Forrest Liu
Anyone else? Thanks Ed Tomlinson Hi, Found a problem compile testing this. hole_size = key_offset - search_start; Should not that be key.offset ? TIA Ed Tomlinson On Monday, February 2, 2015 2:31:39 AM EST, Forrest Liu wrote: If device tree has hole, find_free_dev_extent() cannot

Re: [PATCH v2] Btrfs: btrfs_release_extent_buffer_page didn't free pages of dummy extent

2015-02-04 Thread Forrest Liu
Hi, Following command can reproduce the problem of memory leak mntpath=/volume2 while [ 1 ]; do btrfs inspect-internal inode-resolve 256 $mntpath /dev/null done The patch was tested on 3.19-rc7 Thanks, Forrest 2015-02-04 20:10 GMT+08:00 Forrest Liu forre...@synology.com

[PATCH v2] Btrfs: fix find_free_dev_extent() malfunction in case device tree has hole

2015-02-04 Thread Forrest Liu
15715 itemsize 48 dev extent chunk_tree 3 chunk objectid 256 chunk offset 1071623700480 length Signed-off-by: Forrest Liu forre...@synology.com Reviewed-by: Liu Bo bo.li@oracle.com --- changelog: v2: fix typo key_offset replace WARN_ON with WARN_ON_ONCE fs/btrfs

[PATCH v2] Btrfs: btrfs_release_extent_buffer_page didn't free pages of dummy extent

2015-02-04 Thread Forrest Liu
...@synology.com Signed-off-by: Forrest Liu forre...@synology.com --- changelog: v2: do not call PagePrivate() if page is NULL fs/btrfs/extent_io.c | 51 ++- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/fs/btrfs/extent_io.c b/fs/btrfs

Re: [PATCH] Btrfs: fix BUG_ON in btrfs_orphan_add() when delete unused block group

2015-02-04 Thread Forrest Liu
+0x1d2/0x1e0 [btrfs] [ 613.218828] RSP 880039cf7c48 [ 613.220382] ---[ end trace 71073106deb8a457 ]--- The patch fix problem of BUG_ON Thanks, Forrest 2015-02-02 16:08 GMT+08:00 Forrest Liu forre...@synology.com: btrfs_orphan_reserve_metadata() will grab metadata reservation from

Re: [PATCH] Btrfs: fix BUG_ON in btrfs_orphan_add() when delete unused block group

2015-02-06 Thread Forrest Liu
2015-02-05 18:23 GMT+08:00 Filipe David Manana fdman...@gmail.com: On Wed, Feb 4, 2015 at 12:28 PM, Forrest Liu forre...@synology.com wrote: Kernel BUG_ON when running following script on kernel 3.19-rc7 mntpath=/btrfs loopdev=/dev/loop0 filepath=/volume2/100g_image umount $mntpath

[PATCH v3] Btrfs: btrfs_release_extent_buffer_page didn't free pages of dummy extent

2015-02-09 Thread Forrest Liu
command repeatly can check this memory leak problem btrfs inspect-internal inode-resolve 256 /mnt/btrfs Signed-off-by: Chien-Kuan Yeh c...@synology.com Signed-off-by: Forrest Liu forre...@synology.com --- V2: do not call PagePrivate if page is NULL V3: add reproducing step in commit message fs

[PATCH v2] Btrfs: fix BUG_ON in btrfs_orphan_add() when delete unused block group

2015-02-09 Thread Forrest Liu
() in btrfs_delete_unused_bgs() to revent BUG_ON() in btrfs_orphan_add() Signed-off-by: Forrest Liu forre...@synology.com --- V2: add reproducing step and call trace in commit message fs/btrfs/extent-tree.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c

[PATCH v3] Btrfs: fix find_free_dev_extent() malfunction in case device tree has hole

2015-02-09 Thread Forrest Liu
objectid 256 chunk offset 103108575232 length 1073741824 Signed-off-by: Forrest Liu forre...@synology.com Reviewed-by: Liu Bo bo.li@oracle.com --- V2: fix typo key_offset replace WARN_ON with WARN_ON_ONCE V3: add missing {} to stick to kernel coding style add reprducing step in commit

[PATCH] Btrfs: fix BUG_ON in btrfs_orphan_add() when delete unused block group

2015-02-02 Thread Forrest Liu
BUG_ON() in btrfs_orphan_add() Signed-off-by: Forrest Liu forre...@synology.com --- fs/btrfs/extent-tree.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index 53294da..61a3255 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs

[PATCH] Btrfs: fix find_free_dev_extent() malfunction in case device tree has hole

2015-02-01 Thread Forrest Liu
15715 itemsize 48 dev extent chunk_tree 3 chunk objectid 256 chunk offset 1071623700480 length Signed-off-by: Forrest Liu forre...@synology.com --- fs/btrfs/volumes.c | 15 +++ 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/fs/btrfs/volumes.c b/fs

[PATCH v3] Btrfs: fix BUG_ON in btrfs_orphan_add() when delete unused block group

2015-02-10 Thread Forrest Liu
() in btrfs_delete_unused_bgs() to revent BUG_ON() in btrfs_orphan_add() Signed-off-by: Forrest Liu forre...@synology.com --- V2: add reproducing step and call trace in commit message V3: fix a typo: becuase, in commit message fs/btrfs/extent-tree.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs

[PATCH] Btrfs: add missing blk_finish_plug in btrfs_sync_log()

2015-01-30 Thread Forrest Liu
Add missing blk_finish_plug in btrfs_sync_log() Signed-off-by: Forrest Liu forre...@synology.com --- fs/btrfs/tree-log.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c index a266587..06f0283 100644 --- a/fs/btrfs/tree-log.c +++ b/fs/btrfs/tree-log.c