mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-24 03:08:51 +03:00
Move partition scanning from userspace to module.
Currently, zpool online -e (dynamic vdev expansion) doesn't work on whole disks because we're invoking ioctl(BLKRRPART) from userspace while ZFS still has a partition open on the disk, which results in EBUSY. This patch moves the BLKRRPART invocation from the zpool utility to the module. Specifically, this is done just before opening the device in vdev_disk_open() which is called inside vdev_reopen(). This requires jumping through some hoops to get to the disk device from the partition device, and to make sure we can still open the partition after the BLKRRPART call. Note that this new code path is triggered on dynamic vdev expansion only; other actions, like creating a new pool, are unchanged and still call BLKRRPART from userspace. This change also depends on API changes which are available in 2.6.37 and latter kernels. The build system has been updated to detect this, but there is no compatibility mode for older kernels. This means that online expansion will NOT be available in older kernels. However, it will still be possible to expand the vdev offline. Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #808
This commit is contained in:
committed by
Brian Behlendorf
parent
fb7eb3e3e9
commit
b5a28807cd
@@ -62,6 +62,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-blk-rq-pos.m4 \
|
||||
$(top_srcdir)/config/kernel-blk-rq-sectors.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
@@ -71,6 +72,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-fmode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-fsync.m4 \
|
||||
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
|
||||
$(top_srcdir)/config/kernel-get-gendisk.m4 \
|
||||
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
|
||||
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
|
||||
$(top_srcdir)/config/kernel-kobj-name-len.m4 \
|
||||
|
||||
@@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-blk-rq-pos.m4 \
|
||||
$(top_srcdir)/config/kernel-blk-rq-sectors.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
@@ -73,6 +74,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-fmode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-fsync.m4 \
|
||||
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
|
||||
$(top_srcdir)/config/kernel-get-gendisk.m4 \
|
||||
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
|
||||
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
|
||||
$(top_srcdir)/config/kernel-kobj-name-len.m4 \
|
||||
|
||||
@@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-blk-rq-pos.m4 \
|
||||
$(top_srcdir)/config/kernel-blk-rq-sectors.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
@@ -73,6 +74,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-fmode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-fsync.m4 \
|
||||
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
|
||||
$(top_srcdir)/config/kernel-get-gendisk.m4 \
|
||||
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
|
||||
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
|
||||
$(top_srcdir)/config/kernel-kobj-name-len.m4 \
|
||||
|
||||
+3
-10
@@ -497,10 +497,9 @@ efi_ioctl(int fd, int cmd, dk_efi_t *dk_ioc)
|
||||
return (error);
|
||||
}
|
||||
|
||||
#if defined(__linux__)
|
||||
static int
|
||||
efi_rescan(int fd)
|
||||
int efi_rescan(int fd)
|
||||
{
|
||||
#if defined(__linux__)
|
||||
int retry = 5;
|
||||
int error;
|
||||
|
||||
@@ -512,10 +511,10 @@ efi_rescan(int fd)
|
||||
return (-1);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
return (0);
|
||||
}
|
||||
#endif
|
||||
|
||||
static int
|
||||
check_label(int fd, dk_efi_t *dk_ioc)
|
||||
@@ -1304,12 +1303,6 @@ efi_write(int fd, struct dk_gpt *vtoc)
|
||||
(void) write_pmbr(fd, vtoc);
|
||||
free(dk_ioc.dki_data);
|
||||
|
||||
#if defined(__linux__)
|
||||
rval = efi_rescan(fd);
|
||||
if (rval)
|
||||
return (VT_ERROR);
|
||||
#endif
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
||||
@@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-blk-rq-pos.m4 \
|
||||
$(top_srcdir)/config/kernel-blk-rq-sectors.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
@@ -73,6 +74,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-fmode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-fsync.m4 \
|
||||
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
|
||||
$(top_srcdir)/config/kernel-get-gendisk.m4 \
|
||||
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
|
||||
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
|
||||
$(top_srcdir)/config/kernel-kobj-name-len.m4 \
|
||||
|
||||
@@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-blk-rq-pos.m4 \
|
||||
$(top_srcdir)/config/kernel-blk-rq-sectors.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
@@ -73,6 +74,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-fmode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-fsync.m4 \
|
||||
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
|
||||
$(top_srcdir)/config/kernel-get-gendisk.m4 \
|
||||
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
|
||||
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
|
||||
$(top_srcdir)/config/kernel-kobj-name-len.m4 \
|
||||
|
||||
@@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-blk-rq-pos.m4 \
|
||||
$(top_srcdir)/config/kernel-blk-rq-sectors.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
@@ -73,6 +74,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-fmode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-fsync.m4 \
|
||||
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
|
||||
$(top_srcdir)/config/kernel-get-gendisk.m4 \
|
||||
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
|
||||
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
|
||||
$(top_srcdir)/config/kernel-kobj-name-len.m4 \
|
||||
|
||||
@@ -63,6 +63,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-blk-rq-pos.m4 \
|
||||
$(top_srcdir)/config/kernel-blk-rq-sectors.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
@@ -72,6 +73,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-fmode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-fsync.m4 \
|
||||
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
|
||||
$(top_srcdir)/config/kernel-get-gendisk.m4 \
|
||||
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
|
||||
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
|
||||
$(top_srcdir)/config/kernel-kobj-name-len.m4 \
|
||||
|
||||
@@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-blk-rq-pos.m4 \
|
||||
$(top_srcdir)/config/kernel-blk-rq-sectors.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
@@ -73,6 +74,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-fmode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-fsync.m4 \
|
||||
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
|
||||
$(top_srcdir)/config/kernel-get-gendisk.m4 \
|
||||
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
|
||||
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
|
||||
$(top_srcdir)/config/kernel-kobj-name-len.m4 \
|
||||
|
||||
@@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-blk-rq-pos.m4 \
|
||||
$(top_srcdir)/config/kernel-blk-rq-sectors.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
@@ -73,6 +74,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-fmode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-fsync.m4 \
|
||||
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
|
||||
$(top_srcdir)/config/kernel-get-gendisk.m4 \
|
||||
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
|
||||
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
|
||||
$(top_srcdir)/config/kernel-kobj-name-len.m4 \
|
||||
|
||||
@@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-blk-rq-pos.m4 \
|
||||
$(top_srcdir)/config/kernel-blk-rq-sectors.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
@@ -73,6 +74,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-fmode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-fsync.m4 \
|
||||
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
|
||||
$(top_srcdir)/config/kernel-get-gendisk.m4 \
|
||||
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
|
||||
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
|
||||
$(top_srcdir)/config/kernel-kobj-name-len.m4 \
|
||||
|
||||
@@ -62,6 +62,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-blk-rq-pos.m4 \
|
||||
$(top_srcdir)/config/kernel-blk-rq-sectors.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
@@ -71,6 +72,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-fmode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-fsync.m4 \
|
||||
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
|
||||
$(top_srcdir)/config/kernel-get-gendisk.m4 \
|
||||
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
|
||||
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
|
||||
$(top_srcdir)/config/kernel-kobj-name-len.m4 \
|
||||
|
||||
@@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-blk-rq-pos.m4 \
|
||||
$(top_srcdir)/config/kernel-blk-rq-sectors.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
@@ -73,6 +74,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-fmode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-fsync.m4 \
|
||||
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
|
||||
$(top_srcdir)/config/kernel-get-gendisk.m4 \
|
||||
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
|
||||
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
|
||||
$(top_srcdir)/config/kernel-kobj-name-len.m4 \
|
||||
|
||||
@@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-blk-rq-pos.m4 \
|
||||
$(top_srcdir)/config/kernel-blk-rq-sectors.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
@@ -73,6 +74,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-fmode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-fsync.m4 \
|
||||
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
|
||||
$(top_srcdir)/config/kernel-get-gendisk.m4 \
|
||||
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
|
||||
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
|
||||
$(top_srcdir)/config/kernel-kobj-name-len.m4 \
|
||||
|
||||
@@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-blk-rq-pos.m4 \
|
||||
$(top_srcdir)/config/kernel-blk-rq-sectors.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
@@ -73,6 +74,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-fmode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-fsync.m4 \
|
||||
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
|
||||
$(top_srcdir)/config/kernel-get-gendisk.m4 \
|
||||
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
|
||||
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
|
||||
$(top_srcdir)/config/kernel-kobj-name-len.m4 \
|
||||
|
||||
@@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-blk-rq-pos.m4 \
|
||||
$(top_srcdir)/config/kernel-blk-rq-sectors.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
@@ -73,6 +74,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-fmode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-fsync.m4 \
|
||||
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
|
||||
$(top_srcdir)/config/kernel-get-gendisk.m4 \
|
||||
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
|
||||
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
|
||||
$(top_srcdir)/config/kernel-kobj-name-len.m4 \
|
||||
|
||||
@@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-blk-rq-pos.m4 \
|
||||
$(top_srcdir)/config/kernel-blk-rq-sectors.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
@@ -73,6 +74,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-fmode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-fsync.m4 \
|
||||
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
|
||||
$(top_srcdir)/config/kernel-get-gendisk.m4 \
|
||||
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
|
||||
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
|
||||
$(top_srcdir)/config/kernel-kobj-name-len.m4 \
|
||||
|
||||
@@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-blk-rq-pos.m4 \
|
||||
$(top_srcdir)/config/kernel-blk-rq-sectors.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
@@ -73,6 +74,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-fmode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-fsync.m4 \
|
||||
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
|
||||
$(top_srcdir)/config/kernel-get-gendisk.m4 \
|
||||
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
|
||||
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
|
||||
$(top_srcdir)/config/kernel-kobj-name-len.m4 \
|
||||
|
||||
@@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-blk-rq-pos.m4 \
|
||||
$(top_srcdir)/config/kernel-blk-rq-sectors.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
@@ -73,6 +74,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-fmode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-fsync.m4 \
|
||||
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
|
||||
$(top_srcdir)/config/kernel-get-gendisk.m4 \
|
||||
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
|
||||
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
|
||||
$(top_srcdir)/config/kernel-kobj-name-len.m4 \
|
||||
|
||||
@@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-blk-rq-pos.m4 \
|
||||
$(top_srcdir)/config/kernel-blk-rq-sectors.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
@@ -73,6 +74,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-fmode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-fsync.m4 \
|
||||
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
|
||||
$(top_srcdir)/config/kernel-get-gendisk.m4 \
|
||||
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
|
||||
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
|
||||
$(top_srcdir)/config/kernel-kobj-name-len.m4 \
|
||||
|
||||
@@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-blk-rq-pos.m4 \
|
||||
$(top_srcdir)/config/kernel-blk-rq-sectors.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
@@ -73,6 +74,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-fmode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-fsync.m4 \
|
||||
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
|
||||
$(top_srcdir)/config/kernel-get-gendisk.m4 \
|
||||
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
|
||||
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
|
||||
$(top_srcdir)/config/kernel-kobj-name-len.m4 \
|
||||
|
||||
@@ -2097,6 +2097,9 @@ zpool_relabel_disk(libzfs_handle_t *hdl, const char *path, const char *msg)
|
||||
* It's possible that we might encounter an error if the device
|
||||
* does not have any unallocated space left. If so, we simply
|
||||
* ignore that error and continue on.
|
||||
*
|
||||
* Also, we don't call efi_rescan() - that would just return EBUSY.
|
||||
* The module will do it for us in vdev_disk_open().
|
||||
*/
|
||||
error = efi_use_whole_disk(fd);
|
||||
(void) close(fd);
|
||||
@@ -3847,7 +3850,7 @@ zpool_label_disk(libzfs_handle_t *hdl, zpool_handle_t *zhp, char *name)
|
||||
vtoc->efi_parts[8].p_size = resv;
|
||||
vtoc->efi_parts[8].p_tag = V_RESERVED;
|
||||
|
||||
if ((rval = efi_write(fd, vtoc)) != 0) {
|
||||
if ((rval = efi_write(fd, vtoc)) != 0 || (rval = efi_rescan(fd)) != 0) {
|
||||
/*
|
||||
* Some block drivers (like pcata) may not support EFI
|
||||
* GPT labels. Print out a helpful error message dir-
|
||||
|
||||
@@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-blk-rq-pos.m4 \
|
||||
$(top_srcdir)/config/kernel-blk-rq-sectors.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
@@ -73,6 +74,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-fmode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-fsync.m4 \
|
||||
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
|
||||
$(top_srcdir)/config/kernel-get-gendisk.m4 \
|
||||
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
|
||||
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
|
||||
$(top_srcdir)/config/kernel-kobj-name-len.m4 \
|
||||
|
||||
Reference in New Issue
Block a user