]> granicus.if.org Git - zfs/commit
Remove vn_rename and vn_remove dependency
authorBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 19 Oct 2017 17:06:55 +0000 (10:06 -0700)
committerGitHub <noreply@github.com>
Thu, 19 Oct 2017 17:06:55 +0000 (10:06 -0700)
commitbbf1ad67cd0d6f3bc1e22a8a0c7448c15409d007
treeef5884b1fc85f6355f0bee4d089321cdcf929e78
parent35df0bb5565c81ba52de430108b37eced9de0606
Remove vn_rename and vn_remove dependency

The only place vn_rename and vn_remove are used is when writing
out an updated pool configuration file.  By truncating the file
instead of renaming and removing it we can avoid having to implement
these interfaces entirely.  Functionally an empty cache file is
treated the same as a missing cache file.  This is particularly
advantageous because the Linux kernel has never provided a way
to reliably implement vn_rename and vn_remove.

The cachefile_004_pos.ksh test case was updated to understand
that an empty cache file is the same as a missing one.

The zfs-import-* systemd service files were not updated to use
ConditionFileNotEmpty in place of ConditionPathExists.  This
means that after exporting all pools and rebooting new pools
will not the scanned for on the next boot.  This small change
should not impact normal usage since pools are not exported
as part of a normal shutdown.

Documentation was updated accordingly.

Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: Arkadiusz BubaƂa <arkadiusz.bubala@open-e.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes zfsonlinux/spl#648
Closes #6753
man/man8/zpool.8
module/zfs/spa_config.c
tests/zfs-tests/tests/functional/cachefile/cachefile_004_pos.ksh