summaryrefslogtreecommitdiffstats
path: root/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
diff options
context:
space:
mode:
authoravg <avg@FreeBSD.org>2017-04-14 15:07:55 +0000
committeravg <avg@FreeBSD.org>2017-04-14 15:07:55 +0000
commitab8f77ee2b737b657cb6722c6eef885911cedbe0 (patch)
tree8734d68bc3a1e6c65fae6779945716518f529adc /sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
parentff7e3e493164c34e7077e2d21e51dc025875c7ae (diff)
downloadFreeBSD-src-ab8f77ee2b737b657cb6722c6eef885911cedbe0.zip
FreeBSD-src-ab8f77ee2b737b657cb6722c6eef885911cedbe0.tar.gz
MFC r315853: zfs_putpages: use TXG_WAIT
Diffstat (limited to 'sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c')
-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 7208b19..2e98e4e 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
@@ -4760,19 +4760,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