Re: [GIT PULL] Btrfs fix for 5.12-rc7
The pull request you sent on Sun, 11 Apr 2021 15:55:41 +0200: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.12-rc6-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/7d900724913cb293620a05c5a3134710db95d0d9 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[GIT PULL] Btrfs fix for 5.12-rc7
From: David Sterba Hi, here's one more patch that we'd like to get to 5.12 before release, it's changing where and how the superblock is stored in the zoned mode. It is an on-disk format change but so far there are no implications for users as the proper mkfs support hasn't been merged and is waiting for the kernel side to settle. Until now, the superblocks were derived from the zone index, but zone size can differ per device. This is changed to be based on fixed offset values, to make it independent of the device zone size. The work on that got a bit delayed, we discussed the exact locations to support potential device sizes and usecases. (Partially delayed also due to my vacation.) Having that in the same release where the zoned mode is declared usable is highly desired, there are userspace projects that need to be updated to recognize the feature. Pushing that to the next release would make things harder to test. Please pull, thanks. The following changes since commit c1d6abdac46ca8127274bea195d804e3f2cec7ee: btrfs: fix check_data_csum() error message for direct I/O (2021-03-18 21:25:11 +0100) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.12-rc6-tag for you to fetch changes up to 53b74fa990bf76f290aa5930abfcf37424a1a865: btrfs: zoned: move superblock logging zone location (2021-04-10 12:13:16 +0200) Naohiro Aota (1): btrfs: zoned: move superblock logging zone location fs/btrfs/zoned.c | 53 ++--- 1 file changed, 42 insertions(+), 11 deletions(-)
Re: [GIT PULL] Btrfs fixes for 5.12-rc5
The pull request you sent on Thu, 25 Mar 2021 22:36:55 +0100: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.12-rc4-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/701c09c988bd60d950d49c48993b6c06efbfba7f Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[GIT PULL] Btrfs fixes for 5.12-rc5
From: David Sterba Hi, there are few fixes for issues that have some user visibility and are simple enough for this time of development cycle. Please pull thanks. - a few fixes for rescue= mount option, adding more checks for missing trees - fix sleeping in atomic context on qgroup deletion - fix subvolume deletion on mount - fix build with M= syntax - fix checksum mismatch error message for direct io The following changes since commit 485df75554257e883d0ce39bb886e8212349748e: btrfs: always pin deleted leaves when there are active tree mod log users (2021-03-16 20:32:22 +0100) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.12-rc4-tag for you to fetch changes up to c1d6abdac46ca8127274bea195d804e3f2cec7ee: btrfs: fix check_data_csum() error message for direct I/O (2021-03-18 21:25:11 +0100) David Sterba (1): btrfs: fix build when using M=fs/btrfs Filipe Manana (2): btrfs: fix subvolume/snapshot deletion not triggered on mount btrfs: fix sleep while in non-sleep context during qgroup removal Johannes Thumshirn (1): btrfs: zoned: remove outdated WARN_ON in direct IO Josef Bacik (3): btrfs: do not initialize dev stats if we have no dev_root btrfs: initialize device::fs_info always btrfs: do not initialize dev replace for bad dev root Omar Sandoval (1): btrfs: fix check_data_csum() error message for direct I/O fs/btrfs/Makefile | 10 ++ fs/btrfs/dev-replace.c | 3 +++ fs/btrfs/disk-io.c | 19 +-- fs/btrfs/inode.c | 18 +- fs/btrfs/qgroup.c | 12 ++-- fs/btrfs/volumes.c | 3 +++ 6 files changed, 48 insertions(+), 17 deletions(-)
Re: [GIT PULL] Btrfs fixes for 5.12-rc4
The pull request you sent on Thu, 18 Mar 2021 21:14:11 +0100: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.12-rc3-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/81aa0968b7ea6dbabcdcda37dc8434dca6e1565b Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[GIT PULL] Btrfs fixes for 5.12-rc4
From: David Sterba Hi, there are still regressions being found and fixed in the zoned mode and subpage code, the rest are fixes for bugs reported by users. Please pull, thanks. Regressions: - subpage block support: - readahead works on the proper block size - fix last page zeroing - zoned mode: - linked list corruption for tree log Fixes: - qgroup leak after falloc faiulre - tree mod log and backref resolving - extent buffer cloning race when resolving backrefs - pin deleted leaves with active tree mod log users - drop debugging flag from slab cache The following changes since commit badae9c86979c459bd7d895d6d7ddc7a01131ff7: btrfs: zoned: do not account freed region of read-only block group as zone_unusable (2021-03-04 16:16:58 +0100) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.12-rc3-tag for you to fetch changes up to 485df75554257e883d0ce39bb886e8212349748e: btrfs: always pin deleted leaves when there are active tree mod log users (2021-03-16 20:32:22 +0100) David Sterba (1): btrfs: fix slab cache flags for free space tree bitmap Filipe Manana (3): btrfs: zoned: fix linked list corruption after log root tree allocation failure btrfs: fix race when cloning extent buffer during rewind of an old root btrfs: always pin deleted leaves when there are active tree mod log users Qu Wenruo (5): btrfs: fix wrong offset to zero out range beyond i_size btrfs: track qgroup released data in own variable in insert_prealloc_file_extent btrfs: fix qgroup data rsv leak caused by falloc failure btrfs: subpage: fix wild pointer access during metadata read failure btrfs: subpage: make readahead work properly fs/btrfs/ctree.c | 2 ++ fs/btrfs/extent-tree.c | 23 ++- fs/btrfs/extent_io.c | 33 +++-- fs/btrfs/inode.c | 37 ++--- fs/btrfs/reada.c | 35 ++- fs/btrfs/tree-log.c| 8 6 files changed, 103 insertions(+), 35 deletions(-)
Re: [GIT PULL] Btrfs fixes for 5.12-rc1, part 2
The pull request you sent on Fri, 5 Mar 2021 16:55:17 +0100: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.12-rc1-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/f09b04cc6447331e731629e8b72587287f3a4490 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[GIT PULL] Btrfs fixes for 5.12-rc1, part 2
From: David Sterba Hi, more regression fixes and stabilization. Please pull, thanks. Regressions: - zoned mode - count zone sizes in wider int types - fix space accounting for read-only block groups - subpage: fix page tail zeroing Fixes: - fix spurious warning when remounting with free space tree - fix warning when creating a directory with smack enabled - ioctl checks for qgroup inheritance when creating a snapshot - qgroup - fix missing unlock on error path in zero range - fix amount of released reservation on error - fix flushing from unsafe context with open transaction, potentially deadlocking - minor build warning fixes The following changes since commit 6e37d245994189ba757df7dc2950a44d31421ac6: btrfs: zoned: fix deadlock on log sync (2021-02-22 18:08:48 +0100) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.12-rc1-tag for you to fetch changes up to badae9c86979c459bd7d895d6d7ddc7a01131ff7: btrfs: zoned: do not account freed region of read-only block group as zone_unusable (2021-03-04 16:16:58 +0100) Boris Burkov (1): btrfs: fix spurious free_space_tree remount warning Dan Carpenter (1): btrfs: validate qgroup inherit for SNAP_CREATE_V2 ioctl Filipe Manana (1): btrfs: fix warning when creating a directory with smack enabled Naohiro Aota (2): btrfs: zoned: use sector_t for zone sectors btrfs: zoned: do not account freed region of read-only block group as zone_unusable Nikolay Borisov (4): btrfs: unlock extents in btrfs_zero_range in case of quota reservation errors btrfs: free correct amount of space in btrfs_delayed_inode_reserve_metadata btrfs: export and rename qgroup_reserve_meta btrfs: don't flush from btrfs_delayed_inode_reserve_metadata Qu Wenruo (1): btrfs: subpage: fix the false data csum mismatch error Randy Dunlap (1): btrfs: ref-verify: use 'inline void' keyword ordering fs/btrfs/delayed-inode.c| 5 +++-- fs/btrfs/extent_io.c| 21 - fs/btrfs/file.c | 5 - fs/btrfs/free-space-cache.c | 7 ++- fs/btrfs/inode.c| 2 +- fs/btrfs/ioctl.c| 19 ++- fs/btrfs/qgroup.c | 8 fs/btrfs/qgroup.h | 2 ++ fs/btrfs/ref-verify.c | 4 ++-- fs/btrfs/super.c| 4 ++-- fs/btrfs/xattr.c| 31 +++ fs/btrfs/zoned.c| 4 ++-- 12 files changed, 87 insertions(+), 25 deletions(-)
Re: [GIT PULL] Btrfs updates for 5.12-rc2
The pull request you sent on Mon, 1 Mar 2021 14:44:16 +0100: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.12-rc1-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/c608aca57dd034d09f307b109b670d1cfb829279 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[GIT PULL] Btrfs updates for 5.12-rc2
From: David Sterba Hi, first batch of fixes that usually arrive during the merge window code freeze. Regressions and stable material. Please pull, thanks. Regressions: - fix deadlock in log sync in zoned mode - fix bugs in subpage mode still wrongly assuming sectorsize == page size Fixes: - fix missing kunmap of the Q stripe in RAID6 - block group fixes: - fix race between extent freeing/allocation when using bitmaps - avoid double put of block group when emptying cluster - swapfile fixes: - fix swapfile writes vs running scrub - fix swapfile activation vs snapshot creation - fix stale data exposure after cloning a hole with NO_HOLES enabled - remove tree-checker check that does not work in case information from other leaves is necessary The following changes since commit 9d294a685fbcb256ce8c5f7fd88a7596d0f52a8a: btrfs: zoned: enable to mount ZONED incompat flag (2021-02-09 02:52:24 +0100) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.12-rc1-tag for you to fetch changes up to 6e37d245994189ba757df7dc2950a44d31421ac6: btrfs: zoned: fix deadlock on log sync (2021-02-22 18:08:48 +0100) Filipe Manana (4): btrfs: avoid checking for RO block group twice during nocow writeback btrfs: fix race between writes to swap files and scrub btrfs: fix race between swap file activation and snapshot creation btrfs: fix stale data exposure after cloning a hole with NO_HOLES enabled Ira Weiny (1): btrfs: fix raid6 qstripe kmap Johannes Thumshirn (1): btrfs: zoned: fix deadlock on log sync Josef Bacik (2): btrfs: tree-checker: do not error out if extent ref hash doesn't match btrfs: avoid double put of block group when emptying cluster Nikolay Borisov (1): btrfs: fix race between extent freeing/allocation when using bitmaps Qu Wenruo (2): btrfs: make btrfs_submit_compressed_read() subpage compatible btrfs: make check_compressed_csum() to be subpage compatible fs/btrfs/block-group.c | 33 +++- fs/btrfs/block-group.h | 9 +++ fs/btrfs/compression.c | 62 +++-- fs/btrfs/ctree.h| 5 fs/btrfs/free-space-cache.c | 14 +- fs/btrfs/inode.c| 44 +++- fs/btrfs/raid56.c | 21 --- fs/btrfs/reflink.c | 18 + fs/btrfs/scrub.c| 9 ++- fs/btrfs/tree-checker.c | 16 +++- fs/btrfs/tree-log.c | 3 --- 11 files changed, 175 insertions(+), 59 deletions(-)
Re: [GIT PULL] Btrfs updates for 5.12
The pull request you sent on Tue, 16 Feb 2021 13:56:46 +0100: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.12-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/6f3952cbe00b74739f540981d1afe84cd4dac879 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[GIT PULL] Btrfs updates for 5.12
Hi, this update brings updates of space handling, performance improvements or bug fixes. The subpage block size and zoned mode features have reached state where they're usable but with limitations. The branch merges cleanly on top of current master, there are some minor conflicts reported by linux-next in iov_iter or kmap conversion. Please pull, thanks. - Performance or related - do not block on deleted block group mutex in the cleaner, avoids some long stalls - improved flushing: make it work better with ticket space reservations and avoid excessive transaction commits in some scenarios, slightly improves throughput for random write load - preemptive background flushing: separate the logic from ticket reservations, improve the accounting and decisions when to flush in low space conditions - less lock contention related to running delayed refs, let just one thread do the flushing when there are many inside transaction commit - dbench workload improvements: avoid unnecessary work when logging inodes, fewer fallbacks to transaction commit and thus less waiting for it (+7% throughput, -20% latency) - Core - subpage block size - currently read-only support - refactor and generalize code where sectorsize is assumed to be page size, add the subpage handling everywhere - the read-write support is on the way, page sizes are still limited to 4K or 64K - zoned mode, first working version but with limitations - SMR/ZBC/ZNS friendly allocation mode, utilizing the "no fixed location for structures" and chunked allocation - superblock as the only fixed data structure needs special handling, uses 2 consecutive zones as a ring buffer - tree-log support with a dedicated block group to avoid unordered writes - emulated zones on non-zoned devices - not yet working - all non-single block group profiles, requires more zone write pointer synchronization between the multiple block groups - fitrim due to dependency on space cache, can be implemented - Fixes - ref-verify: proper tree owner and node level tracking - fix pinned byte accounting, causing some early ENOSPC now more likely due to other changes in delayed refs - Other - error handling fixes and improvements - more error injection points - more function documentation - more and updated tracepoints - subset of W=1 checked by default - update comments to allow more automatic kdoc parameter checks The following changes since commit e0756cfc7d7cd08c98a53b6009c091a3f6a50be6: Merge tag 'trace-v5.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace (2021-02-08 11:32:39 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.12-tag for you to fetch changes up to 9d294a685fbcb256ce8c5f7fd88a7596d0f52a8a: btrfs: zoned: enable to mount ZONED incompat flag (2021-02-09 02:52:24 +0100) Abaci Team (1): btrfs: simplify condition in __btrfs_run_delayed_items Filipe Manana (10): btrfs: send: remove stale code when checking for shared extents btrfs: remove wrong comment for can_nocow_extent() btrfs: remove unnecessary directory inode item update when deleting dir entry btrfs: stop setting nbytes when filling inode item for logging btrfs: avoid logging new ancestor inodes when logging new inode btrfs: skip logging directories already logged when logging all parents btrfs: skip logging inodes already logged when logging new entries btrfs: remove unnecessary check_parent_dirs_for_sync() btrfs: make concurrent fsyncs wait less when waiting for a transaction commit btrfs: fix extent buffer leak on failure to copy root Johannes Thumshirn (7): block: add bio_add_zone_append_page btrfs: release path before calling to btrfs_load_block_group_zone_info btrfs: zoned: do not load fs_info::zoned from incompat flag btrfs: zoned: allow zoned filesystems on non-zoned block devices btrfs: zoned: check if bio spans across an ordered extent btrfs: zoned: cache if block group is on a sequential zone btrfs: save irq flags when looking up an ordered extent Josef Bacik (34): btrfs: fix error handling in commit_fs_roots btrfs: allow error injection for btrfs_search_slot and btrfs_cow_block btrfs: noinline btrfs_should_cancel_balance btrfs: ref-verify: pass down tree block level when building refs btrfs: ref-verify: make sure owner is set for all refs btrfs: keep track of the root owner for relocation reads btrfs: do not cleanup upper nodes in btrfs_backref_cleanup_node btrfs: handle space_info::total_bytes_pinned inside the delayed ref itself btrfs: account
Re: [GIT PULL] Btrfs fix for 5.11-rc8
The pull request you sent on Sat, 13 Feb 2021 14:02:31 +0100: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.11-rc7-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/e42ee56fe59759023cb252fabb3d6f279fe8cec8 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[GIT PULL] Btrfs fix for 5.11-rc8
Hi, a regression fix caused by a refactoring in 5.11. A corrupted superblock wouldn't be detected by checksum verification due to wrongly placed initialization of the checksum length, thus making memcmp always work. I've verified it manually and ran other test suites before sending this. Please pull, thanks. The following changes since commit 9ad6d91f056b99dbe59a262810cb342519ea8d39: btrfs: fix log replay failure due to race with space cache rebuild (2021-01-25 18:44:53 +0100) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.11-rc7-tag for you to fetch changes up to 83c68bbcb6ac2dbbcaf12e2281a29a9f73b97d0f: btrfs: initialize fs_info::csum_size earlier in open_ctree (2021-02-12 14:48:24 +0100) Su Yue (1): btrfs: initialize fs_info::csum_size earlier in open_ctree fs/btrfs/disk-io.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
Re: [GIT PULL] Btrfs fixes for 5.11-rc6
The pull request you sent on Sat, 30 Jan 2021 01:35:38 +0100: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.11-rc5-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/c05d51c773fb365bdbd683b3e4e80679c8b8b176 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
Re: [GIT PULL] Btrfs fixes for 5.11-rc6
On Fri, Jan 29, 2021 at 4:37 PM David Sterba wrote: > > I'm not sure the first post of this pull request made it through so > sending again. Already merged a few hours ago as commit c05d51c773fb. But you may have fallen afoul of the "either lkml or lore is sick" issue, so pr-tracker-bot isn't working. We've had a few of those lately. Linus
[GIT PULL] Btrfs fixes for 5.11-rc6
Hi, I'm not sure the first post of this pull request made it through so sending again. A few more fixes for a late rc: - fix lockdep complaint on 32bit arches and also remove an unsafe memory use due to device vs filesystem lifetime - two fixes for free space tree - race during log replay and cache rebuild, now more likely to happen due to changes in this dev cycle - possible free space tree corruption with online conversion during initial tree population Please pull, thanks. The following changes since commit 34d1eb0e599875064955a74712f08ff14c8e3d5f: btrfs: don't clear ret in btrfs_start_dirty_block_groups (2021-01-18 16:00:11 +0100) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.11-rc5-tag for you to fetch changes up to 9ad6d91f056b99dbe59a262810cb342519ea8d39: btrfs: fix log replay failure due to race with space cache rebuild (2021-01-25 18:44:53 +0100) Filipe Manana (1): btrfs: fix log replay failure due to race with space cache rebuild Josef Bacik (1): btrfs: fix possible free space tree corruption with online conversion Su Yue (1): btrfs: fix lockdep warning due to seqcount_mutex on 32bit arch fs/btrfs/block-group.c | 10 +++- fs/btrfs/ctree.h | 3 +++ fs/btrfs/extent-tree.c | 61 ++ fs/btrfs/free-space-tree.c | 10 +++- fs/btrfs/volumes.c | 2 +- fs/btrfs/volumes.h | 11 + 6 files changed, 46 insertions(+), 51 deletions(-)
Re: [GIT PULL] Btrfs fixes for 5.11-rc5
The pull request you sent on Wed, 20 Jan 2021 22:49:46 +0100: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.11-rc4-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/9791581c049c10929e97098374dd1716a81fefcc Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[GIT PULL] Btrfs fixes for 5.11-rc5
Hi, a few more one line fixes for various bugs, stable material. - fix send when emitting clone operation from the same file and root - fix double free on error when cleaning backrefs - lockdep fix during relocation - handle potential error during reloc when starting transaction - skip running delayed refs during commit (leftover from code removal in this dev cycle) Please pull thanks. The following changes since commit e076ab2a2ca70a0270232067cd49f76cd92efe64: btrfs: shrink delalloc pages instead of full inodes (2021-01-08 16:36:44 +0100) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.11-rc4-tag for you to fetch changes up to 34d1eb0e599875064955a74712f08ff14c8e3d5f: btrfs: don't clear ret in btrfs_start_dirty_block_groups (2021-01-18 16:00:11 +0100) David Sterba (1): btrfs: no need to run delayed refs after commit_fs_roots during commit Filipe Manana (1): btrfs: send: fix invalid clone operations when cloning from the same file and root Josef Bacik (4): btrfs: don't get an EINTR during drop_snapshot for reloc btrfs: do not double free backref nodes on error btrfs: fix lockdep splat in btrfs_recover_relocation btrfs: don't clear ret in btrfs_start_dirty_block_groups fs/btrfs/backref.c | 2 +- fs/btrfs/block-group.c | 3 ++- fs/btrfs/extent-tree.c | 10 +- fs/btrfs/send.c| 15 +++ fs/btrfs/transaction.c | 8 fs/btrfs/volumes.c | 2 ++ 6 files changed, 29 insertions(+), 11 deletions(-)
Re: [GIT PULL] Btrfs fixes for 5.11-rc4
The pull request you sent on Mon, 11 Jan 2021 22:09:55 +0100: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.11-rc3-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/6e68b9961ff690ace07fac22c3c7752882ecc40a Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[GIT PULL] Btrfs fixes for 5.11-rc4
Hi, more material for stable trees. Please pull, thanks. - tree-checker: check item end overflow - fix false warning during relocation regarding extent type - fix inode flushing logic, caused notable performance regression (since 5.10) - debugging fixups: - print correct offset for reloc tree key - pass reliable fs_info pointer to error reporting helper The following changes since commit a8cc263eb58ca133617662a5a5e07131d0ebf299: btrfs: run delayed iputs when remounting RO to avoid leaking them (2020-12-18 15:00:08 +0100) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.11-rc3-tag for you to fetch changes up to e076ab2a2ca70a0270232067cd49f76cd92efe64: btrfs: shrink delalloc pages instead of full inodes (2021-01-08 16:36:44 +0100) Josef Bacik (2): btrfs: print the actual offset in btrfs_root_name btrfs: shrink delalloc pages instead of full inodes Qu Wenruo (1): btrfs: reloc: fix wrong file extent type check to avoid false ENOENT Su Yue (2): btrfs: prevent NULL pointer dereference in extent_io_tree_panic btrfs: tree-checker: check if chunk item end overflows fs/btrfs/disk-io.c | 2 +- fs/btrfs/extent_io.c| 4 +--- fs/btrfs/inode.c| 60 +++-- fs/btrfs/print-tree.c | 10 - fs/btrfs/print-tree.h | 2 +- fs/btrfs/relocation.c | 7 +- fs/btrfs/space-info.c | 4 +++- fs/btrfs/tree-checker.c | 7 ++ 8 files changed, 67 insertions(+), 29 deletions(-)
Re: [GIT PULL] Btrfs fixes for 5.11-rc3
The pull request you sent on Wed, 6 Jan 2021 12:48:12 +0100: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.11-rc2-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/71c061d2443814de15e177489d5cc00a4a253ef3 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[GIT PULL] Btrfs fixes for 5.11-rc3
Hi, a few more fixes that arrived before the end of the year. Please pull, thanks. - a bunch of fixes related to transaction handle lifetime wrt various operations (umount, remount, qgroup scan, orphan cleanup) - async discard scheduling fixes - fix item size calculation when item keys collide for extend refs (hardlinks) - fix qgroup flushing from running transaction - fix send, wrong file path when there is an inode with a pending rmdir - fix deadlock when cloning inline extent and low on free metadata space The following changes since commit b42fe98c92698d2a10094997e5f4d2dd968fd44f: btrfs: scrub: allow scrub to work with subpage sectorsize (2020-12-09 19:16:11 +0100) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.11-rc2-tag for you to fetch changes up to a8cc263eb58ca133617662a5a5e07131d0ebf299: btrfs: run delayed iputs when remounting RO to avoid leaking them (2020-12-18 15:00:08 +0100) Filipe Manana (7): btrfs: fix deadlock when cloning inline extent and low on free metadata space btrfs: send: fix wrong file path when there is an inode with a pending rmdir btrfs: fix transaction leak and crash after RO remount caused by qgroup rescan btrfs: fix transaction leak and crash after cleaning up orphans on RO mount btrfs: fix race between RO remount and the cleaner task btrfs: add assertion for empty list of transactions at late stage of umount btrfs: run delayed iputs when remounting RO to avoid leaking them Josef Bacik (1): btrfs: tests: initialize test inodes location Pavel Begunkov (3): btrfs: fix async discard stall btrfs: fix racy access to discard_ctl data btrfs: merge critical sections of discard lock in workfn Qu Wenruo (1): btrfs: qgroup: don't try to wait flushing if we're already holding a transaction ethanwu (1): btrfs: correctly calculate item size used when item key collision happens fs/btrfs/btrfs_inode.h | 9 ++ fs/btrfs/ctree.c | 24 +-- fs/btrfs/ctree.h | 29 -- fs/btrfs/dev-replace.c | 2 +- fs/btrfs/discard.c | 70 +++- fs/btrfs/disk-io.c | 13 fs/btrfs/extent-tree.c | 2 ++ fs/btrfs/file-item.c | 2 ++ fs/btrfs/inode.c | 15 +++--- fs/btrfs/ioctl.c | 2 +- fs/btrfs/qgroup.c| 43 +++ fs/btrfs/reflink.c | 15 ++ fs/btrfs/send.c | 49 +++ fs/btrfs/space-info.c| 2 +- fs/btrfs/super.c | 40 +++-- fs/btrfs/tests/btrfs-tests.c | 10 +-- fs/btrfs/tests/inode-tests.c | 9 -- fs/btrfs/volumes.c | 4 +-- 18 files changed, 243 insertions(+), 97 deletions(-)
Re: [GIT PULL] Btrfs updates for 5.11
The pull request you sent on Mon, 14 Dec 2020 16:15:53 +0100: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.11-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/f1ee3b8829006b3fda999f00f0059aa327e3f3d0 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[GIT PULL] Btrfs updates for 5.11
Hi, we have a mix of all kinds of changes, feature updates, core stuff, performance improvements and lots of cleanups and preparatory changes. There are no merge conflicts against current master branch, in past weeks some conflicts emerged in linux-next but IIRC were trivial. Please pull, thanks. User visible: - export filesystem generation in sysfs - new features for mount option 'rescue' - what's currently supported is exported in sysfs - ignorebadroots/ibadroots - continue even if some essential tree roots are not usable (extent, uuid, data reloc, device, csum, free space) - ignoredatacsums/idatacsums - skip checksum verification on data - all - now enables ignorebadroots + ignoredatacsums + nologreplay - export read mirror policy settings to sysfs, new policies will be added in the future - remove inode number cache feature (mount -o inode_cache), obsoleted in 5.9 User visible fixes: - async discard scheduling fixes on high loads - update inode byte counter atomically so stat() does not report wrong value in some cases - free space tree fixes - correctly report status of v2 after remount - clear v1 cache inodes when v2 is newly enabled after remount Core: - switch own tree lock implementation to standard rw semaphore - one-level lock nesting is not required anymore, the last use of this was in free space that's now loaded asynchronously - own implementation of adaptive spinning before taking mutex has been part of rwsem - performance seems to be better in general, much better (+tens of percents) for some workloads - lockdep does not complain - finish direct IO conversion to iomap infrastructure, remove temporary workaround for DSYNC after iomap API updates - preparatory work to support data and metadata blocks smaller than page - generalize code that assumes sectorsize == PAGE_SIZE, lots of refactoring - planned namely for 64K pages (eg. arm64, ppc64) - scrub read-only support - preparatory work for zoned allocation mode (SMR/ZBC/ZNS friendly) - disable incompatible features - round-robin superblock write - free space cache (v1) is loaded asynchronously, remove tree path recursion - slightly improved time tacking for transaction kthread wake ups Performance improvements (note that the numbers depend on load type or other features and weren't run on the same machine): - skip unnecessary work: - do not start readahead for csum tree when scrubbing non-data block groups - do not start and wait for delalloc on snapshot roots on transaction commit - fix race when defragmenting leads to unnecessary IO - dbench speedups (+throughput%/-max latency%) - skip unnecessary searches for xattrs when logging an inode (+10.8/-8.2) - stop incrementing log batch when joining log transaction (1-2) - unlock path before checking if extent is shared during nocow writeback (+5.0/-20.5), on fio load +9.7% throughput/-9.8% runtime - several tree log improvements, eg. removing unnecessary operations, fixing races that lead to additional work (+12.7/-8.2) - tree-checker error branches annotated with unlikely() (+3% throughput) Other: - cleanups - lockdep fixes - more btrfs_inode conversions - error variable cleanups The following changes since commit 0477e92881850d44910a7e94fc2c46f96faa131f: Linux 5.10-rc7 (2020-12-06 14:25:12 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.11-tag for you to fetch changes up to b42fe98c92698d2a10094997e5f4d2dd968fd44f: btrfs: scrub: allow scrub to work with subpage sectorsize (2020-12-09 19:16:11 +0100) Anand Jain (7): btrfs: sysfs: export filesystem generation btrfs: add helper for string match ignoring leading/trailing whitespace btrfs: create read policy framework btrfs: sysfs: add per-fs attribute for read policy btrfs: drop unused argument step from btrfs_free_extra_devids btrfs: drop never met disk total bytes check in verify_one_dev_extent btrfs: remove unused argument seed from btrfs_find_device Boris Burkov (12): btrfs: lift read-write mount setup from mount and remount btrfs: start orphan cleanup on ro->rw remount btrfs: only mark bg->needs_free_space if free space tree is on btrfs: create free space tree on ro->rw remount btrfs: clear oneshot options on mount and remount btrfs: clear free space tree on ro->rw remount btrfs: keep sb cache_generation consistent with space_cache btrfs: use superblock state to print space_cache mount option btrfs: warn when remount will not change the free space tree btrfs: remove free space items when disabling space cache v1 btrfs: skip space_cache v1 setup when not using it btrfs: fix lockdep warning when creati
Re: [GIT PULL] Btrfs fixes for 5.10-rc6
The pull request you sent on Fri, 27 Nov 2020 16:36:15 +0100: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.10-rc5-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/a17a3ca55e96d20e25e8b1a7cd08192ce2bac3cc Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[GIT PULL] Btrfs fixes for 5.10-rc6
Hi, a few fixes for various warnings that accumulated over past two weeks. - tree-checker: add missing return values for some errors - lockdep fixes - when reading qgroup config and starting quota rescan - reverse order of quota ioctl lock and VFS freeze lock - avoid accessing potentially stale fs info during device scan, reported by syzbot - add scope NOFS protection around qgroup relation changes - check for running transaction before flushing qgroups - fix tracking of new delalloc ranges for some cases Please pull, thanks. The following changes since commit 468600c6ec28613b756193c5f780aac062f1acdf: btrfs: ref-verify: fix memory leak in btrfs_ref_tree_mod (2020-11-05 13:03:39 +0100) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.10-rc5-tag for you to fetch changes up to a855fbe69229078cd8aecd8974fb996a5ca651e6: btrfs: fix lockdep splat when enabling and disabling qgroups (2020-11-23 21:16:43 +0100) Daniel Xu (1): btrfs: tree-checker: add missing return after error in root_item David Sterba (1): btrfs: tree-checker: add missing returns after data_ref alignment checks Filipe Manana (4): btrfs: fix missing delalloc new bit for new delalloc ranges btrfs: fix lockdep splat when reading qgroup config on mount btrfs: do nofs allocations when adding and removing qgroup relations btrfs: fix lockdep splat when enabling and disabling qgroups Johannes Thumshirn (1): btrfs: don't access possibly stale fs_info data for printing duplicate device Qu Wenruo (1): btrfs: qgroup: don't commit transaction when we already hold the handle fs/btrfs/ctree.h | 5 ++- fs/btrfs/file.c | 57 fs/btrfs/inode.c | 58 + fs/btrfs/qgroup.c| 88 +++- fs/btrfs/tests/inode-tests.c | 12 -- fs/btrfs/tree-checker.c | 3 ++ fs/btrfs/volumes.c | 8 +++- 7 files changed, 158 insertions(+), 73 deletions(-)
Re: [GIT PULL] Btrfs updates for v5.10-rc4
The pull request you sent on Tue, 10 Nov 2020 17:05:52 +0100: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.10-rc3-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/e2f0c565ec70eb9e4d3b98deb5892af62de8b98d Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[GIT PULL] Btrfs updates for v5.10-rc4
Hi, a handful of minor fixes and updates: - handle missing device replace item on mount (syzbot report) - fix space reservation calculation when finishing relocation - fix memory leak on error path in ref-verify (debugging feature) - fix potential overflow during defrag on 32bit arches - minor code update to silence smatch warning - minor error message updates Please pull, thanks. The following changes since commit d5c8238849e7bae6063dfc16c08ed62cee7ee688: btrfs: convert data_seqcount to seqcount_mutex_t (2020-10-27 15:11:51 +0100) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.10-rc3-tag for you to fetch changes up to 468600c6ec28613b756193c5f780aac062f1acdf: btrfs: ref-verify: fix memory leak in btrfs_ref_tree_mod (2020-11-05 13:03:39 +0100) Anand Jain (1): btrfs: dev-replace: fail mount if we don't have replace item with target device Dan Carpenter (1): btrfs: clean up NULL checks in qgroup_unreserve_range() David Sterba (1): btrfs: scrub: update message regarding read-only status Dinghao Liu (1): btrfs: ref-verify: fix memory leak in btrfs_ref_tree_mod Josef Bacik (2): btrfs: print the block rsv type when we fail our reservation btrfs: fix min reserved size calculation in merge_reloc_root Matthew Wilcox (Oracle) (1): btrfs: fix potential overflow in cluster_pages_for_defrag on 32bit arch fs/btrfs/block-rsv.c | 3 ++- fs/btrfs/dev-replace.c | 26 -- fs/btrfs/ioctl.c | 10 -- fs/btrfs/qgroup.c | 12 fs/btrfs/ref-verify.c | 1 + fs/btrfs/relocation.c | 4 +++- fs/btrfs/scrub.c | 5 +++-- fs/btrfs/volumes.c | 26 +++--- 8 files changed, 48 insertions(+), 39 deletions(-)
Re: [GIT PULL] Btrfs fixes for 5.10-rc2
The pull request you sent on Fri, 30 Oct 2020 17:12:27 +0100: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.10-rc1-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/f5d808567a51d97e171e0a8111813f973bf4ac12 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[GIT PULL] Btrfs fixes for 5.10-rc2
Hi, please pull the following branch with fixes. Thanks. - lockdep fixes - drop path locks before manipulating sysfs objects or qgroups - preliminary fixes before tree locks get switched to rwsem - use annotated seqlock - build warning fixes (printk format) - fix relocation vs fallocate race - tree checker properly validates number of stripes and parity - readahead vs device replace fixes - iomap dio fix for unnecessary buffered io fallback The following changes since commit 1fd4033dd011a3525bacddf37ab9eac425d25c4f: btrfs: rename BTRFS_INODE_ORDERED_DATA_CLOSE flag (2020-10-07 12:18:00 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.10-rc1-tag for you to fetch changes up to d5c8238849e7bae6063dfc16c08ed62cee7ee688: btrfs: convert data_seqcount to seqcount_mutex_t (2020-10-27 15:11:51 +0100) Daniel Xu (1): btrfs: tree-checker: validate number of chunk stripes and parity Davidlohr Bueso (1): btrfs: convert data_seqcount to seqcount_mutex_t Filipe Manana (3): btrfs: fix relocation failure due to race with fallocate btrfs: fix use-after-free on readahead extent after failure to create it btrfs: fix readahead hang and use-after-free after removing a device Johannes Thumshirn (1): btrfs: don't fallback to buffered read if we don't need to Josef Bacik (3): btrfs: drop the path before adding block group sysfs files btrfs: drop the path before adding qgroup items when enabling qgroups btrfs: add a helper to read the tree_root commit root for backref lookup Pujin Shi (1): btrfs: tree-checker: fix incorrect printk format fs/btrfs/backref.c | 13 - fs/btrfs/block-group.c | 1 + fs/btrfs/ctree.h| 2 + fs/btrfs/dev-replace.c | 5 ++ fs/btrfs/disk-io.c | 139 ++-- fs/btrfs/disk-io.h | 3 ++ fs/btrfs/extent-tree.c | 2 +- fs/btrfs/file.c | 3 +- fs/btrfs/inode.c| 8 ++- fs/btrfs/qgroup.c | 18 +++ fs/btrfs/reada.c| 47 fs/btrfs/tree-checker.c | 18 +++ fs/btrfs/volumes.c | 5 +- fs/btrfs/volumes.h | 12 ++--- 14 files changed, 225 insertions(+), 51 deletions(-)
Re: [GIT PULL] Btrfs updates for 5.10
Hi, On Thu, Oct 15, 2020 at 11:40:11AM +1100, Stephen Rothwell wrote: > Hi David, > On Mon, 12 Oct 2020 22:25:02 +0200 David Sterba wrote: > > > > Mishaps: > > > > - commit 62cf5391209a ("btrfs: move btrfs_rm_dev_replace_free_srcdev > > outside of all locks") is a rebase leftover after the patch got > > merged to 5.9-rc8 as a466c85edc6f ("btrfs: move > > btrfs_rm_dev_replace_free_srcdev outside of all locks"), the > > remaining part is trivial and the patch is in the middle of the > > series so I'm keeping it there instead of rebasing > > And yet, this entire pull request has been rebased since what was in > linux-next on Tuesday (and what would still be there today except I > dropped it because of several conflicts) ... it looks like it was > rebased a week ago, but then never included in your "for-next" branch. > So I supposed it has had your internal testing, at least. I was on vacation last week and rebased the to-be-pulled branch on top of v5.9-rc8 so there are at least a few days before the pull request is sent. The patch queue was feature frozen for 2 weeks, there should be no surprises whether it's rc7 or rc8, but the latter contained a corruption fix so it was desirable to rebase the development queue. Due to my limited time I forgot to update the for-next branches, sorry. We do enough internal testing of course.
Re: [GIT PULL] Btrfs updates for 5.10
Hi David, On Mon, 12 Oct 2020 22:25:02 +0200 David Sterba wrote: > > Mishaps: > > - commit 62cf5391209a ("btrfs: move btrfs_rm_dev_replace_free_srcdev > outside of all locks") is a rebase leftover after the patch got > merged to 5.9-rc8 as a466c85edc6f ("btrfs: move > btrfs_rm_dev_replace_free_srcdev outside of all locks"), the > remaining part is trivial and the patch is in the middle of the > series so I'm keeping it there instead of rebasing And yet, this entire pull request has been rebased since what was in linux-next on Tuesday (and what would still be there today except I dropped it because of several conflicts) ... it looks like it was rebased a week ago, but then never included in your "for-next" branch. So I supposed it has had your internal testing, at least. -- Cheers, Stephen Rothwell pgpo4GaGWyXIl.pgp Description: OpenPGP digital signature
Re: [GIT PULL] Btrfs updates for 5.10
The pull request you sent on Mon, 12 Oct 2020 22:25:02 +0200: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.10-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/11e3235b4399f7e626caa791a68a0ea8337f6683 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[GIT PULL] Btrfs updates for 5.10
Hi, there are mostly core updates with a few user visible bits and fixes. Please pull, thanks. Hilights: - fsync performance improvements - less contention of log mutex (throughput +4%, latency -14%, dbench with 32 clients) - skip unnecessary commits for link and rename (throughput +6%, latency -30%, rename latency -75%, dbench with 16 clients) - make fast fsync wait only for writeback (throughput +10..40%, runtime -1..-20%, dbench with 1 to 64 clients on various file/block sizes) - direct io is now implemented using the iomap infrastructure, that's the main part, we still have a workaround that requires an iomap API update, coming in 5.10 - new sysfs exports: - information about the exclusive filesystem operation status (balance, device add/remove/replace, ...) - supported send stream version Core: - use ticket space reservations for data, fair policy using the same infrastructure as metadata - preparatory work to switch locking from our custom tree locks to standard rwsem, now the locking context is propagated to all callers, actual switch is expected to happen in the next dev cycle - seed device structures are now using list API - extent tracepoints print proper tree id - unified range checks for extent buffer helpers - send: avoid using temporary buffer for copying data - remove unnecessary RCU protection from space infos - remove unused readpage callback for metadata, enabling several cleanups - replace indirect function calls for end io hooks and remove extent_io_ops completely Fixes: - more lockdep warning fixes - fix qgroup reservation for delayed inode and an occasional reservation leak for preallocated files - fix device replace of a seed device - fix metadata reservation for fallocate that leads to transaction aborts - reschedule if necessary when logging directory items or when cloning lots of extents - tree-checker: fix false alert caused by legacy btrfs root item - send: fix rename/link conflicts for orphanized inodes - properly initialize device stats for seed devices - skip devices without magic signature when mounting Other: - error handling improvements, BUG_ONs replaced by proper handling, fuzz fixes - various function parameter cleanups - various W=1 cleanups - error/info messages improved Mishaps: - commit 62cf5391209a ("btrfs: move btrfs_rm_dev_replace_free_srcdev outside of all locks") is a rebase leftover after the patch got merged to 5.9-rc8 as a466c85edc6f ("btrfs: move btrfs_rm_dev_replace_free_srcdev outside of all locks"), the remaining part is trivial and the patch is in the middle of the series so I'm keeping it there instead of rebasing The following changes since commit 549738f15da0e5a00275977623be199fbbf7df50: Linux 5.9-rc8 (2020-10-04 16:04:34 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.10-tag for you to fetch changes up to 1fd4033dd011a3525bacddf37ab9eac425d25c4f: btrfs: rename BTRFS_INODE_ORDERED_DATA_CLOSE flag (2020-10-07 12:18:00 +0200) Anand Jain (16): btrfs: improve device scanning messages btrfs: fix replace of seed device btrfs: add btrfs_sysfs_add_device helper btrfs: add btrfs_sysfs_remove_device helper btrfs: make btrfs_sysfs_remove_devices_dir return void btrfs: simplify parameters of btrfs_sysfs_add_devices_dir btrfs: split and refactor btrfs_sysfs_remove_devices_dir btrfs: initialize sysfs devid and device link for seed device btrfs: handle errors in btrfs_sysfs_add_fs_devices btrfs: reada: lock all seed/sprout devices in __reada_start_machine btrfs: use sprout device_list_mutex in btrfs_init_devices_late btrfs: remove tmp variable for list traversal in btrfs_init_dev_replace_tgtdev btrfs: remove unnecessary tmp variable in btrfs_assign_next_active_device() btrfs: simplify gotos in open_seed_device btrfs: move btrfs_dev_replace_update_device_in_mapping_tree to drop declaration btrfs: skip devices without magic signature when mounting David Sterba (8): btrfs: remove const from btrfs_feature_set_name btrfs: compression: move declarations to header btrfs: remove unnecessarily shadowed variables btrfs: scrub: rename ratelimit state varaible to avoid shadowing btrfs: send: remove indirect callback parameter for changed_cb btrfs: send: use helpers for unaligned access to header members btrfs: free-space-cache: use unaligned helpers to access data btrfs: use unaligned helpers for stack and header set/get helpers Denis Efremov (2): btrfs: use kvzalloc() to allocate clone_roots in btrfs_ioctl_send() btrfs: use kvcalloc for allocation in btrfs_ioctl_send() Filipe Manana (11): btrfs: do not take the
Re: [GIT PULL] Btrfs fixes for 5.9-rc8
The pull request you sent on Fri, 2 Oct 2020 17:30:36 +0200: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.9-rc7-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/4e3b9ce271b4b54d2293a3916d22e4ddc0c89aab Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[GIT PULL] Btrfs fixes for 5.9-rc8
Hi, two more fixes. One is for a lockdep warning/lockup (also caught by syzbot), that one has been seen in practice. Regarding the other syzbot reports mentioned last time, they don't seem to be urgent and reliably reproducible so they'll be fixed later. The second fix is for a potential corruption when device replace finishes and the in-memory state of trim is not copied to the new device. Please pull, thanks. The following changes since commit b5ddcffa37778244d5e786fe32f778edf2bfc93e: btrfs: fix put of uninitialized kobject after seed device delete (2020-09-22 15:57:52 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.9-rc7-tag for you to fetch changes up to 4c8f353272dd1262013873990c0fafd0e3c8f274: btrfs: fix filesystem corruption after a device replace (2020-09-30 19:40:51 +0200) Filipe Manana (1): btrfs: fix filesystem corruption after a device replace Josef Bacik (2): btrfs: move btrfs_scratch_superblocks into btrfs_dev_replace_finishing btrfs: move btrfs_rm_dev_replace_free_srcdev outside of all locks fs/btrfs/dev-replace.c | 46 -- fs/btrfs/volumes.c | 13 + fs/btrfs/volumes.h | 3 +++ 3 files changed, 52 insertions(+), 10 deletions(-)
Re: [GIT PULL] Btrfs fixes for 5.9-rc7
The pull request you sent on Wed, 23 Sep 2020 11:07:20 +0200: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.9-rc6-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/bffac4b5435a07bf26604385ae533adff3cccf23 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[GIT PULL] Btrfs fixes for 5.9-rc7
Hi, syzkaller started to hit us with reports, in this pull request there's a fix for one type (stack overflow when printing checksums on read error). The other patch is a fix for sysfs object, we have a test for that and it leads to a crash. The other syzkaller reports are most likely races around device locking, we have a candidate fix that's been in the development queue. Some reports don't have a reproducer and validating the fix is not straightforward, I'll send another pull request once this is finished. Please pull, thanks. The following changes since commit 1c78544eaa4660096aeb6a57ec82b42cdb3bfe5a: btrfs: fix wrong address when faulting in pages in the search ioctl (2020-09-14 17:27:16 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.9-rc6-tag for you to fetch changes up to b5ddcffa37778244d5e786fe32f778edf2bfc93e: btrfs: fix put of uninitialized kobject after seed device delete (2020-09-22 15:57:52 +0200) Anand Jain (1): btrfs: fix put of uninitialized kobject after seed device delete Johannes Thumshirn (1): btrfs: fix overflow when copying corrupt csums for a message fs/btrfs/disk-io.c | 11 +-- fs/btrfs/sysfs.c | 16 ++-- 2 files changed, 15 insertions(+), 12 deletions(-)
Re: [GIT PULL] Btrfs fix for 5.9-rc6
The pull request you sent on Mon, 14 Sep 2020 17:56:17 +0200: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.9-rc5-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/fc4f28bb3daf3265d6bc5f73b497306985bb23ab Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[GIT PULL] Btrfs fix for 5.9-rc6
Hi, one of the recent lockdep fixes introduced a bug that breaks the search ioctl, which is used by some applications (bees, compsize). The patch made it to stable trees so we need this fixup to make it work again. Please pull, thanks. The following changes since commit 2d892ccdc163a3d2e08c5ed1cea8b61bf7e4f531: btrfs: fix NULL pointer dereference after failure to create snapshot (2020-09-07 21:18:35 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.9-rc5-tag for you to fetch changes up to 1c78544eaa4660096aeb6a57ec82b42cdb3bfe5a: btrfs: fix wrong address when faulting in pages in the search ioctl (2020-09-14 17:27:16 +0200) Filipe Manana (1): btrfs: fix wrong address when faulting in pages in the search ioctl fs/btrfs/ioctl.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
Re: [GIT PULL] Btrfs fixes for 5.9-rc5
The pull request you sent on Sat, 12 Sep 2020 19:01:18 +0200: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.9-rc4-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/edf6b0e1e4ddb12e022ce0c17829bad6d4161ea7 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[GIT PULL] Btrfs fixes for 5.9-rc5
Hi, a few more fixes: - regression fix, crash after failed snapshot creation - one more lockep fix, use nofs allocation when allocating missing device - fix reloc tree leak on degraded mount - make some extent buffer alignment checks less strict to mount filesystems created by btrfs-convert Please pull, thanks. The following changes since commit f96d6960abbc52e26ad124e69e6815283d3e1674: btrfs: tree-checker: fix the error message for transid error (2020-08-27 14:16:05 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.9-rc4-tag for you to fetch changes up to 2d892ccdc163a3d2e08c5ed1cea8b61bf7e4f531: btrfs: fix NULL pointer dereference after failure to create snapshot (2020-09-07 21:18:35 +0200) Filipe Manana (1): btrfs: fix NULL pointer dereference after failure to create snapshot Josef Bacik (2): btrfs: fix lockdep splat in add_missing_dev btrfs: free data reloc tree on failed mount Qu Wenruo (1): btrfs: require only sector size alignment for parent eb bytenr fs/btrfs/disk-io.c | 2 ++ fs/btrfs/extent-tree.c | 19 +-- fs/btrfs/print-tree.c | 12 +++- fs/btrfs/transaction.c | 1 + fs/btrfs/volumes.c | 10 ++ 5 files changed, 29 insertions(+), 15 deletions(-)
Re: [GIT PULL] Btrfs fixes for 5.9-rc4
The pull request you sent on Tue, 1 Sep 2020 01:20:49 +0200: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.9-rc3-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/dcdfd9cc28ddd356d24d5461119e4c1d19284ff5 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[GIT PULL] Btrfs fixes for 5.9-rc4
Hi, two small fixes and a bunch of lockdep fixes for warnings that show up with an upcoming tree locking update but are valid with current locks as well. Please pull, thanks. * fix bug in free space bitmap/extent switch logic * several lockdep warning fixes * clarify tree-checker error message The following changes since commit a84d5d429f9eb56f81b388609841ed993f0ddfca: btrfs: detect nocow for swap after snapshot delete (2020-08-21 12:21:23 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.9-rc3-tag for you to fetch changes up to f96d6960abbc52e26ad124e69e6815283d3e1674: btrfs: tree-checker: fix the error message for transid error (2020-08-27 14:16:05 +0200) Josef Bacik (5): btrfs: drop path before adding new uuid tree entry btrfs: fix potential deadlock in the search ioctl btrfs: allocate scrub workqueues outside of locks btrfs: set the correct lockdep class for new nodes btrfs: set the lockdep class for log tree extent buffers Marcos Paulo de Souza (1): btrfs: block-group: fix free-space bitmap threshold Qu Wenruo (1): btrfs: tree-checker: fix the error message for transid error fs/btrfs/block-group.c | 4 +- fs/btrfs/ctree.c | 6 ++- fs/btrfs/extent-tree.c | 2 +- fs/btrfs/extent_io.c | 8 +-- fs/btrfs/extent_io.h | 6 +-- fs/btrfs/free-space-tree.c | 4 ++ fs/btrfs/ioctl.c | 27 +++--- fs/btrfs/scrub.c | 122 ++--- fs/btrfs/tree-checker.c| 2 +- fs/btrfs/volumes.c | 3 +- 10 files changed, 113 insertions(+), 71 deletions(-)
Re: [GIT PULL] Btrfs fixes for 5.9-rc3
The pull request you sent on Mon, 24 Aug 2020 18:43:43 +0200: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.9-rc2-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/9907ab371426da8b3cffa6cc3e4ae54829559207 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[GIT PULL] Btrfs fixes for 5.9-rc3
Hi, a few more fixes. Please pull, Thanks. - fix swapfile activation on subvolumes with deleted snapshots - error value mixup when removing directory entries from tree log - fix lzo compression level reset after previous level setting - fix space cache memory leak after transaction abort - fix const function attribute - more error handling improvements The following changes since commit c57dd1f2f6a7cd1bb61802344f59ccdc5278c983: btrfs: trim: fix underflow in trim length to prevent access beyond device boundary (2020-08-12 10:15:58 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.9-rc2-tag for you to fetch changes up to a84d5d429f9eb56f81b388609841ed993f0ddfca: btrfs: detect nocow for swap after snapshot delete (2020-08-21 12:21:23 +0200) Boris Burkov (1): btrfs: detect nocow for swap after snapshot delete David Sterba (1): btrfs: use the correct const function attribute for btrfs_get_num_csums Filipe Manana (1): btrfs: fix space cache memory leak after transaction abort Johannes Thumshirn (1): btrfs: handle errors from async submission Josef Bacik (1): btrfs: check the right error variable in btrfs_del_dir_entries_in_log Marcos Paulo de Souza (1): btrfs: reset compression level for lzo on remount fs/btrfs/ctree.c| 2 +- fs/btrfs/ctree.h| 6 +++--- fs/btrfs/disk-io.c | 1 + fs/btrfs/extent-tree.c | 17 +++-- fs/btrfs/file.c | 2 +- fs/btrfs/free-space-cache.c | 2 +- fs/btrfs/inode.c| 29 ++--- fs/btrfs/super.c| 1 + fs/btrfs/tree-log.c | 10 ++ 9 files changed, 39 insertions(+), 31 deletions(-)
Re: [GIT PULL] Btrfs updates for 5.9, part 2
The pull request you sent on Thu, 13 Aug 2020 15:52:05 +0200: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.9-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/23c2c8c6fa325939f95d840f54bfdec3cb76906c Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[GIT PULL] Btrfs updates for 5.9, part 2
Hi, second batch with one minor update, the rest are fixes that have arrived a bit late for the first batch. There are also some recent fixes for bugs that were discovered during the merge window and pop up during testing. Please pull, thanks. Fixes: - fix compression messages when remounting with different level or compression algorithm - tree-log: fix some memory leaks on error handling paths - restore I_VERSION on remount - fix return values and error code mixups - fix umount crash with quotas enabled when removing sysfs files - fix trim range on a shrunk device User visible changes: - show correct subvolume path in /proc/mounts for bind mounts The following changes since commit 5e548b32018d96c377fda4bdac2bf511a448ca67: btrfs: do not set the full sync flag on the inode during page release (2020-07-27 12:55:48 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.9-tag for you to fetch changes up to c57dd1f2f6a7cd1bb61802344f59ccdc5278c983: btrfs: trim: fix underflow in trim length to prevent access beyond device boundary (2020-08-12 10:15:58 +0200) Boleyn Su (1): btrfs: check correct variable after allocation in btrfs_backref_iter_alloc David Sterba (1): btrfs: fix messages after changing compression level by remount Filipe Manana (1): btrfs: fix memory leaks after failure to lookup checksums during inode logging Josef Bacik (3): btrfs: only search for left_info if there is no right_info in try_merge_free_space btrfs: don't show full path of bind mounts in subvol= btrfs: make sure SB_I_VERSION doesn't get unset by remount Pavel Machek (1): btrfs: fix return value mixup in btrfs_get_extent Qu Wenruo (3): btrfs: inode: fix NULL pointer dereference if inode doesn't need compression btrfs: sysfs: fix NULL pointer dereference at btrfs_sysfs_del_qgroups() btrfs: trim: fix underflow in trim length to prevent access beyond device boundary fs/btrfs/backref.c | 2 +- fs/btrfs/extent-io-tree.h | 2 ++ fs/btrfs/extent-tree.c | 14 ++ fs/btrfs/free-space-cache.c | 4 ++-- fs/btrfs/inode.c| 18 -- fs/btrfs/super.c| 30 +++--- fs/btrfs/sysfs.c| 8 +--- fs/btrfs/tree-log.c | 8 ++-- fs/btrfs/volumes.c | 4 9 files changed, 65 insertions(+), 25 deletions(-)
Re: [GIT PULL] Btrfs updates for 5.9
The pull request you sent on Fri, 31 Jul 2020 18:42:03 +0200: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.9-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/6dec9f406c1f2de6d750de0fc9d19872d9c4bf0d Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[GIT PULL] Btrfs updates for 5.9
Hi, we don't have any big feature updates this time, there are lots of small enhacements or fixes. A hilight perhaps are the parallel fsync performance improvements, numbers below. Regarding the dio/iomap that was reverted last time, the required API changes are likely to land in the upcoming cycle, the btrfs part will be updated afterwards. Please pull, thanks. --- User visible changes: - new mount option rescue= to group all recovery-related mount options so we don't have many specific options, currently introducing only aliases for existing options, future extensions are in development to allow read-only mount with partially damaged structures - usebackuproot is an alias for rescue=usebackuproot - nologreplay is an alias for rescue=nologreplay - start deprecation of mount option inode_cache, removal scheduled to 5.11 - removed deprecated mount options alloc_start and subvolrootid - device stats corruption counter gets incremented when a checksum mismatch is found - qgroup information exported in sysfs /sys/fs/btrfs//qgroups/ - add link /sys/fs/btrfs//bdi pointing to the associated backing dev info - FS_INFO ioctl enhancements: - add flags to request/describe newly added items - new item: numeric checksum type and checksum size - new item: generation - new item: metadata_uuid - seed device: with one new read-write device added, print the new device information in /proc/mounts - balance: detect cancellation by Ctrl-C in existing cancellation points Performance improvements: - optimized versions of various helpers on little-endian architectures, where we don't have to do LE/BE conversion from on-disk format - tree-log/fsync optimizations leading to lower max latency reported by dbench, reduced by about 12% - all chunk tree leaves are prefetched at mount time, can improve mount time on large (terabyte-sized) filesystems - speed up parallel fsync of files with reflinked/deduped extents, with jobs 16 to 1024 the throughput gets improved roughly by 50% on average and runtime decreased roughly by 30% on average, notable outlier is 128 jobs with +121.2% on throughput and -54.6% runtime - another speed up of parallel fsync, reduce number of checksum tree lookups and contention, the improvements start to show up with 2 tasks with +20% throughput and -16% runtime up to 64 with +200% throughput and -66% runtime Core: - umount-time qgroup leak checker - qgroups - add a way to unreserve partial range after failure, avoiding some EDQUOT errors - improved flushing logic when EDQUOT is hit - possible EINTR interruption caused by failed reservations after transaction start is better handled and documented - transaction abort errors are unified to EROFS in case it's not the original reason of abort or we don't have other way to determine the reason Fixes: - make truncate succeed on a NOCOW file even if data space is exhausted - fix cancelling balance on filesystem with exhausted metadata space - anon block device: - preallocate anon bdev when subvolume is created to report failure early - shorten time the anon bdev id is allocated - don't allocate anon bdev for internal roots - minor memory leak in ref-verify - refuse invalid combinations of compression and NOCOW file flags - lockdep fixes, updating the device locks - remove obsolete fallback logic for block group profile adjustments when switching from 1 to more devices, causing allocation of unwanted block groups Other: - cleanups, refactoring, simplifications - conversions from struct inode to struct btrfs_inode in internal functions - removal of unused struct members The following changes since commit 92ed301919932f13b9172e525674157e983d: Linux 5.8-rc7 (2020-07-26 14:14:06 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.9-tag for you to fetch changes up to 5e548b32018d96c377fda4bdac2bf511a448ca67: btrfs: do not set the full sync flag on the inode during page release (2020-07-27 12:55:48 +0200) Anand Jain (3): btrfs: let btrfs_return_cluster_to_free_space() return void btrfs: use helper btrfs_get_block_group btrfs: don't traverse into the seed devices in show_devname David Sterba (18): btrfs: scrub: remove kmap/kunmap of pages btrfs: scrub: unify naming of page address variables btrfs: scrub: simplify superblock checksum calculation btrfs: scrub: remove temporary csum array in scrub_checksum_super btrfs: scrub: clean up temporary page variables in scrub_checksum_super btrfs: scrub: simplify data block checksum calculation btrfs: scrub: clean up temporary page variables in scrub_checksum_data btrfs: scrub: simplify tree block checksum calculation btrfs: scrub: clean up tempor
Re: [GIT PULL] Btrfs fixes for 5.8-rc7
The pull request you sent on Fri, 24 Jul 2020 13:21:32 +0200: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.8-rc6-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/0669704270e142483d80cfda5c526426c1a89711 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[GIT PULL] Btrfs fixes for 5.8-rc7
Hi, I've selected a few resouce leak fixes from recent patches, all are stable material. The problems have been observed during testing or have a reproducer. Please pull, thanks. The following changes since commit d77765911385b65fc82d74ab71b8983cddfe0b58: btrfs: wire up iter_file_splice_write (2020-07-09 19:57:58 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.8-rc6-tag for you to fetch changes up to 48cfa61b58a1fee0bc49eef04f8ccf31493b7cdd: btrfs: fix mount failure caused by race with umount (2020-07-21 22:08:54 +0200) Boris Burkov (1): btrfs: fix mount failure caused by race with umount Filipe Manana (1): btrfs: fix double free on ulist after backref resolution failure Qu Wenruo (1): btrfs: qgroup: fix data leak caused by race between writeback and truncate Robbie Ko (1): btrfs: fix page leaks after failure to lock page for delalloc fs/btrfs/backref.c | 1 + fs/btrfs/extent_io.c | 3 ++- fs/btrfs/inode.c | 23 ++- fs/btrfs/volumes.c | 8 4 files changed, 21 insertions(+), 14 deletions(-)
Re: [GIT PULL] Btrfs fixes for 5.8-rc5, part 2
The pull request you sent on Sun, 12 Jul 2020 12:14:58 +0200: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.8-rc4-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/72c34e8d7099c329c2934c2ac9c886f638b6edaf Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[GIT PULL] Btrfs fixes for 5.8-rc5, part 2
Hi, please pull two refcounting fixes and one prepartory patch for upcoming splice cleanup. Thanks. - fix double put of block group with nodatacow - fix missing block group put when remounting with discard=async - explicitly set splice callback (no functional change), to ease integrating splice cleanup patches The following changes since commit 0465337c5599bbe360cdcff452992a1a6b7ed2d4: btrfs: reset tree root pointer after error in init_tree_roots (2020-07-02 10:27:12 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.8-rc4-tag for you to fetch changes up to d77765911385b65fc82d74ab71b8983cddfe0b58: btrfs: wire up iter_file_splice_write (2020-07-09 19:57:58 +0200) Christoph Hellwig (1): btrfs: wire up iter_file_splice_write Josef Bacik (1): btrfs: fix double put of block group with nocow Qu Wenruo (1): btrfs: discard: add missing put when grabbing block group from unused list fs/btrfs/discard.c | 1 + fs/btrfs/file.c| 1 + fs/btrfs/inode.c | 9 + 3 files changed, 3 insertions(+), 8 deletions(-)
Re: [GIT PULL] Btrfs fixes for 5.8-rc5
The pull request you sent on Tue, 7 Jul 2020 15:27:12 +0200: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.8-rc4-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/aa27b32b76d0b1b242d43977da0e5358da1c825f Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[GIT PULL] Btrfs fixes for 5.8-rc5
Hi, please pull the following fixes, thanks. - regression fix of a leak in global block reserve accounting - fix a (hard to hit) race of readahead vs releasepage that could lead to crash - convert all remaining uses of comment fall through annotations to the pseudo keyword - fix crash when mounting a fuzzed image with -o recovery The following changes since commit b091f7fede97cc64f7aaad3eeb37965aebee3082: btrfs: use kfree() in btrfs_ioctl_get_subvol_info() (2020-06-16 19:24:03 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.8-rc4-tag for you to fetch changes up to 0465337c5599bbe360cdcff452992a1a6b7ed2d4: btrfs: reset tree root pointer after error in init_tree_roots (2020-07-02 10:27:12 +0200) Boris Burkov (1): btrfs: fix fatal extent_buffer readahead vs releasepage race Filipe Manana (1): btrfs: fix reclaim_size counter leak after stealing from global reserve Josef Bacik (1): btrfs: reset tree root pointer after error in init_tree_roots Marcos Paulo de Souza (1): btrfs: convert comments to fallthrough annotations fs/btrfs/ctree.c | 2 +- fs/btrfs/disk-io.c| 6 -- fs/btrfs/extent_io.c | 40 fs/btrfs/ref-verify.c | 2 +- fs/btrfs/space-info.c | 2 +- fs/btrfs/super.c | 6 +++--- fs/btrfs/volumes.h| 2 +- 7 files changed, 35 insertions(+), 25 deletions(-)
Re: [GIT PULL] Btrfs fixes for 5.8-rc3
The pull request you sent on Tue, 23 Jun 2020 15:53:45 +0200: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.8-rc2-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/3e08a95294a4fb3702bb3d35ed08028433c37fe6 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[GIT PULL] Btrfs fixes for 5.8-rc3
Hi, a number of fixes, located in two areas, one performance fix and one fixup for better integration with another patchset. Please pull, thanks. - bug fixes in nowait aio: - fix snapshot creation hang after nowait-aio was used - fix failure to write to prealloc extent past EOF - don't block when extent range is locked - block group fixes: - relocation failure when scrub runs in parallel - refcount fix when removing fails - fix race between removal and creation - space accounting fixes - reinstante fast path check for log tree at unlink time, fixes performance drop up to 30% in REAIM - kzfree/kfree fixup to ease treewide patchset renaming kzfree The following changes since commit 55e20bd12a56e06c38b953177bb162cbbaa96004: Revert "btrfs: switch to iomap_dio_rw() for dio" (2020-06-14 01:19:02 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.8-rc2-tag for you to fetch changes up to b091f7fede97cc64f7aaad3eeb37965aebee3082: btrfs: use kfree() in btrfs_ioctl_get_subvol_info() (2020-06-16 19:24:03 +0200) Filipe Manana (9): btrfs: fix a block group ref counter leak after failure to remove block group btrfs: fix race between block group removal and block group creation btrfs: fix data block group relocation failure due to concurrent scrub btrfs: fix bytes_may_use underflow when running balance and scrub in parallel btrfs: check if a log root exists before locking the log_mutex on unlink btrfs: fix hang on snapshot creation after RWF_NOWAIT write btrfs: fix failure of RWF_NOWAIT write into prealloc extent beyond eof btrfs: fix RWF_NOWAIT write not failling when we need to cow btrfs: fix RWF_NOWAIT writes blocking on extent locks and waiting for IO Waiman Long (1): btrfs: use kfree() in btrfs_ioctl_get_subvol_info() fs/btrfs/block-group.c | 44 +++- fs/btrfs/ctree.h | 2 ++ fs/btrfs/file.c| 46 +- fs/btrfs/inode.c | 39 ++- fs/btrfs/ioctl.c | 2 +- fs/btrfs/tree-log.c| 5 + 6 files changed, 102 insertions(+), 36 deletions(-)
Re: [GIT PULL] Btrfs updates for 5.8, part 2
On Mon, Jun 15, 2020 at 2:29 PM Christoph Hellwig wrote: > > On Mon, Jun 15, 2020 at 02:57:01PM +0200, David Sterba wrote: > > On Sun, Jun 14, 2020 at 09:50:17AM -0700, Linus Torvalds wrote: > > > On Sun, Jun 14, 2020 at 4:56 AM David Sterba wrote: > > > > > > > > Reverts are not great, but under current circumstances I don't see > > > > better options. > > > > > > Pulled. Are people discussing how to make iomap work for everybody? > > > It's a bit sad if we can't have the major filesystems move away from > > > the old buffer head interfaces to a common more modern one.. > > > > Yes, it's fixable and we definitely want to move to iomap. The direct to > > buffered fallback would fix one of the problems, but this would also > > mean that xfs would start doing that. Such change should be treated more > > like a feature development than a bugfix, imposed by another filesystem, > > and xfs people rightfully complained. > > We can trivially key that off a flag at least for 5.8. I suspect the > fallback actually is the right thing for XFS in the long run for that > particular case. We also have another regression (a deadlock) [1] introduced by the patchset. I haven't looked into detail to figure out if it can be completely solved in btrfs or if it would need a change on iomap. Goldwyn was looking into it, but I don't know if he made any progress. [1] https://lore.kernel.org/linux-btrfs/cal3q7h4f9iqjy3tgwzrwokwenannn7osthqzumej_vwx3we...@mail.gmail.com/#t -- Filipe David Manana, “Whether you think you can, or you think you can't — you're right.”
Re: [GIT PULL] Btrfs updates for 5.8, part 2
On Mon, Jun 15, 2020 at 02:57:01PM +0200, David Sterba wrote: > On Sun, Jun 14, 2020 at 09:50:17AM -0700, Linus Torvalds wrote: > > On Sun, Jun 14, 2020 at 4:56 AM David Sterba wrote: > > > > > > Reverts are not great, but under current circumstances I don't see > > > better options. > > > > Pulled. Are people discussing how to make iomap work for everybody? > > It's a bit sad if we can't have the major filesystems move away from > > the old buffer head interfaces to a common more modern one.. > > Yes, it's fixable and we definitely want to move to iomap. The direct to > buffered fallback would fix one of the problems, but this would also > mean that xfs would start doing that. Such change should be treated more > like a feature development than a bugfix, imposed by another filesystem, > and xfs people rightfully complained. We can trivially key that off a flag at least for 5.8. I suspect the fallback actually is the right thing for XFS in the long run for that particular case.
Re: [GIT PULL] Btrfs updates for 5.8, part 2
On Sun, Jun 14, 2020 at 09:50:17AM -0700, Linus Torvalds wrote: > On Sun, Jun 14, 2020 at 4:56 AM David Sterba wrote: > > > > Reverts are not great, but under current circumstances I don't see > > better options. > > Pulled. Are people discussing how to make iomap work for everybody? > It's a bit sad if we can't have the major filesystems move away from > the old buffer head interfaces to a common more modern one.. Yes, it's fixable and we definitely want to move to iomap. The direct to buffered fallback would fix one of the problems, but this would also mean that xfs would start doing that. Such change should be treated more like a feature development than a bugfix, imposed by another filesystem, and xfs people rightfully complained. It's quite possible that there's a better way to fix it on the iomap API level but I haven't looked into that yet. We get support from iomap people to add what we need for btrfs, so it's just a matter of time and testing.
Re: [GIT PULL] Btrfs updates for 5.8, part 2
On Sun, Jun 14, 2020 at 09:50:17AM -0700, Linus Torvalds wrote: > On Sun, Jun 14, 2020 at 4:56 AM David Sterba wrote: > > > > Reverts are not great, but under current circumstances I don't see > > better options. > > Pulled. Are people discussing how to make iomap work for everybody? > It's a bit sad if we can't have the major filesystems move away from > the old buffer head interfaces to a common more modern one.. As far as I know it basically works. There are a few issues which I think we could actually trivially fix for 5.8.
Re: [GIT PULL] Btrfs updates for 5.8, part 2
The pull request you sent on Sun, 14 Jun 2020 13:56:05 +0200: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git > for-5.8-part2-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/9d645db853a4cd1b7077931491d0055602d3d420 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
Re: [GIT PULL] Btrfs updates for 5.8, part 2
On Sun, Jun 14, 2020 at 4:56 AM David Sterba wrote: > > Reverts are not great, but under current circumstances I don't see > better options. Pulled. Are people discussing how to make iomap work for everybody? It's a bit sad if we can't have the major filesystems move away from the old buffer head interfaces to a common more modern one.. Linus
[GIT PULL] Btrfs updates for 5.8, part 2
Hi, this reverts the direct io port to iomap infrastructure of btrfs merged in the first pull request. We found problems in invalidate page that don't seem to be fixable as regressions or without changing iomap code that would not affect other filesystems. There are 4 patches reverted in total, but 3 of them are followup cleanups needed to revert a43a67a2d715540c13 cleanly. The result is the buffer head based implementation of direct io. There's one trivial conflict that git does not auto-resolve, in the address space operations readpages has been replaced by readahead and this change is in the context of the direct io callback diff. Reverts are not great, but under current circumstances I don't see better options. Please pull, thanks. The following changes since commit 2166e5edce9ac1edf3b113d6091ef72fcac2d6c4: btrfs: fix space_info bytes_may_use underflow during space cache writeout (2020-05-28 14:01:53 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.8-part2-tag for you to fetch changes up to 55e20bd12a56e06c38b953177bb162cbbaa96004: Revert "btrfs: switch to iomap_dio_rw() for dio" (2020-06-14 01:19:02 +0200) David Sterba (4): Revert "btrfs: split btrfs_direct_IO to read and write part" Revert "btrfs: remove BTRFS_INODE_READDIO_NEED_LOCK" Revert "fs: remove dio_end_io()" Revert "btrfs: switch to iomap_dio_rw() for dio" fs/btrfs/Kconfig | 1 - fs/btrfs/btrfs_inode.h | 18 +++ fs/btrfs/ctree.h | 4 - fs/btrfs/file.c| 97 + fs/btrfs/inode.c | 379 +++-- fs/direct-io.c | 19 +++ include/linux/fs.h | 2 + 7 files changed, 286 insertions(+), 234 deletions(-)
Re: [GIT PULL] Btrfs updates for 5.8
The pull request you sent on Mon, 1 Jun 2020 14:37:21 +0200: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.8-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/f3cdc8ae116e27d84e1f33c7a2995960cebb73ac Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[GIT PULL] Btrfs updates for 5.8
Hi, please pull the following updates to btrfs. Thanks. Highlights: - speedup dead root detection during orphan cleanup, eg. when there are many deleted subvolumes waiting to be cleaned, the trees are now looked up in radix tree instead of a O(N^2) search - snapshot creation with inherited qgroup will mark the qgroup inconsistent, requires a rescan - send will emit file capabilities after chown, this produces a stream that does not need postprocessing to set the capabilities again - direct io ported to iomap infrastructure, cleaned up and simplified code, notably removing last use of struct buffer_head in btrfs code Core changes: - factor out backreference iteration, to be used by ordinary backreferences and relocation code - improved global block reserve utilization * better logic to serialize requests * increased maximum available for unlink * improved handling on large pages (64K) - direct io cleanups and fixes * simplify layering, where cloned bios were unnecessarily created for some cases * error handling fixes (submit, endio) * remove repair worker thread, used to avoid deadlocks during repair - refactored block group reading code, preparatory work for new type of block group storage that should improve mount time on large filesystems Cleanups: - cleaned up (and slightly sped up) set/get helpers for metadata data structure members - root bit REF_COWS got renamed to SHAREABLE to reflect the that the blocks of the tree get shared either among subvolumes or with the relocation trees Fixes: - when subvolume deletion fails due to ENOSPC, the filesystem is not turned read-only - device scan deals with devices from other filesystems that changed ownership due to overwrite (mkfs) - fix a race between scrub and block group removal/allocation - fix long standing bug of a runaway balance operation, printing the same line to the syslog, caused by a stale status bit on a reloc tree that prevented progress - fix corrupt log due to concurrent fsync of inodes with shared extents - fix space underflow for NODATACOW and buffered writes when it for some reason needs to fallback to COW mode The following changes since commit 9cb1fd0efd195590b828b9b865421ad345a4a145: Linux 5.7-rc7 (2020-05-24 15:32:54 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.8-tag for you to fetch changes up to 2166e5edce9ac1edf3b113d6091ef72fcac2d6c4: btrfs: fix space_info bytes_may_use underflow during space cache writeout (2020-05-28 14:01:53 +0200) Anand Jain (5): btrfs: drop useless goto in open_fs_devices btrfs: include non-missing as a qualifier for the latest_bdev btrfs: free alien device after device add btrfs: drop stale reference to volume_mutex btrfs: unexport btrfs_compress_set_level() Christoph Hellwig (1): btrfs: split btrfs_direct_IO to read and write part David Sterba (26): btrfs: don't force read-only after error in drop snapshot btrfs: sort error decoder entries btrfs: add more codes to decoder table btrfs: remove more obsolete v0 extent ref declarations btrfs: use the token::eb for all set/get helpers btrfs: drop eb parameter from set/get token helpers btrfs: don't use set/get token for single assignment in overwrite_item btrfs: don't use set/get token in leaf_space_used btrfs: preset set/get token with first page and drop condition btrfs: add separate bounds checker for set/get helpers btrfs: speed up btrfs_get_##bits helpers btrfs: speed up btrfs_get_token_##bits helpers btrfs: speed up btrfs_set_##bits helpers btrfs: speed up btrfs_set_token_##bits helpers btrfs: speed up and simplify generic_bin_search btrfs: remove unused map_private_extent_buffer btrfs: constify extent_buffer in the API functions btrfs: drop unnecessary offset_in_page in extent buffer helpers btrfs: optimize split page read in btrfs_get_##bits btrfs: optimize split page read in btrfs_get_token_##bits btrfs: optimize split page write in btrfs_set_##bits btrfs: optimize split page write in btrfs_set_token_##bits btrfs: update documentation of set/get helpers btrfs: simplify root lookup by id btrfs: open code read_fs_root btrfs: simplify iget helpers Eric Biggers (1): btrfs: use crypto_shash_digest() instead of open coding Filipe Manana (16): btrfs: remove pointless assertion on reclaim_size counter btrfs: simplify error handling of clean_pinned_extents() btrfs: remove useless check for copy_items() return value btrfs: fix a race between scrub and block group removal/allocation btrfs: rename member 'trimming' of block group to a more generic name b
Re: [GIT PULL] Btrfs fixes for 5.7-rc4, part 2
The pull request you sent on Sun, 3 May 2020 18:25:37 +0200: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.7-rc3-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/262f7a6b8317a06e7d51befb690f0bca06a473ea Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[GIT PULL] Btrfs fixes for 5.7-rc4, part 2
Hi, please pull a few more stability fixes, minor build warning fixes and git url fixup. Thanks. - fix partial loss of prealloc extent past i_size after fsync - fix potential deadlock due to wrong transaction handle passing via journal_info - fix gcc 4.8 struct intialization warning - update git URL in MAINTAINERS entry The following changes since commit 1402d17dfd9657be0da8458b2079d03c2d61c86a: btrfs: fix transaction leak in btrfs_recover_relocation (2020-04-23 17:24:56 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.7-rc3-tag for you to fetch changes up to eb91db63a90d8f8e8768b82fcb2cae5f7198cf6b: MAINTAINERS: btrfs: fix git repo URL (2020-05-03 18:13:18 +0200) Arnd Bergmann (1): btrfs: fix gcc-4.8 build warning for struct initializer Eric Biggers (1): MAINTAINERS: btrfs: fix git repo URL Filipe Manana (1): btrfs: fix partial loss of prealloc extent past i_size after fsync Qu Wenruo (1): btrfs: transaction: Avoid deadlock due to bad initialization timing of fs_info::journal_info MAINTAINERS| 2 +- fs/btrfs/backref.c | 2 +- fs/btrfs/transaction.c | 13 +++-- fs/btrfs/tree-log.c| 43 --- 4 files changed, 53 insertions(+), 7 deletions(-)
Re: [GIT PULL] Btrfs fixes for 5.4-rc2
The pull request you sent on Mon, 30 Sep 2019 16:25:08 +0200: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.4-rc1-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/bb48a59135926ece9b1361e8b96b33fc658830bc Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
Re: [GIT PULL] Btrfs fixes for 5.3-rc5
The pull request you sent on Sun, 18 Aug 2019 13:58:46 +0200: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.3-rc4-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/3039fadf2bfdc104dc963820c305778c7c1a6229 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
Re: [GIT PULL] Btrfs fixes for 5.3-rc2
The pull request you sent on Fri, 26 Jul 2019 18:42:24 +0200: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.3-rc1-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/4792ba1f1ff0db30369f7016c1611fda3f84b895 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
Re: [GIT PULL] Btrfs updates for 5.3
The pull request you sent on Mon, 15 Jul 2019 10:57:01 +0200: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.3-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/a18f8775419d3df282dd83efdb51c5a64d092f31 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
Re: [GIT PULL] Btrfs fixes for 5.2-rc6
The pull request you sent on Tue, 18 Jun 2019 18:52:07 +0200: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.2-rc5-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/bed3c0d84e7e25c8e0964d297794f4c215b01f33 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
Re: [GIT PULL] Btrfs updates for 5.1, part 2
The pull request you sent on Tue, 12 Mar 2019 16:08:52 +0100: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git > for-5.1-part2-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/92825b0298ca6822085ef483f914b6e0dea9bf66 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
Re: [GIT PULL] Btrfs updates for 5.1, part 1
The pull request you sent on Mon, 4 Mar 2019 20:20:53 +0100: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git > for-5.1-part1-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/b1e243957e9b3ba8e820fb8583bdf18e7c737aa2 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[GIT PULL] Btrfs updates for 5.1, part 1
Hi, the branch contains usual mix of new features, core changes and fixes; full list below. I'm planning 2nd pull request, with a few more fixes that arrived recently but too close to merge window, will send it next week. Please pull, thanks. New features: - support zstd compression levels - new ioctl to unregister a device from the module (ie. reverse of device scan) - scrub prints a message to log when it's about to start or finish Core changes: - qgroups can now skip part of a tree that does not get updated during relocation, because this does not affect the quota accounting, estimated speedup in run time is about 20% - the compression workspace management had to be enhanced due to zstd requirements - various enospc fixes, when there's high fragmentation the over-reservation can cause ENOSPC that might not happen after a flush, in such cases try to wait if the situation improves Fixes: - various ioctls could overwrite previous return value if copy_to_user fails, fix this so the original error is reported - more reclaim vs GFP_KERNEL fixes - other cleanups and refactoring - fix a (valid) lockdep warning in a test when device replace is destroying worker threads - make qgroup async transaction commit more aggressive, this avoids some 'quota limit reached' errors if there are not enough data to trigger transaction in order to flush - fix deadlock between snapshot deletion and quotas when backref walking is called from context that already holds the same locks - fsync fixes: - fix fsync after succession of renames of different files - fix fsync after succession of renames and unlink/rmdir The following changes since commit 5908e6b738e3357af42c10e1183753c70a0117a9: Linux 5.0-rc8 (2019-02-24 16:46:45 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.1-part1-tag for you to fetch changes up to f65e25e343cfc0e6f4db9a687c4085fad268325d: btrfs: Remove unnecessary casts in btrfs_read_root_item (2019-02-25 14:19:23 +0100) Anand Jain (11): btrfs: merge btrfs_find_device_missing_or_by_path() into parent btrfs: cleanup btrfs_find_device_by_devspec() btrfs: refactor btrfs_find_device() take fs_devices as argument btrfs: refactor btrfs_free_stale_devices() to get return value btrfs: merge btrfs_find_device and find_device btrfs: scrub: print messages when started or finished btrfs: introduce new ioctl to unregister a btrfs device btrfs: fix comment its device list mutex not volume lock btrfs: scrub: fix circular locking dependency warning btrfs: scrub: add scrub_lock lockdep check in scrub_workers_get btrfs: scrub: convert scrub_workers_refcnt to refcount_t Anders Roxell (1): btrfs: let the assertion expression compile in all configs Dan Carpenter (1): btrfs: drop the lock on error in btrfs_dev_replace_cancel Dan Robertson (1): btrfs: init csum_list before possible free David Sterba (9): btrfs: simplify workqueue name when allocating btrfs: split btrfs_set_lock_blocking_rw to read and write helpers btrfs: split btrfs_clear_lock_blocking_rw to read and write helpers btrfs: replace btrfs_set_lock_blocking_rw with appropriate helpers btrfs: open code now trivial btrfs_set_lock_blocking btrfs: simplify waiting loop in btrfs_tree_lock btrfs: merge btrfs_set_lock_blocking_rw with it's caller btrfs: scrub: add assertions for worker pointers btrfs: scrub: remove unused nocow worker pointer Dennis Zhou (12): btrfs: add helpers for compression type and level btrfs: rename workspaces_list to workspace_manager btrfs: manage heuristic workspace as index 0 btrfs: unify compression ops with workspace_manager btrfs: add helper methods for workspace manager init and cleanup btrfs: add compression interface in (get/put)_workspace btrfs: move to function pointers for get/put workspaces btrfs: plumb level through the compression interface btrfs: change set_level() to bound the level passed in btrfs: zstd use the passed through level instead of default btrfs: make zstd memory requirements monotonic btrfs: add zstd compression level support Filipe Manana (14): Btrfs: do not overwrite scrub error with fault error in scrub ioctl Btrfs: do not overwrite error return value in scrub progress ioctl Btrfs: do not overwrite error return value in the get device stats ioctl Btrfs: setup a nofs context for memory allocation at btrfs_create_tree() Btrfs: setup a nofs context for memory allocation at __btrfs_set_acl Btrfs: remove redundant check for swapfiles when reflinking Btrfs: do not overwrite error return value in the device replace ioctl
Re: [GIT PULL] Btrfs fixes for 5.0-rc5
The pull request you sent on Sun, 3 Feb 2019 10:48:46 +0100: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.0-rc4-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/312b3a93dda6db9354b0c6b0f1868c1434e8c787 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[GIT PULL] Btrfs fixes for 5.0-rc5
Hi, there are a few fixes that I'd like to have in the 5.0 release. Last rc was skipped because one fix had to be reworked and more testing was needed. Please pull, thanks. - regression fix: transaction commit can run away due to delayed ref waiting heuristic, this is not necessary now because of the proper reservation mechanism introduced in 5.0 - regression fix: potential crash due to use-before-check of an ERR_PTR return value - fix for transaction abort during transaction commit that needs to properly clean up pending block groups - fix deadlock during b-tree node/leaf splitting, when this happens on some of the fundamental trees, we must prevent new tree block allocation to re-enter indirectly via the block group flushing path - potential memory leak after errors during mount The following changes since commit fd340d0f68cc87badfc9efcb226f23a5428826a0: btrfs: wakeup cleaner thread when adding delayed iput (2019-01-18 17:27:23 +0100) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.0-rc4-tag for you to fetch changes up to 532b618bdf237250d6d4566536d4b6ce3d0a31fe: btrfs: On error always free subvol_name in btrfs_mount (2019-01-30 18:16:47 +0100) Al Viro (1): btrfs: fix potential oops in device_list_add David Sterba (1): btrfs: clean up pending block groups when transaction commit aborts Eric W. Biederman (1): btrfs: On error always free subvol_name in btrfs_mount Filipe Manana (1): Btrfs: fix deadlock when allocating tree block during leaf/node split Josef Bacik (1): btrfs: don't end the transaction for delayed refs in throttle fs/btrfs/ctree.c | 78 -- fs/btrfs/super.c | 3 ++ fs/btrfs/transaction.c | 24 ++-- fs/btrfs/volumes.c | 4 +-- 4 files changed, 71 insertions(+), 38 deletions(-)
Re: [GIT PULL] Btrfs fixes for 5.0-rc3
The pull request you sent on Sun, 20 Jan 2019 16:51:29 +0100: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.0-rc2-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/1be969f4682b0aa1995e46fba51502de55f15ce8 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[GIT PULL] Btrfs fixes for 5.0-rc3
Hi, please pull the following branch to obtain a handful of fixes (some of them in testing for a long time, were briefly mentioned in the 1st pull): - fix some test failures regarding cleanup after transaction abort - revert of a patch that could cause a deadlock - delayed iput fixes, that can help in ENOSPC situation when there's low space and lot data to write Thanks. The following changes since commit 1b3922a8bc74231f9a767d1be6d9a061a4d4eeab: btrfs: Use real device structure to verify dev extent (2019-01-10 17:13:00 +0100) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.0-rc2-tag for you to fetch changes up to fd340d0f68cc87badfc9efcb226f23a5428826a0: btrfs: wakeup cleaner thread when adding delayed iput (2019-01-18 17:27:23 +0100) David Sterba (1): Revert "btrfs: balance dirty metadata pages in btrfs_finish_ordered_io" Josef Bacik (4): btrfs: handle delayed ref head accounting cleanup in abort btrfs: wait on ordered extents on abort cleanup btrfs: run delayed iputs before committing btrfs: wakeup cleaner thread when adding delayed iput fs/btrfs/ctree.h | 7 +++ fs/btrfs/disk-io.c | 12 fs/btrfs/extent-tree.c | 21 ++--- fs/btrfs/inode.c | 5 ++--- 4 files changed, 35 insertions(+), 10 deletions(-)
Re: [GIT PULL] Btrfs fixes for 5.0-rc2
The pull request you sent on Sun, 13 Jan 2019 17:39:38 +0100: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.0-rc1-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/6b529fb0a3eabf9c4cc3e94c11477250379ce6d8 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[GIT PULL] Btrfs fixes for 5.0-rc2
Hi, please pull the following branch to get: - 2 regression fixes in clone/dedupe ioctls, the generic check callback needs to lock extents properly and wait for io to avoid problems with writeback and relocation - fix deadlock when using free space tree due to block group creation - a recently added check refuses a valid fileystem with seeding device, make that work again with a quickfix, proper solution needs more intrusive changes Thanks. The following changes since commit 52042d8e82ff50d40e76a275ac0b97aa663328b0: btrfs: Fix typos in comments and strings (2018-12-17 14:51:50 +0100) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.0-rc1-tag for you to fetch changes up to 1b3922a8bc74231f9a767d1be6d9a061a4d4eeab: btrfs: Use real device structure to verify dev extent (2019-01-10 17:13:00 +0100) Filipe Manana (3): Btrfs: fix race between cloning range ending at eof and writeback Btrfs: fix race between reflink/dedupe and relocation Btrfs: fix deadlock when using free space tree due to block group creation Qu Wenruo (1): btrfs: Use real device structure to verify dev extent fs/btrfs/ctree.c | 16 +--- fs/btrfs/ioctl.c | 49 +++-- fs/btrfs/volumes.c | 12 3 files changed, 64 insertions(+), 13 deletions(-)
Re: [GIT PULL] Btrfs updates for 4.21
The pull request you sent on Wed, 19 Dec 2018 16:11:04 +0100: > git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-4.21-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/32ee34eddad13cd44ad0cb3e659fe6fd49143b62 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[GIT PULL] Btrfs updates for 4.21
Hi, I've planned to merge a few more patches to the 1st pull branch that belong to a core change mentioned below as 'delayed refs reserve'. There are review comments that I think should be addressed, so the patches are postponed. Technically they're fixes and I presume it's ok to take them in the -rc. I didn't want to touch the pull request branch a few days before sending it, though the patches have been in linux-next for some time. The bugs fixed are not critical for testing so this should not block anybody. No merge conflicts, please pull. Thanks. -- New features: * swapfile support - after a long time it's here, with some limitations where COW design does not work well with the swap implementation (nodatacow file, no compression, cannot be snapshotted, not possible on multiple devices, ...), as this is the most restricted but working setup, we'll try to improve that in the future * metadata uuid - an optional incompat feature to assign a new filesystem UUID without overwriting all metadata blocks, stored only in superblock * more balance messages are printed to system log, initial is in the format of the command line that would be used to start it Fixes: * tag pages of a snapshot to better separate pages that are involved in the snapshot (and need to get synced) from newly dirtied pages that could slow down or even livelock the snapshot operation * improved check of filesystem id associated with a device during scan to detect duplicate devices that could be mixed up during mount * fix device replace state transitions, eg. when it ends up interrupted and reboot tries to restart balance too, or when start/cancel ioctls race * fix a crash due to a race when quotas are enabled during snapshot creation * GFP_NOFS/memalloc_nofs_* fixes due to GFP_KERNEL allocations in transaction context * fix fsync of files with multiple hard links in new directories * fix race of send with transaction commits that create snapshots Core changes: * cleanups * further removals of now-dead fsync code * core function for finding free extent has been split and provides a base for further cleanups to make the logic more understandable * removed lot of indirect callbacks for data and metadata inodes * simplified refcounting and locking for cloned extent buffers * removed redundant function arguments * defines converted to enums where appropriate * separate reserve for delayed refs from global reserve, update logic to do less trickery and ad-hoc heuristics, move out some related expensive operations from transaction commit or file truncate * dev-replace switched from custom locking scheme to semaphore * remove first phase of balance that tried to make some space for the relocation by calling shrink and grow, this did not work as expected and only introduced more error states due to potential resize failures, slightly improves the runtime as the chunks on all devices are not needlessly enumerated * clone and deduplication now use generic helper that adds a few more checks that were missing from the original btrfs implementation of the ioctls The following changes since commit 7566ec393f4161572ba6f11ad5171fd5d59b0fbd: Linux 4.20-rc7 (2018-12-16 15:46:55 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-4.21-tag for you to fetch changes up to 52042d8e82ff50d40e76a275ac0b97aa663328b0: btrfs: Fix typos in comments and strings (2018-12-17 14:51:50 +0100) Anand Jain (14): btrfs: remove redundant replace_state init btrfs: harden agaist duplicate fsid on scanned devices btrfs: mark btrfs_dev_replace_start as static btrfs: dev-replace: go back to suspended state if target device is missing btrfs: dev-replace: go back to suspend state if another EXCL_OP is running btrfs: fix use-after-free due to race between replace start and cancel btrfs: dev-replace: set result code of cancel by status of scrub btrfs: dev-replace: replace's scrub must not be running in suspended state btrfs: dev-replace: add explicit check for replace result "no error" btrfs: silence warning if replace is canceled btrfs: don't report user-requested cancel as an error btrfs: add helper to describe block group flags btrfs: balance: print args during start and resume btrfs: balance: print to system log when balance ends or is paused Andrea Gelmini (1): btrfs: Fix typos in comments and strings David Sterba (18): btrfs: merge btrfs_submit_bio_done to its caller btrfs: replace async_cow::root with fs_info btrfs: remove redundant csum buffer in btrfs_io_bio btrfs: replace btrfs_io_bio::end_io with a simple helper btrfs: switch BTRFS_FS_STATE_* to enums btrfs: switch BTRFS_BLOCK
[GIT PULL] Btrfs fixes for 4.18-rc2
Hi, we have a few regression fixes for qgroup rescan status tracking and the vm_fault_t conversion that mixed up the error values. Please pull, thanks. The following changes since commit c5b4a50b74018b3677098151ec5f4fce07d5e6a0: Btrfs: fix return value on rename exchange failure (2018-06-22 12:59:08 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-4.18-rc2-tag for you to fetch changes up to e4e7ede739f7fb468686dfffa2d1e35dca35bacd: Btrfs: fix mount failure when qgroup rescan is in progress (2018-06-28 11:30:57 +0200) Chris Mason (1): Btrfs: fix regression in btrfs_page_mkwrite() from vm_fault_t conversion Filipe Manana (1): Btrfs: fix mount failure when qgroup rescan is in progress Qu Wenruo (1): btrfs: quota: Set rescan progress to (u64)-1 if we hit last leaf fs/btrfs/inode.c | 3 ++- fs/btrfs/qgroup.c | 17 + 2 files changed, 15 insertions(+), 5 deletions(-)
[GIT PULL] Btrfs fix for 4.17-rc6
Hi, please consider pulling a fix for btrfs. This time it's really a one-liner and prevents leaking an internal error value 1 out of the ftruncate syscall. This has been observed in practice. The steps to reproduce make a common pattern (open/write/fync/ftruncate) but also need the application to not check only for negative values and happens only for compressed inlined files. The conditions are narrow but as this could break userspace I think it's better to merge it now and not wait for the merge window. Thanks. The following changes since commit 02ee654d3a04563c67bfe658a05384548b9bb105: btrfs: fix crash when trying to resume balance without the resume flag (2018-05-17 14:38:24 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-4.17-rc6-tag for you to fetch changes up to d50147381aa0c9725d63a677c138c47f55d6d3bc: Btrfs: fix error handling in btrfs_truncate() (2018-05-24 11:56:57 +0200) Omar Sandoval (1): Btrfs: fix error handling in btrfs_truncate() fs/btrfs/inode.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
Re: [GIT PULL] Btrfs fixes for 4.17-rc6
On Sun, May 20, 2018 at 8:21 AM David Sterba wrote: > They IMHO qualify for a late rc, though I did not expect that many. Especially with the tree-log.c changes being fairly big, I took a look, and I have to say that I appreciate (a) the warning in the pull request and (b) the extensive log messages explaining the problems these patches fix. I obviously still prefer to see only small and simple one-liners just before I'm making ready to release rc6, but in the absence of oneliners I do appreciate good explanations. Thanks, Linus
[GIT PULL] Btrfs fixes for 4.17-rc6
Hi, we've accumulated some fixes during the last week, some of them were in the works for a longer time but there are some newer ones too. Most of the fixes have a reproducer and fix user visible problems, also candidates for stable kernels. They IMHO qualify for a late rc, though I did not expect that many. The commit date may differ from author date because I added the stable and Fixes tags where missing. There are no merge conflicts against current master. Please pull, thanks. The following changes since commit a6aa10c70bf72fb28504cb5de5deac75da78b0f5: Btrfs: send, fix missing truncate for inode with prealloc extent past eof (2018-05-02 11:55:29 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-4.17-rc5-tag for you to fetch changes up to 02ee654d3a04563c67bfe658a05384548b9bb105: btrfs: fix crash when trying to resume balance without the resume flag (2018-05-17 14:38:24 +0200) Anand Jain (1): btrfs: fix crash when trying to resume balance without the resume flag Filipe Manana (2): Btrfs: fix xattr loss after power failure Btrfs: fix duplicate extents after fsync of file with prealloc extents Liu Bo (1): btrfs: fix reading stale metadata blocks after degraded raid1 mounts Misono Tomohiro (1): btrfs: property: Set incompat flag if lzo/zstd compression is set Nikolay Borisov (2): btrfs: Split btrfs_del_delalloc_inode into 2 functions btrfs: Fix delalloc inodes invalidation during transaction abort Robbie Ko (1): Btrfs: send, fix invalid access to commit roots due to concurrent snapshotting fs/btrfs/ctree.c| 22 ++-- fs/btrfs/ctree.h| 2 + fs/btrfs/disk-io.c | 26 ++ fs/btrfs/inode.c| 13 +++-- fs/btrfs/props.c| 12 +++-- fs/btrfs/tree-log.c | 144 +++- fs/btrfs/volumes.c | 9 7 files changed, 180 insertions(+), 48 deletions(-)
[GIT PULL] Btrfs updates for 4.17-rc3
Hi, please pull the following branch with 2 regression fixes and one fix for stable. Thanks. The following changes since commit c0872323746e11fc79344e3738b283a8cda86654: btrfs: print-tree: debugging output enhancement (2018-04-20 19:18:16 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-4.17-rc3-tag for you to fetch changes up to a6aa10c70bf72fb28504cb5de5deac75da78b0f5: Btrfs: send, fix missing truncate for inode with prealloc extent past eof (2018-05-02 11:55:29 +0200) Filipe Manana (1): Btrfs: send, fix missing truncate for inode with prealloc extent past eof Qu Wenruo (1): btrfs: Fix wrong first_key parameter in replace_path ethanwu (1): btrfs: Take trans lock before access running trans in check_delayed_ref fs/btrfs/extent-tree.c | 7 +++ fs/btrfs/relocation.c | 2 +- fs/btrfs/send.c| 4 3 files changed, 12 insertions(+), 1 deletion(-)
[GIT PULL] Btrfs fixes for 4.17-rc1
Hi, the branch contains a few fixups to qgroup patches that were merged this dev cycle, unaligned access fix, blockgroup removal corner case fix and a small debugging output tweak. Please pull, thanks. The following changes since commit 5d41be6f702f19f72db816c17175caf9dbdcdfa6: btrfs: Only check first key for committed tree blocks (2018-04-13 16:16:15 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-4.17-rc1-tag for you to fetch changes up to c0872323746e11fc79344e3738b283a8cda86654: btrfs: print-tree: debugging output enhancement (2018-04-20 19:18:16 +0200) David Sterba (1): btrfs: fix unaligned access in readdir Nikolay Borisov (1): btrfs: Fix race condition between delayed refs and blockgroup removal Qu Wenruo (5): btrfs: qgroup: Commit transaction in advance to reduce early EDQUOT btrfs: qgroup: Use independent and accurate per inode qgroup rsv btrfs: delayed-inode: Remove wrong qgroup meta reservation calls btrfs: Fix wrong btrfs_delalloc_release_extents parameter btrfs: print-tree: debugging output enhancement fs/btrfs/ctree.h | 25 + fs/btrfs/delayed-inode.c | 20 ++--- fs/btrfs/delayed-ref.c | 19 + fs/btrfs/delayed-ref.h | 1 + fs/btrfs/disk-io.c | 1 + fs/btrfs/extent-tree.c | 73 +--- fs/btrfs/file.c | 2 +- fs/btrfs/inode.c | 20 +++-- fs/btrfs/print-tree.c| 25 ++--- fs/btrfs/print-tree.h| 2 +- fs/btrfs/qgroup.c| 43 ++-- fs/btrfs/transaction.c | 1 + fs/btrfs/transaction.h | 14 ++ 13 files changed, 199 insertions(+), 47 deletions(-)
[GIT PULL] Btrfs updates for 4.17, part 2
Hi, we have queued a few more fixes (error handling, log replay, softlockup) and the rest is SPDX update that touches almost all files so the diffstat is long. The top patch is a fixup for excessive warning and was not in linux-next but I've tested it locally. Please pull, thanks. The following changes since commit 57599c7e7722daf5f8c2dba4b0e4628f5c500771: btrfs: lift errors from add_extent_changeset to the callers (2018-03-31 02:03:25 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-4.17-part2-tag for you to fetch changes up to 5d41be6f702f19f72db816c17175caf9dbdcdfa6: btrfs: Only check first key for committed tree blocks (2018-04-13 16:16:15 +0200) David Sterba (3): btrfs: replace GPL boilerplate by SPDX -- headers btrfs: replace GPL boilerplate by SPDX -- sources btrfs: add SPDX header to Kconfig Filipe Manana (1): Btrfs: fix loss of prealloc extents past i_size after fsync log replay Liu Bo (3): Btrfs: fix NULL pointer dereference in log_dir_items Btrfs: bail out on error during replay_dir_deletes Btrfs: clean up resources during umount after trans is aborted Nikolay Borisov (1): btrfs: Fix possible softlock on single core machines Qu Wenruo (1): btrfs: Only check first key for committed tree blocks fs/btrfs/Kconfig | 2 + fs/btrfs/acl.c | 15 +- fs/btrfs/async-thread.c| 15 +- fs/btrfs/async-thread.h| 21 ++-- fs/btrfs/backref.c | 15 +- fs/btrfs/backref.h | 19 ++-- fs/btrfs/btrfs_inode.h | 19 ++-- fs/btrfs/check-integrity.c | 15 +- fs/btrfs/check-integrity.h | 19 ++-- fs/btrfs/compression.c | 15 +- fs/btrfs/compression.h | 19 ++-- fs/btrfs/ctree.c | 15 +- fs/btrfs/ctree.h | 20 ++-- fs/btrfs/dedupe.h | 20 ++-- fs/btrfs/delayed-inode.c | 15 +- fs/btrfs/delayed-inode.h | 19 ++-- fs/btrfs/delayed-ref.c | 15 +- fs/btrfs/delayed-ref.h | 21 ++-- fs/btrfs/dev-replace.c | 16 +- fs/btrfs/dev-replace.h | 20 ++-- fs/btrfs/dir-item.c| 15 +- fs/btrfs/disk-io.c | 26 +- fs/btrfs/disk-io.h | 20 ++-- fs/btrfs/export.c | 1 + fs/btrfs/export.h | 1 + fs/btrfs/extent-tree.c | 17 ++- fs/btrfs/extent_io.c | 1 + fs/btrfs/extent_io.h | 6 ++- fs/btrfs/extent_map.c | 1 + fs/btrfs/extent_map.h | 6 ++- fs/btrfs/file-item.c | 15 +- fs/btrfs/file.c| 15 +- fs/btrfs/free-space-cache.c| 15 +- fs/btrfs/free-space-cache.h| 19 ++-- fs/btrfs/free-space-tree.c | 15 +- fs/btrfs/free-space-tree.h | 19 ++-- fs/btrfs/inode-item.c | 15 +- fs/btrfs/inode-map.c | 15 +- fs/btrfs/inode-map.h | 5 +- fs/btrfs/inode.c | 15 +- fs/btrfs/ioctl.c | 15 +- fs/btrfs/locking.c | 16 +- fs/btrfs/locking.h | 19 ++-- fs/btrfs/lzo.c | 15 +- fs/btrfs/math.h| 20 ++-- fs/btrfs/ordered-data.c| 15 +- fs/btrfs/ordered-data.h| 20 ++-- fs/btrfs/orphan.c | 15 +- fs/btrfs/print-tree.c | 15 +- fs/btrfs/print-tree.h | 21 ++-- fs/btrfs/props.c | 15 +- fs/btrfs/props.h | 19 ++-- fs/btrfs/qgroup.c | 15 +- fs/btrfs/qgroup.h | 22 ++--- fs/btrfs/raid56.c | 16 +- fs/btrfs/raid56.h | 21 ++-- fs/btrfs/rcu-string.h | 20 +++- fs/btrfs/reada.c | 15 +- fs/btrfs/ref-verify.c | 15 +- fs/btrfs/ref-verify.h | 23 +++-- fs/btrfs/relocation.c | 15 +- fs/btrfs/root-tree.c | 15 +- fs/btrfs/scrub.c | 15 +- fs/btrfs/send.c| 15 +- fs/btrfs/send.h| 20 +++- fs/btrfs/struct-funcs.c| 15 +- fs/btrfs/super.c | 15 +- fs
[GIT PULL] Btrfs updates for 4.17
Hi, please pull the following btrfs changes. There are a several user visible changes, the rest is mostly invisible and continues to clean up the whole code base. There are no merge conflicts with current master. Please pull, thanks. User visible changes: - new mount option nossd_spread (pair for ssd_spread) - mount option subvolid will detect junk after the number and fail the mount - add message after cancelled device replace - direct module dependency on libcrc32, removed own crc wrappers - removed user space transaction ioctls - use lighter locking when reading /proc/self/mounts, RCU instead of mutex to avoid unnecessary contention Enhancements: - skip writeback of last page when truncating file to same size - send: do not issue unnecessary truncate operations - mount option token specifiers: use %u for unsigned values, more validation - selftests: more tree block validations qgroups: - preparatory work for splitting reservation types for data and metadata, this should allow for more accurate tracking and fix some issues with underflows or do further enhancements - split metadata reservations for started and joined transaction so they do not get mixed up and are accounted correctly at commit time - with the above, it's possible to revert patch that potentially deadlocks when trying to make more space by explicitly committing when the quota limit is hit - fix root item corruption when multiple same source snapshots are created with quota enabled RAID56: - make sure target is identical to source when raid56 rebuild fails after dev-replace - faster rebuild during scrub, batch by stripes and not block-by-block - make more use of cached data when rebuilding from a missing device Fixes: - null pointer deref when device replace target is missing - fix fsync after hole punching when using no-holes feature - fix lockdep splat when allocating percpu data with wrong GFP flags Cleanups, refactoring, core changes: - drop redunant parameters from various functions - kill and opencode trivial helpers - __cold/__exit function annotations - dead code removal - continued audit and documentation of memory barriers - error handling: handle removal from uuid tree - error handling: remove handling of impossible condtitons - more debugging or error messages - updated tracepoints - 1 VLA use removal (1 still left) The following changes since commit 3eb2ce825ea1ad89d20f7a3b5780df850e4be274: Linux 4.16-rc7 (2018-03-25 12:44:30 -1000) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-4.17-tag for you to fetch changes up to 57599c7e7722daf5f8c2dba4b0e4628f5c500771: btrfs: lift errors from add_extent_changeset to the callers (2018-03-31 02:03:25 +0200) Anand Jain (25): btrfs: open code btrfs_dev_replace_cancel() btrfs: rename __btrfs_dev_replace_cancel() btrfs: btrfs_dev_replace_cancel() can return int btrfs: open code btrfs_init_dev_replace_tgtdev_for_resume() btrfs: extent_buffer_uptodate() make it static and inline btrfs: manage thread_pool mount option as %u btrfs: manage metadata_ratio mount option as %u btrfs: manage check_int_print_mask mount option as %u btrfs: manage commit mount option as %u btrfs: add a comment to mark the deprecated mount option btrfs: fix null pointer deref when target device is missing btrfs: log, when replace, is canceled by the user btrfs: remove unused function btrfs_async_submit_limit() btrfs: cow_file_range() num_bytes and disk_num_bytes are same btrfs: use ASSERT to report logical error in cow_file_range() btrfs: not a disk error if the bio_add_page fails btrfs: keep device list sorted btrfs: insert newly opened device to the end of the list btrfs: verify subvolid mount parameter btrfs: remove assert in btrfs_init_dev_replace_tgtdev() btrfs: unify types for metadata_ratio and data_chunk_allocations btrfs: rename btrfs_close_extra_device to btrfs_free_extra_devids btrfs: add define for oldest generation btrfs: drop num argument from find_live_mirror() btrfs: drop optimal argument from find_live_mirror() Colin Ian King (2): btrfs: remove redundant check on ret and goto Btrfs: extent map selftest: add missing void parameter to btrfs_test_extent_map David Sterba (37): btrfs: add (the only possible) __exit annotation btrfs: add more __cold annotations btrfs: drop underscores from exported xattr functions btrfs: drop extern from function declarations btrfs: adjust return type of btrfs_getxattr btrfs: move btrfs_listxattr prototype to xattr.h btrfs: open code trivial helper
[GIT PULL] Btrfs fixes for 4.16-rc6
Hi, there's an important revert in this pull request that needs to go to stable as it causes a corruption on big endian machines. The other fix is for FIEMAP incorrectly reporting shared extents before a sync and one fix for a crash in raid56. So far we got only one report about the BE corruption, the stable kernels were out for like a week, so hopefully the scope of the damage is low. Please pull, thanks. The following changes since commit 1f250e929a9c9332fd6ea34da684afee73837cfe: Btrfs: fix log replay failure after unlink and link combination (2018-03-01 16:18:40 +0100) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-4.16-rc5-tag for you to fetch changes up to 093e037ca88e1767693bc6bcb2df3f49c6be68c7: Revert "btrfs: use proper endianness accessors for super_copy" (2018-03-16 14:49:44 +0100) David Sterba (1): Revert "btrfs: use proper endianness accessors for super_copy" Dmitriy Gorokh (1): btrfs: Fix NULL pointer exception in find_bio_stripe Edmund Nadolski (1): btrfs: add missing initialization in btrfs_check_shared fs/btrfs/backref.c | 1 + fs/btrfs/raid56.c | 1 + fs/btrfs/sysfs.c | 8 +--- fs/btrfs/transaction.c | 20 4 files changed, 15 insertions(+), 15 deletions(-)
[GIT PULL] Btrfs fixes for 4.16-rc4
Hi, please consider the follwing btrfs updates, there are bugfixes or fixes for user visible behaviour. No merge conflicts. Please pull, thanks. - when NR_CPUS is large, a SRCU structure can significantly inflate size of the main filesystem structure that would not be possible to allocate by kmalloc, so the kvalloc fallback is used - improved error handling - fix endiannes when printing some filesystem attributes via sysfs, this is could happen when a filesystem is moved between different endianity hosts - send fixes: the NO_HOLE mode should not send a write operation for a file hole - fix log replay for for special files followed by file hardlinks - fix log replay failure after unlink and link combination - fix max chunk size calculation for DUP allocation The following changes since commit fd649f10c3d21ee9d7542c609f29978bdf73ab94: btrfs: Fix use-after-free when cleaning up fs_devs with a single stale device (2018-02-05 17:15:14 +0100) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-4.16-rc3-tag for you to fetch changes up to 1f250e929a9c9332fd6ea34da684afee73837cfe: Btrfs: fix log replay failure after unlink and link combination (2018-03-01 16:18:40 +0100) Anand Jain (1): btrfs: use proper endianness accessors for super_copy Filipe Manana (3): Btrfs: send, fix issuing write op when processing hole in no data mode Btrfs: fix log replay failure after linking special file and fsync Btrfs: fix log replay failure after unlink and link combination Hans van Kranenburg (1): btrfs: alloc_chunk: fix DUP stripe size handling Jeff Mahoney (1): btrfs: use kvzalloc to allocate btrfs_fs_info Nikolay Borisov (2): btrfs: handle failure of add_pending_csums btrfs: Handle btrfs_set_extent_delalloc failure in relocate_file_extent_cluster fs/btrfs/ctree.h | 7 ++- fs/btrfs/inode-item.c | 44 +++ fs/btrfs/inode.c | 11 - fs/btrfs/relocation.c | 18 +++- fs/btrfs/send.c| 3 ++ fs/btrfs/super.c | 2 +- fs/btrfs/sysfs.c | 8 ++-- fs/btrfs/transaction.c | 20 + fs/btrfs/tree-log.c| 114 +++-- fs/btrfs/volumes.c | 11 ++--- 10 files changed, 191 insertions(+), 47 deletions(-)
[GIT PULL] Btrfs fixes for 4.16-rc1
Hi, we have a few assorted fixes, some of them show up during fstests so I gave them more testing. Please pull, thanks. The following changes since commit 3acbcbfc8f06d4ade2aab2ebba0a2542a05ce90c: btrfs: drop devid as device_list_add() arg (2018-01-29 19:31:16 +0100) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-4.16-rc1-tag for you to fetch changes up to fd649f10c3d21ee9d7542c609f29978bdf73ab94: btrfs: Fix use-after-free when cleaning up fs_devs with a single stale device (2018-02-05 17:15:14 +0100) Filipe Manana (1): Btrfs: fix null pointer dereference when replacing missing device Liu Bo (6): Btrfs: fix deadlock in run_delalloc_nocow Btrfs: fix crash due to not cleaning up tree log block's dirty bits Btrfs: fix extent state leak from tree log Btrfs: fix btrfs_evict_inode to handle abnormal inodes correctly Btrfs: fix use-after-free on root->orphan_block_rsv Btrfs: fix unexpected -EEXIST when creating new inode Nikolay Borisov (2): btrfs: Ignore errors from btrfs_qgroup_trace_extent_post btrfs: Fix use-after-free when cleaning up fs_devs with a single stale device Zygo Blaxell (1): btrfs: remove spurious WARN_ON(ref->count < 0) in find_parent_nodes fs/btrfs/backref.c | 11 ++- fs/btrfs/delayed-ref.c | 3 ++- fs/btrfs/extent-tree.c | 4 fs/btrfs/inode.c | 41 ++--- fs/btrfs/qgroup.c | 9 +++-- fs/btrfs/tree-log.c| 32 ++-- fs/btrfs/volumes.c | 1 + 7 files changed, 80 insertions(+), 21 deletions(-)
[GIT PULL] Btrfs for 4.16
Hi, the btrfs updates for this cycle are mostly cleanups with a few raid56 bugfixes and some feature additions. Please pull, thanks. Features or user visible changes: - fallocate: implement zero range mode - avoid losing data raid profile when deleting a device - tree item checker: more checks for directory items and xattrs Notable fixes: - raid56 recovery: don't use cached stripes, that could be potentially changed and a later RMW or recovery would lead to corruptions or failures - let raid56 try harder to rebuild damaged data, reading from all stripes if necessary - fix scrub to repair raid56 in a similar way as in the case above Other: - cleanups: device freeing, removed some call indirections, redundant bio_put/_get, unused parameters, refactorings and renames - RCU list traversal fixups - simplify mount callchain, remove recursing back when mounting a subvolume - plug for fsync, may improve bio merging on multiple devices - compression heurisic: replace heap sort with radix sort, gains some performance - add extent map selftests, buffered write vs dio The following changes since commit 0c5b9b5d9adbad4b60491f9ba0d2af38904bb4b9: Linux 4.15-rc9 (2018-01-21 13:51:26 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-4.16-tag for you to fetch changes up to 3acbcbfc8f06d4ade2aab2ebba0a2542a05ce90c: btrfs: drop devid as device_list_add() arg (2018-01-29 19:31:16 +0100) Anand Jain (33): btrfs: clean up btrfs_dev_stat_inc usage btrfs: move volume_mutex into the btrfs_rm_device() btrfs: rename btrfs_add_device to btrfs_add_dev_item btrfs: set fs_devices->seed directly btrfs: move check for device generation to the last btrfs: factor __btrfs_open_devices() to create btrfs_open_one_device() btrfs: drop btrfs_device::can_discard to query directly btrfs: add helper for device path or missing btrfs: cleanup device states define BTRFS_DEV_STATE_WRITEABLE btrfs: cleanup device states define BTRFS_DEV_STATE_IN_FS_METADATA btrfs: cleanup device states define BTRFS_DEV_STATE_MISSING btrfs: cleanup device states define BTRFS_DEV_STATE_REPLACE_TGT btrfs: cleanup device states define BTRFS_DEV_STATE_FLUSH_SENT btrfs: put btrfs_ioctl_vol_args_v2 related defines together btrfs: factor btrfs_check_rw_degradable() to check given device btrfs: remove check for BTRFS_FS_STATE_ERROR which we just set btrfS: collapse btrfs_handle_error() into __btrfs_handle_fs_error() btrfs: rename btrfs_device::scrub_device to scrub_ctx btrfs: simplify mutex unlocking code in btrfs_commit_transaction btrfs: minor style cleanups in btrfs_scan_one_device btrfs: define SUPER_FLAG_METADUMP_V2 btrfs: add support for SUPER_FLAG_CHANGING_FSID btrfs: fail mount when sb flag is not in BTRFS_SUPER_FLAG_SUPP btrfs: cleanup btrfs_free_stale_device() usage btrfs: no need to check for btrfs_fs_devices::seeding btrfs: make btrfs_free_stale_device() to iterate all stales btrfs: make btrfs_free_stale_devices() argument optional btrfs: rename btrfs_free_stale_devices() arg to skip_dev btrfs: make btrfs_free_stale_devices() to match the path btrfs: move pr_info into device_list_add btrfs: set the total_devices in device_list_add() btrfs: get device pointer from device_list_add() btrfs: drop devid as device_list_add() arg Arnd Bergmann (1): btrfs: tree-checker: use %zu format string for size_t Colin Ian King (1): btrfs: make function update_share_count static David Sterba (46): btrfs: rename device free rcu helper to free_device_rcu btrfs: introduce free_device helper btrfs: use free_device where opencoded btrfs: simplify exit paths in btrfs_init_new_device btrfs: document device locking btrfs: simplify btrfs_close_bdev btrfs: switch to RCU for device traversal in btrfs_ioctl_dev_info btrfs: switch to RCU for device traversal in btrfs_ioctl_fs_info btrfs: use non-RCU list traversal in write_all_supers callees btrfs: prepare to drop gfp mask parameter from clear_extent_bit btrfs: sink gfp parameter to clear_extent_bit btrfs: sink gfp parameter to clear_extent_uptodate btrfs: use GFP_KERNEL in btrfs_alloc_inode btrfs: sink get_extent parameter to extent_writepages btrfs: sink get_extent parameter to extent_write_locked_range btrfs: sink get_extent parameter to extent_write_full_page btrfs: drop get_extent from extent_page_data btrfs: sink get_extent parameter to extent_fiemap btrfs: sink get_extent parameter to get_extent_skip_holes btrfs: sink get_extent parameter to extent_readpages btrfs: sink get_extent pa
[GIT PULL] Btrfs readdir fix for 4.15
Hi, please consider pulling the fix to 4.15. It's been reported recently that readdir can list stale entries under some conditions. As it is a user visible bug I'd like to get it fix despite we're in the late rc. Thanks. The following changes since commit ec35e48b286959991cdbb886f1bdeda4575c80b4: btrfs: fix refcount_t usage when deleting btrfs_delayed_nodes (2018-01-02 18:00:14 +0100) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-4.15-tag for you to fetch changes up to e4fd493c0541d36953f7b9d3bfced67a1321792f: Btrfs: fix stale entries in readdir (2018-01-24 20:27:48 +0100) Josef Bacik (1): Btrfs: fix stale entries in readdir fs/btrfs/delayed-inode.c | 26 -- 1 file changed, 8 insertions(+), 18 deletions(-)
[GIT PULL] Btrfs fixes for 4.15-rc7
Hi, we have two more fixes for 4.15, aimed for stable. The leak fix is obvious, the second patch fixes a bug revealed by the refcount API, when it behaves differently than previous atomic_t and reports refs going from 0 to 1 in one case. No merge conflicts. Please pull, thanks. The following changes since commit c8bcbfbd239ed60a6562964b58034ac8a25f4c31: btrfs: Fix possible off-by-one in btrfs_search_path_in_tree (2017-12-07 00:35:15 +0100) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-4.15-rc7-tag for you to fetch changes up to ec35e48b286959991cdbb886f1bdeda4575c80b4: btrfs: fix refcount_t usage when deleting btrfs_delayed_nodes (2018-01-02 18:00:14 +0100) Chris Mason (1): btrfs: fix refcount_t usage when deleting btrfs_delayed_nodes Nikolay Borisov (1): btrfs: Fix flush bio leak fs/btrfs/delayed-inode.c | 45 ++--- fs/btrfs/volumes.c | 1 - 2 files changed, 34 insertions(+), 12 deletions(-)