summaryrefslogtreecommitdiff
path: root/usr/Makefile
diff options
context:
space:
mode:
authorZhao Lei <zhaolei@cn.fujitsu.com>2016-05-27 14:59:00 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-09-15 08:27:47 +0200
commitb5282220fdd4a1e39b59a28fd499d03f2cb0c056 (patch)
tree8d24b6b6f466095d94bd9b6c597a7869f691c583 /usr/Makefile
parent4af03e19226cebe72d45c669ddc3b33666adf18e (diff)
btrfs: Continue write in case of can_not_nocow
[ Upstream commit 4da2e26a2a32b174878744bd0f07db180c875f26 ] btrfs failed in xfstests btrfs/080 with -o nodatacow. Can be reproduced by following script: DEV=/dev/vdg MNT=/mnt/tmp umount $DEV &>/dev/null mkfs.btrfs -f $DEV mount -o nodatacow $DEV $MNT dd if=/dev/zero of=$MNT/test bs=1 count=2048 & btrfs subvolume snapshot -r $MNT $MNT/test_snap & wait -- We can see dd failed on NO_SPACE. Reason: __btrfs_buffered_write should run cow write when no_cow impossible, and current code is designed with above logic. But check_can_nocow() have 2 type of return value(0 and <0) on can_not_no_cow, and current code only continue write on first case, the second case happened in doing subvolume. Fix: Continue write when check_can_nocow() return 0 and <0. Reviewed-by: Filipe Manana <fdmanana@suse.com> Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com> Signed-off-by: Sasha Levin <alexander.levin@verizon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'usr/Makefile')
0 files changed, 0 insertions, 0 deletions