mirror_zfs/module/zfs
Brian Behlendorf 12f9a6a3f9 dmu_tx_assign() should not return ENOMEM
As described in the comment above dmu_tx_assign() this function must
only fail if the pool is out of space.  If for some other reason the
TX cannot be assigned (such as memory pressure) ERESTART must be
returned.  Alternately, EAGAIN could be returned to inject a delay
but that isn't required because the caller will block on the condition
variable waiting for the next TXG.

/*
 * Assign tx to a transaction group.  txg_how can be one of:
 *
 * (1)  TXG_WAIT.  If the current open txg is full, waits until there's
 *      a new one.  This should be used when you're not holding locks.
 *      It will only fail if we're truly out of space (or over quota).
 * ...
 */

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Ned Bass <bass6@llnl.gov>
Closes #2287
2014-05-01 12:08:53 -07:00
..
arc.c dmu_tx_assign() should not return ENOMEM 2014-05-01 12:08:53 -07:00
bplist.c Illumos #3464 2013-09-04 16:01:24 -07:00
bpobj.c Illumos #3603, #3604: bobj improvements 2013-10-31 14:57:51 -07:00
bptree.c 26126 panic system rather than corrupting pool if we hit bug 26100 2013-11-05 13:18:26 -08:00
dbuf_stats.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
dbuf.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
ddt_zap.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
ddt.c Add ddt, ddt_entry, and l2arc_hdr caches 2014-01-07 10:33:11 -08:00
dmu_diff.c Illumos #3598 2013-10-31 14:58:04 -07:00
dmu_object.c Illumos #3598 2013-10-31 14:58:04 -07:00
dmu_objset.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
dmu_send.c Add zfs_send_corrupt_data module option 2013-12-18 16:46:35 -08:00
dmu_traverse.c Illumos 4504 traverse_visitbp: visit group before user 2014-01-29 15:50:49 -08:00
dmu_tx.c Improve reporting of tx assignment wait times 2014-03-04 12:22:24 -08:00
dmu_zfetch.c Use enum type(zfetch_dirn_t) instead 2014-01-23 12:56:33 -08:00
dmu.c Linux 3.14 compat: rq_for_each_segment in dmu_req_copy 2014-04-10 14:28:51 -07:00
dnode_sync.c Illumos #3742 2013-11-04 10:55:25 -08:00
dnode.c Illumos #4045 write throttle & i/o scheduler performance work 2013-12-06 09:32:43 -08:00
dsl_dataset.c Illumos #4574 get_clones_stat does not call zap_count in non-debug kernel 2014-03-04 11:50:13 -08:00
dsl_deadlist.c Illumos #3104: eliminate empty bpobjs 2013-01-08 10:35:43 -08:00
dsl_deleg.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
dsl_destroy.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
dsl_dir.c dmu_tx kstat cleanup 2014-03-04 12:22:24 -08:00
dsl_pool.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
dsl_prop.c Illumos #3742 2013-11-04 10:55:25 -08:00
dsl_scan.c Add erratum for issue #2094 2014-02-21 12:10:40 -08:00
dsl_synctask.c Export symbols dsl_sync_task{_nowait} 2014-03-07 10:01:36 -08:00
dsl_userhold.c Some nvlist allocations in hold processing need to use KM_PUSHPAGE. 2013-12-02 14:02:46 -08:00
fm.c Add zpool_events_seek() functionality 2014-03-31 16:10:57 -07:00
gzip.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
lz4.c Fix LZ4 endianness autodetection 2014-04-20 16:55:42 -07:00
lzjb.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
Makefile.in Add visibility in to cached dbufs 2013-10-25 13:59:40 -07:00
metaslab.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
refcount.c Illumos #3464 2013-09-04 16:01:24 -07:00
rrwlock.c Fix several new KM_SLEEP warnings 2013-09-25 15:44:22 -07:00
sa.c Properly handle updates of variably-sized SA entries. 2013-12-20 13:52:33 -08:00
sha256.c Add linux sha2 support 2010-08-31 13:41:59 -07:00
spa_boot.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
spa_config.c Implement -t option to zpool import for temporary pool names 2014-03-20 12:05:30 -07:00
spa_errlog.c Illumos #3743 2013-11-04 10:55:25 -08:00
spa_history.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
spa_misc.c Use KM_PUSHPAGE in spa_add() for spa_label_features. 2014-03-10 09:09:30 -07:00
spa_stats.c replace nreserved with ndirty in txgs kstat 2014-03-04 12:22:24 -08:00
spa.c Uninitialized variable spa_autoreplace used 2014-04-16 10:59:24 -07:00
space_map.c Illumos #3464 2013-09-04 16:01:24 -07:00
txg.c Use ddi_time_after and friends to compare time 2014-04-14 13:27:56 -07:00
uberblock.c Illumos #3598 2013-10-31 14:58:04 -07:00
unique.c Switch KM_SLEEP to KM_PUSHPAGE 2012-08-27 12:01:37 -07:00
vdev_cache.c Use ddi_time_after and friends to compare time 2014-04-14 13:27:56 -07:00
vdev_disk.c Add assertion to catch 0-count page 2014-04-25 15:41:19 -07:00
vdev_file.c vdev_file_io_start() to use taskq_dispatch(TQ_PUSHPAGE) 2014-01-23 09:58:07 -08:00
vdev_label.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
vdev_mirror.c Illumos #4045 write throttle & i/o scheduler performance work 2013-12-06 09:32:43 -08:00
vdev_missing.c Illumos #3598 2013-10-31 14:58:04 -07:00
vdev_queue.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
vdev_raidz.c Illumos #4045 write throttle & i/o scheduler performance work 2013-12-06 09:32:43 -08:00
vdev_root.c Illumos #3598 2013-10-31 14:58:04 -07:00
vdev.c Illumos #4045 write throttle & i/o scheduler performance work 2013-12-06 09:32:43 -08:00
zap_leaf.c Illumos #3598 2013-10-31 14:58:04 -07:00
zap_micro.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
zap.c Illumos #3743 2013-11-04 10:55:25 -08:00
zfeature_common.c Illumos #3035 LZ4 compression support in ZFS and GRUB 2013-01-29 09:28:20 -08:00
zfeature.c Fix zap_lookup() in feature_is_supported(). 2014-03-04 11:44:44 -08:00
zfs_acl.c Allow chown/chgrp when no ACL SAs exist. 2014-01-23 11:07:29 -08:00
zfs_byteswap.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
zfs_ctldir.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
zfs_debug.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
zfs_dir.c Illumos #4347 ZPL can use dmu_tx_assign(TXG_WAIT) 2013-12-06 09:30:51 -08:00
zfs_fm.c Add automatic hot spare functionality 2014-04-02 13:10:08 -07:00
zfs_fuid.c Illumos #3522 2013-10-30 14:51:27 -07:00
zfs_ioctl.c Fix zfsdev_ioctl() kmem leak warning 2014-04-18 13:30:15 -07:00
zfs_log.c Only commit the ZIL once in zpl_writepages() (msync() case). 2013-11-23 15:08:29 -08:00
zfs_onexit.c Illumos #3598 2013-10-31 14:58:04 -07:00
zfs_replay.c Illumos #3598 2013-10-31 14:58:04 -07:00
zfs_rlock.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
zfs_sa.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
zfs_vfsops.c Propagate errors when registering "relatime" property callback. 2014-02-12 09:38:28 -08:00
zfs_vnops.c Fix zfs_getattr_fast types 2014-01-09 15:50:23 -08:00
zfs_znode.c Implement File Attribute Support 2014-05-01 10:11:18 -07:00
zil.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
zio_checksum.c Illumos #3598 2013-10-31 14:58:04 -07:00
zio_compress.c Illumos #3598 2013-10-31 14:58:04 -07:00
zio_inject.c Use ddi_time_after and friends to compare time 2014-04-14 13:27:56 -07:00
zio.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
zle.c Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
zpl_ctldir.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
zpl_export.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
zpl_file.c Implement File Attribute Support 2014-05-01 10:11:18 -07:00
zpl_inode.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
zpl_super.c Prune metadata from ghost lists in arc_adjust_meta 2014-02-21 16:10:49 -08:00
zpl_xattr.c Linux 3.14 compat: posix_acl_{create,chmod} 2014-04-10 14:27:03 -07:00
zrlock.c Export ZFS symbols needed by Lustre. 2010-09-17 16:24:15 -07:00
zvol.c Use long holds in zvol_set_volsize() 2014-01-14 14:46:12 -08:00