Re: [GIT PULL] Btrfs fix for 5.12-rc7

2021-04-11 Thread pr-tracker-bot
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

2021-04-11 Thread David Sterba
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

2021-03-25 Thread pr-tracker-bot
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

2021-03-25 Thread David Sterba
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

2021-03-18 Thread pr-tracker-bot
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

2021-03-18 Thread David Sterba
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

2021-03-05 Thread pr-tracker-bot
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

2021-03-05 Thread David Sterba
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

2021-03-01 Thread pr-tracker-bot
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

2021-03-01 Thread David Sterba
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

2021-02-21 Thread pr-tracker-bot
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

2021-02-16 Thread David Sterba
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

2021-02-13 Thread pr-tracker-bot
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

2021-02-13 Thread David Sterba
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

2021-01-30 Thread pr-tracker-bot
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

2021-01-30 Thread Linus Torvalds
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

2021-01-29 Thread David Sterba
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

2021-01-20 Thread pr-tracker-bot
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

2021-01-20 Thread David Sterba
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

2021-01-11 Thread pr-tracker-bot
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

2021-01-11 Thread David Sterba
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

2021-01-06 Thread pr-tracker-bot
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

2021-01-06 Thread David Sterba
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

2020-12-15 Thread pr-tracker-bot
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

2020-12-14 Thread David Sterba
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

2020-11-27 Thread pr-tracker-bot
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

2020-11-27 Thread David Sterba
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

2020-11-11 Thread pr-tracker-bot
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

2020-11-10 Thread David Sterba
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

2020-10-30 Thread pr-tracker-bot
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

2020-10-30 Thread David Sterba
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

2020-10-15 Thread David Sterba
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

2020-10-14 Thread Stephen Rothwell
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

2020-10-13 Thread pr-tracker-bot
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

2020-10-12 Thread David Sterba
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

2020-10-02 Thread pr-tracker-bot
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

2020-10-02 Thread David Sterba
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

2020-09-23 Thread pr-tracker-bot
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

2020-09-23 Thread David Sterba
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

2020-09-14 Thread pr-tracker-bot
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

2020-09-14 Thread David Sterba
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

2020-09-12 Thread pr-tracker-bot
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

2020-09-12 Thread David Sterba
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

2020-09-01 Thread pr-tracker-bot
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

2020-08-31 Thread David Sterba
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

2020-08-24 Thread pr-tracker-bot
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

2020-08-24 Thread David Sterba
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

2020-08-13 Thread pr-tracker-bot
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

2020-08-13 Thread David Sterba
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

2020-08-03 Thread pr-tracker-bot
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

2020-07-31 Thread David Sterba
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

2020-07-24 Thread pr-tracker-bot
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

2020-07-24 Thread David Sterba
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

2020-07-12 Thread pr-tracker-bot
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

2020-07-12 Thread David Sterba
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

2020-07-07 Thread pr-tracker-bot
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

2020-07-07 Thread David Sterba
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

2020-06-23 Thread pr-tracker-bot
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

2020-06-23 Thread David Sterba
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

2020-06-15 Thread Filipe Manana
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

2020-06-15 Thread Christoph Hellwig
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

2020-06-15 Thread David Sterba
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

2020-06-15 Thread Christoph Hellwig
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

2020-06-14 Thread pr-tracker-bot
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

2020-06-14 Thread Linus Torvalds
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

2020-06-14 Thread David Sterba
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

2020-06-02 Thread pr-tracker-bot
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

2020-06-01 Thread David Sterba
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

2020-05-03 Thread pr-tracker-bot
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

2020-05-03 Thread David Sterba
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

2019-09-30 Thread pr-tracker-bot
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

2019-08-18 Thread pr-tracker-bot
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

2019-07-26 Thread pr-tracker-bot
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

2019-07-16 Thread pr-tracker-bot
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

2019-06-18 Thread pr-tracker-bot
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

2019-03-12 Thread pr-tracker-bot
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

2019-03-07 Thread pr-tracker-bot
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

2019-03-04 Thread David Sterba
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

2019-02-03 Thread pr-tracker-bot
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

2019-02-03 Thread David Sterba
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

2019-01-20 Thread pr-tracker-bot
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

2019-01-20 Thread David Sterba
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

2019-01-13 Thread pr-tracker-bot
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

2019-01-13 Thread David Sterba
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

2018-12-27 Thread pr-tracker-bot
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

2018-12-19 Thread David Sterba
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

2018-07-01 Thread David Sterba
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

2018-05-24 Thread David Sterba
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

2018-05-20 Thread Linus Torvalds
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

2018-05-20 Thread David Sterba
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

2018-05-04 Thread David Sterba
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

2018-04-22 Thread David Sterba
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

2018-04-15 Thread David Sterba
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

2018-04-03 Thread David Sterba
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

2018-03-16 Thread David Sterba
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

2018-03-04 Thread David Sterba
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

2018-02-16 Thread David Sterba
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

2018-01-29 Thread David Sterba
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

2018-01-25 Thread David Sterba
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

2018-01-05 Thread David Sterba
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(-)


  1   2   3   >