linux_dsm_epyc7002/include/uapi
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
..
asm-generic bpf: enable bpf syscall on x64 and i386 2014-09-26 15:05:14 -04:00
drm drm/exynos: use drm generic mmap interface 2014-09-20 01:00:13 +09:00
linux Btrfs: return failure if btrfs_dev_replace_finishing() failed 2014-11-20 17:14:28 -08:00
misc cxl: Add documentation for userspace APIs 2014-10-08 20:16:19 +11:00
mtd mtd: lpddr: add driver for LPDDR2-NVM PCM memories 2014-05-20 17:45:17 -07:00
rdma Merge branches 'core', 'cxgb4', 'ipoib', 'iser', 'iwcm', 'mad', 'misc', 'mlx4', 'mlx5', 'ocrdma' and 'srp' into for-next 2014-08-14 08:58:04 -07:00
scsi
sound ALSA: pcm: add new DSD sampleformat for native DSD playback on XMOS based devices 2014-09-08 17:11:00 +02:00
video
xen xen: install xen/gntdev.h and xen/gntalloc.h 2014-02-11 10:12:36 -05:00
Kbuild cxl: Add userspace header file 2014-10-08 20:15:57 +11:00