Dear Qu, any news on your branch? I still don't see it merged anywhere.
Greets, Stefan Am 04.01.2017 um 17:13 schrieb Stefan Priebe - Profihost AG: > Hi Qu, > > Am 01.01.2017 um 10:32 schrieb Qu Wenruo: >> Hi Stefan, >> >> I'm trying to push it to for-next (will be v4.11), but no response yet. >> >> It would be quite nice for you to test the following git pull and give >> some feedback, so that we can merge it faster. >> >> https://mail-archive.com/linux-btrfs@vger.kernel.org/msg60418.html > > I'm also getting a notifier that wang's email does not exist anymore > (wangxg.f...@cn.fujitsu.com). > > I would like to test that branch will need some time todo so. Last time > i tried 4.10-rc1 i had the same problems like this guy: > https://www.marc.info/?l=linux-btrfs&m=148338312525137&w=2 > > Stefan > >> Thanks, >> Qu >> >> On 12/31/2016 03:31 PM, Stefan Priebe - Profihost AG wrote: >>> Any news on this series? I can't see it in 4.9 nor in 4.10-rc >>> >>> Stefan >>> >>> Am 11.11.2016 um 09:39 schrieb Wang Xiaoguang: >>>> When having compression enabled, Stefan Priebe ofen got enospc errors >>>> though fs still has much free space. Qu Wenruo also has submitted a >>>> fstests test case which can reproduce this bug steadily, please see >>>> url: https://patchwork.kernel.org/patch/9420527 >>>> >>>> First patch[1/3] "btrfs: improve inode's outstanding_extents >>>> computation" is to >>>> fix outstanding_extents and reserved_extents account issues. This >>>> issue was revealed >>>> by modifying BTRFS_MAX_EXTENT_SIZE(128MB) to 64KB, When modifying >>>> BTRFS_MAX_EXTENT_SIZE(128MB) to 64KB, fsstress test often gets these >>>> warnings from >>>> btrfs_destroy_inode(): >>>> WARN_ON(BTRFS_I(inode)->outstanding_extents); >>>> WARN_ON(BTRFS_I(inode)->reserved_extents); >>>> Please see this patch's commit message for detailed info, and this >>>> patch is >>>> necessary to patch2 and patch3. >>>> >>>> For false enospc, the root reasson is that for compression, its max >>>> extent size will >>>> be 128k, not 128MB. If we still use 128MB as max extent size to >>>> reserve metadata for >>>> compression, obviously it's not appropriate. In patch "btrfs: >>>> Introduce COMPRESS >>>> reserve type to fix false enospc for compression" commit message, >>>> we explain why false enospc error occurs, please see it for detailed >>>> info. >>>> >>>> To fix this issue, we introduce a new enum type: >>>> enum btrfs_metadata_reserve_type { >>>> BTRFS_RESERVE_NORMAL, >>>> BTRFS_RESERVE_COMPRESS, >>>> }; >>>> For btrfs_delalloc_[reserve|release]_metadata() and >>>> btrfs_delalloc_[reserve|release]_space(), we introce a new >>>> btrfs_metadata_reserve_type >>>> argument, then if a path needs to go compression, we pass >>>> BTRFS_RESERVE_COMPRESS, >>>> otherwise pass BTRFS_RESERVE_NORMAL. >>>> >>>> With these patchs, Stefan no longer saw such false enospc errors, and >>>> Qu Wenruo's >>>> fstests test case will also pass. I have also run whole fstests >>>> multiple times, >>>> no regression occurs, thanks. >>>> >>>> Wang Xiaoguang (3): >>>> btrfs: improve inode's outstanding_extents computation >>>> btrfs: introduce type based delalloc metadata reserve >>>> btrfs: Introduce COMPRESS reserve type to fix false enospc for >>>> compression >>>> >>>> fs/btrfs/ctree.h | 36 +++++-- >>>> fs/btrfs/extent-tree.c | 52 ++++++--- >>>> fs/btrfs/extent_io.c | 61 ++++++++++- >>>> fs/btrfs/extent_io.h | 5 + >>>> fs/btrfs/file.c | 25 +++-- >>>> fs/btrfs/free-space-cache.c | 6 +- >>>> fs/btrfs/inode-map.c | 6 +- >>>> fs/btrfs/inode.c | 246 >>>> ++++++++++++++++++++++++++++++++++--------- >>>> fs/btrfs/ioctl.c | 16 +-- >>>> fs/btrfs/relocation.c | 14 ++- >>>> fs/btrfs/tests/inode-tests.c | 15 +-- >>>> 11 files changed, 381 insertions(+), 101 deletions(-) >>>> >>> -- >>> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in >>> the body of a message to majord...@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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html