From: Filipe Manana <>

Hi Chris, please pull the following send fix for the 4.9 kernel.

Doing snapshots while balance is ongoing can result in file extent items whose
only difference between snapshots is their bytenr, which got replaced by the
relocation process, and the inode item does not get changed between the parent
and send snapshots (since nothing changed except the location of extent).
Prior to the 4.8 kernel, send would consider this a bug and we would hit a
BUG_ON(), but on 4.8 due to another change this made only send fail with -EIO
and log an error message, since the same can happen due to rare errors that can
occur when attempting to update an inode item after successfully updating its
This has been observed with some frequency on openSUSE and SLE boxes where
balance is triggered periodically by a cron job, snapshotting is triggered
before package installations/updates and snapper calls for incremental send
operations in no data mode.


The following changes since commit 19c4d2f994788a954af1aa7e53b0fdb46fd7925a:

  Revert "btrfs: let btrfs_delete_unused_bgs() to clean relocated bgs" 
(2016-10-10 13:43:31 -0700)

are available in the git repository at:

  git:// for-chris-4.9

for you to fetch changes up to d5e84fd8d0634d056248b67463b42f6c85896a19:

  Btrfs: fix incremental send failure caused by balance (2016-10-12 10:41:01 

Filipe Manana (1):
      Btrfs: fix incremental send failure caused by balance

 fs/btrfs/send.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)


To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to
More majordomo info at

Reply via email to