diff options
-rw-r--r-- | module/zfs/zfs_vnops.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/module/zfs/zfs_vnops.c b/module/zfs/zfs_vnops.c index 405b37c19..796cd1e34 100644 --- a/module/zfs/zfs_vnops.c +++ b/module/zfs/zfs_vnops.c @@ -1470,8 +1470,10 @@ top: if (S_ISREG(ZTOI(zp)->i_mode) && (vap->va_mask & ATTR_SIZE) && (vap->va_size == 0)) { /* we can't hold any locks when calling zfs_freesp() */ - zfs_dirent_unlock(dl); - dl = NULL; + if (dl) { + zfs_dirent_unlock(dl); + dl = NULL; + } error = zfs_freesp(zp, 0, 0, mode, TRUE); } } |