summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoravg <avg@FreeBSD.org>2017-04-14 15:07:50 +0000
committeravg <avg@FreeBSD.org>2017-04-14 15:07:50 +0000
commitf80e9f9fe0e96afb07393ac458982af8e11bb5e7 (patch)
tree59772bc9f4ada03158b420552d4bcb92b8c3471d
parent033a33280e99f613bb0497f200b5491e7eccdab9 (diff)
downloadFreeBSD-src-f80e9f9fe0e96afb07393ac458982af8e11bb5e7.zip
FreeBSD-src-f80e9f9fe0e96afb07393ac458982af8e11bb5e7.tar.gz
MFC r315853: zfs_putpages: use TXG_WAIT
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
index 38c1334..3a44201 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
@@ -4716,19 +4716,13 @@ zfs_putpages(struct vnode *vp, vm_page_t *ma, size_t len, int flags,
goto out;
}
-top:
tx = dmu_tx_create(zfsvfs->z_os);
dmu_tx_hold_write(tx, zp->z_id, off, len);
dmu_tx_hold_sa(tx, zp->z_sa_hdl, B_FALSE);
zfs_sa_upgrade_txholds(tx, zp);
- err = dmu_tx_assign(tx, TXG_NOWAIT);
+ err = dmu_tx_assign(tx, TXG_WAIT);
if (err != 0) {
- if (err == ERESTART) {
- dmu_tx_wait(tx);
- dmu_tx_abort(tx);
- goto top;
- }
dmu_tx_abort(tx);
goto out;
}
OpenPOWER on IntegriCloud