From fdffb9e44b7f40c2307d7bee515cc619c3c98617 Mon Sep 17 00:00:00 2001 From: Tim Chase Date: Wed, 16 Oct 2013 13:56:03 -0500 Subject: [PATCH] zfs_unmount_snap() should return 0 if the snapshot it's passed is not a snapshot. Detect this indirectly by testing zsb as set by zfs_sb_hold(). This will normally happen in the case of deleting a zvol's snapshot. --- module/zfs/zfs_ioctl.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/module/zfs/zfs_ioctl.c b/module/zfs/zfs_ioctl.c index 2333867146df..28dd26741a86 100644 --- a/module/zfs/zfs_ioctl.c +++ b/module/zfs/zfs_ioctl.c @@ -3370,6 +3370,10 @@ zfs_unmount_snap(const char *snapname) fullname = strdup(snapname); err = zfs_sb_hold(dsname, FTAG, &zsb, B_FALSE); + if (zsb == NULL) { + err = 0; + goto out; + } if (err != 0) goto out;