zfs_prepare_disk.8

ZFS_PREPARE_DISK(8) System Manager's Manual ZFS_PREPARE_DISK(8)

zfs_prepare_diskspecial script that gets run before bringing a disk into a pool

zfs_prepare_disk is an optional script that gets called by libzfs before bringing a disk into a pool. It can be modified by the user to run whatever commands are necessary to prepare a disk for inclusion into the pool. For example, users can add lines to zfs_prepare_disk to do things like update the drive's firmware or check the drive's health. zfs_prepare_disk is optional and can be removed if not needed. libzfs will look for the script at @zfsexecdir@/zfs_prepare_disk.

zfs_prepare_disk will be passed the following environment variables:

POOL_NAME
VDEV_PATH
VDEV_PREPARE
('create', 'add', 'replace', or 'autoreplace'). This can be useful if you only want the script to be run under certain actions.
VDEV_UPATH
disk. For multipath this would return one of the /dev/sd* paths to the disk. If the device is not a device mapper device, then VDEV_UPATH just returns the same value as VDEV_PATH
VDEV_ENC_SYSFS_PATH

Note that some of these variables may have a blank value. POOL_NAME is blank at pool creation time, for example.

zfs_prepare_disk runs with a limited $PATH.

zfs_prepare_disk should return 0 on success, non-zero otherwise. If non-zero is returned, the disk will not be included in the pool.

August 30, 2023 Debian