diff options
Diffstat (limited to 'usr/src/uts/common/fs/zfs/zfs_znode.c')
| -rw-r--r-- | usr/src/uts/common/fs/zfs/zfs_znode.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/usr/src/uts/common/fs/zfs/zfs_znode.c b/usr/src/uts/common/fs/zfs/zfs_znode.c index 3000fc8db3..bb113ca1af 100644 --- a/usr/src/uts/common/fs/zfs/zfs_znode.c +++ b/usr/src/uts/common/fs/zfs/zfs_znode.c @@ -993,6 +993,8 @@ zfs_freesp(znode_t *zp, uint64_t off, uint64_t len, int flag, boolean_t log) error = dmu_tx_assign(tx, zfsvfs->z_assign); if (error) { + if (error == ERESTART && zfsvfs->z_assign == TXG_NOWAIT) + dmu_tx_wait(tx); dmu_tx_abort(tx); zfs_range_unlock(zp, rl); return (error); |
