mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 18:40:43 +03:00
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
This commit is contained in:
@@ -98,13 +98,13 @@ log_must zpool set cachefile=$CPATH2 $TESTPOOL1
|
||||
log_must pool_in_cache $TESTPOOL1 $CPATH2
|
||||
log_must zpool set cachefile=$CPATH2 $TESTPOOL2
|
||||
log_must pool_in_cache $TESTPOOL2 $CPATH2
|
||||
if [[ -f $CPATH1 ]]; then
|
||||
if [[ -s $CPATH1 ]]; then
|
||||
log_fail "Verify set when cachefile is set on pool."
|
||||
fi
|
||||
|
||||
log_must zpool export $TESTPOOL1
|
||||
log_must zpool export $TESTPOOL2
|
||||
if [[ -f $CPATH2 ]]; then
|
||||
if [[ -s $CPATH2 ]]; then
|
||||
log_fail "Verify export when cachefile is set on pool."
|
||||
fi
|
||||
|
||||
@@ -117,7 +117,7 @@ log_must pool_in_cache $TESTPOOL2 $CPATH2
|
||||
|
||||
log_must zpool destroy $TESTPOOL1
|
||||
log_must zpool destroy $TESTPOOL2
|
||||
if [[ -f $CPATH2 ]]; then
|
||||
if [[ -s $CPATH2 ]]; then
|
||||
log_fail "Verify destroy when cachefile is set on pool."
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user