mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-24 19:28:53 +03:00
Update zfs_destroy_004.ksh script
Issues: Under Linux, when executing zfs_destroy_004.ksh destroy $fs is an error. The key issue here is that illumos kernel treats this case differently than the Linux kernel. On illumos you can unmount and destroy a filesystem which is busy and all consumers of it get EIO. On Linux the expected behavior is to prevent the unmount and destroy. Cause analysis: When create $fs file system and mount file system to $mntp. cd $mntp, linux isn't allow to destroy $fs in this mount contents. No matter what destroy with parameters. Solution: So log_mustnot $ZFS destroy $fs is ok. cd $olddir and destroy $fs. Signed-off-by: caoxuewen cao.xuewen@zte.com.cn Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #5012
This commit is contained in:
@@ -110,9 +110,15 @@ for arg in "$fs1 $mntp1" "$clone $mntp2"; do
|
||||
cd $mntp
|
||||
log_mustnot $ZFS destroy $fs
|
||||
|
||||
log_must $ZFS destroy -f $fs
|
||||
datasetexists $fs && \
|
||||
log_fail "'zfs destroy -f' fails to destroy busy filesystem."
|
||||
if is_linux; then
|
||||
log_mustnot $ZFS destroy -f $fs
|
||||
datasetnonexists $fs && \
|
||||
log_fail "'zfs destroy -f' destroyed busy filesystem."
|
||||
else
|
||||
log_must $ZFS destroy -f $fs
|
||||
datasetexists $fs && \
|
||||
log_fail "'zfs destroy -f' fail to destroy busy filesystem."
|
||||
fi
|
||||
|
||||
cd $olddir
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user