]> git.baikalelectronics.ru Git - kernel.git/commit
Btrfs: allow splitting of hole em's when dropping extent cache
authorJosef Bacik <jbacik@fusionio.com>
Thu, 11 Jul 2013 14:34:59 +0000 (10:34 -0400)
committerChris Mason <chris.mason@fusionio.com>
Fri, 9 Aug 2013 23:30:09 +0000 (19:30 -0400)
commit9866fde1cc7a625384a86b4707ad5b9aa8a359a4
tree7a4b93b7c6b3603795a36464944d8c479806e41c
parent1c0f2ca4384735321039e9b83d790d3384d9f1b7
Btrfs: allow splitting of hole em's when dropping extent cache

I noticed while running multi-threaded fsync tests that sometimes fsck would
complain about an improper gap.  This happens because we fail to add a hole
extent to the file, which was happening when we'd split a hole EM because
btrfs_drop_extent_cache was just discarding the whole em instead of splitting
it.  So this patch fixes this by allowing us to split a hole em properly, which
means that added holes actually get logged properly and we no longer see this
fsck error.  Thankfully we're tolerant of these sort of problems so a user would
not see any adverse effects of this bug, other than fsck complaining.  Thanks,

Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
fs/btrfs/file.c