diff options
author | avg <avg@FreeBSD.org> | 2017-04-14 15:07:50 +0000 |
---|---|---|
committer | avg <avg@FreeBSD.org> | 2017-04-14 15:07:50 +0000 |
commit | f80e9f9fe0e96afb07393ac458982af8e11bb5e7 (patch) | |
tree | 59772bc9f4ada03158b420552d4bcb92b8c3471d | |
parent | 033a33280e99f613bb0497f200b5491e7eccdab9 (diff) | |
download | FreeBSD-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.c | 8 |
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; } |