Files
linux/include/uapi/linux
Eryu Guan 2fc9f6baa2 Btrfs: return failure if btrfs_dev_replace_finishing() failed
device replace could fail due to another running scrub process or any
other errors btrfs_scrub_dev() may hit, but this failure doesn't get
returned to userspace.

The following steps could reproduce this issue

	mkfs -t btrfs -f /dev/sdb1 /dev/sdb2
	mount /dev/sdb1 /mnt/btrfs
	while true; do btrfs scrub start -B /mnt/btrfs >/dev/null 2>&1; done &
	btrfs replace start -Bf /dev/sdb2 /dev/sdb3 /mnt/btrfs
	# if this replace succeeded, do the following and repeat until
	# you see this log in dmesg
	# BTRFS: btrfs_scrub_dev(/dev/sdb2, 2, /dev/sdb3) failed -115
	#btrfs replace start -Bf /dev/sdb3 /dev/sdb2 /mnt/btrfs

	# once you see the error log in dmesg, check return value of
	# replace
	echo $?

Introduce a new dev replace result

BTRFS_IOCTL_DEV_REPLACE_RESULT_SCRUB_INPROGRESS

to catch -EINPROGRESS explicitly and return other errors directly to
userspace.

Signed-off-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Chris Mason <clm@fb.com>
2014-11-20 17:14:28 -08:00
..
2014-09-23 23:15:46 -07:00
2014-10-14 13:08:29 +11:00
2013-04-26 16:08:16 +10:00
2014-07-01 10:48:05 -06:00
2014-03-20 14:55:18 +01:00
2014-09-26 14:53:23 -04:00
2012-10-16 18:49:15 -07:00
2014-10-09 09:14:13 +02:00
2014-08-08 15:57:31 -07:00
2014-10-24 00:14:37 +02:00
2014-05-14 10:04:34 +01:00
2013-12-11 12:57:55 -08:00
2014-09-29 15:37:01 -04:00
2013-08-13 15:10:22 -07:00
2013-08-21 12:21:45 -07:00
2014-10-03 16:53:33 -07:00
2014-08-08 15:57:31 -07:00
2013-11-27 11:03:38 -08:00
2014-03-04 13:51:06 -05:00
2013-07-09 10:33:25 -07:00
2013-02-27 19:10:22 -08:00
2013-04-19 14:57:57 -04:00
2014-06-13 10:53:49 -04:00
2012-11-16 10:15:35 -08:00
2014-01-06 15:13:01 -05:00
2014-03-21 14:21:13 -04:00
2014-10-28 10:46:08 +01:00
2013-03-22 16:19:59 -07:00
2014-04-26 12:13:24 -04:00
2013-05-02 13:40:15 +03:00
2013-12-11 09:25:20 -02:00