mirror_zfs/module/zfs
Brian Behlendorf 48c67dc8f8 Fix stack dsl_deleg_get()
Reduce stack usage in dsl_deleg_get, gcc flagged it as consuming a
whopping 1040 bytes or potentially 1/4 of a 4K stack.  This patch
moves all the large structures and buffer off the stack and on to
the heap.  This includes 2 zap_cursor_t structs each 52 bytes in
size, 2 zap_attribute_t structs each 280 bytes in size, and 1
256 byte char array.  The total saves on the stack is 880 bytes
after you account for the 5 new pointers added.

Also the source buffer length has been increased from MAXNAMELEN
to MAXNAMELEN+strlen(MOS_DIR_NAME)+1 as described by the comment in
dsl_dir_name().  A buffer overrun may have been possible with the
slightly smaller buffer.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2010-08-31 08:38:48 -07:00
..
include/sys Fix kstat xuio 2010-08-31 08:38:45 -07:00
arc.c Fix missing newlines 2010-08-31 08:38:46 -07:00
bplist.c Fix gcc missing parenthesis warnings 2010-08-31 08:38:35 -07:00
bpobj.c Update to onnv_147 2010-08-26 14:24:34 -07:00
dbuf.c Fix stack dbuf_hold_impl() 2010-08-31 08:38:47 -07:00
ddt_zap.c Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
ddt.c Fix gcc c90 compliance warnings 2010-08-27 15:28:32 -07:00
dmu_diff.c Update to onnv_147 2010-08-26 14:24:34 -07:00
dmu_object.c Update to onnv_147 2010-08-26 14:24:34 -07:00
dmu_objset.c Fix stack dmu_objset_snapshot() 2010-08-31 08:38:47 -07:00
dmu_send.c Fix gcc missing parenthesis warnings 2010-08-31 08:38:35 -07:00
dmu_traverse.c Update to onnv_147 2010-08-26 14:24:34 -07:00
dmu_tx.c Fix gcc missing parenthesis warnings 2010-08-31 08:38:35 -07:00
dmu_zfetch.c Fix gcc missing parenthesis warnings 2010-08-31 08:38:35 -07:00
dmu.c Fix kstat xuio 2010-08-31 08:38:45 -07:00
dnode_sync.c Fix dbuf eviction assertion 2010-08-31 08:38:45 -07:00
dnode.c Fix dnode_move() scope 2010-08-31 08:38:47 -07:00
dsl_dataset.c Fix stack dsl_dataset_destroy() 2010-08-31 08:38:48 -07:00
dsl_deadlist.c Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
dsl_deleg.c Fix stack dsl_deleg_get() 2010-08-31 08:38:48 -07:00
dsl_dir.c Fix gcc unused variable warnings 2010-08-31 08:38:43 -07:00
dsl_pool.c Fix gcc missing parenthesis warnings 2010-08-31 08:38:35 -07:00
dsl_prop.c Fix gcc missing parenthesis warnings 2010-08-31 08:38:35 -07:00
dsl_scan.c Fix gcc missing braces warnings 2010-08-27 15:34:03 -07:00
dsl_synctask.c Fix gcc missing parenthesis warnings 2010-08-31 08:38:35 -07:00
fm.c Update to onnv_147 2010-08-26 14:24:34 -07:00
gzip.c Fix zmod.h usage in userspace 2010-08-31 08:38:46 -07:00
lzjb.c Fix gcc uninitialized variable warnings 2010-08-31 08:38:43 -07:00
metaslab.c Fix metaslab 2010-08-31 08:38:45 -07:00
refcount.c Fix gcc uninitialized variable warnings 2010-08-31 08:38:43 -07:00
rrwlock.c Rebase master to b121 2009-08-18 11:43:27 -07:00
sa.c Fix gcc uninitialized variable warnings 2010-08-31 08:38:43 -07:00
sha256.c Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
spa_boot.c Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
spa_config.c Update to onnv_147 2010-08-26 14:24:34 -07:00
spa_errlog.c Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
spa_history.c Fix gcc invalid prototype warnings 2010-08-27 15:34:03 -07:00
spa_misc.c Fix gcc uninitialized variable warnings 2010-08-31 08:38:43 -07:00
spa.c Fix gcc uninitialized variable warnings 2010-08-31 08:38:43 -07:00
space_map.c Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
txg.c Fix commit callbacks 2010-08-31 08:38:44 -07:00
uberblock.c Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
unique.c Fix gcc ident pragma warnings 2010-08-27 15:34:02 -07:00
vdev_cache.c Fix gcc unused variable warnings 2010-08-31 08:38:43 -07:00
vdev_file.c Fix gcc uninitialized variable warnings 2010-08-31 08:38:43 -07:00
vdev_label.c Fix gcc uninitialized variable warnings 2010-08-31 08:38:43 -07:00
vdev_mirror.c Fix gcc c90 compliance warnings 2010-08-27 15:28:32 -07:00
vdev_missing.c Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
vdev_queue.c Fix gcc c90 compliance warnings 2010-08-27 15:28:32 -07:00
vdev_raidz.c Fix variables named current 2010-08-31 08:38:44 -07:00
vdev_root.c Fix gcc c90 compliance warnings 2010-08-27 15:28:32 -07:00
vdev.c Fix list handling to only use the API 2010-08-31 08:38:45 -07:00
zap_leaf.c Fix gcc uninitialized variable warnings 2010-08-31 08:38:43 -07:00
zap_micro.c Fix rw_init() usage 2010-08-31 08:38:46 -07:00
zap.c Fix rw_init() usage 2010-08-31 08:38:46 -07:00
zfs_acl.c Update to onnv_147 2010-08-26 14:24:34 -07:00
zfs_byteswap.c Fix gcc uninitialized variable warnings 2010-08-31 08:38:43 -07:00
zfs_ctldir.c Update to onnv_147 2010-08-26 14:24:34 -07:00
zfs_debug.c Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
zfs_dir.c Update to onnv_147 2010-08-26 14:24:34 -07:00
zfs_fm.c Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
zfs_fuid.c Fix gcc missing parenthesis warnings 2010-08-31 08:38:35 -07:00
zfs_ioctl.c Fix zfs_ioc_objset_stats 2010-08-31 08:38:47 -07:00
zfs_log.c Update to onnv_147 2010-08-26 14:24:34 -07:00
zfs_onexit.c Update to onnv_147 2010-08-26 14:24:34 -07:00
zfs_replay.c Update to onnv_147 2010-08-26 14:24:34 -07:00
zfs_rlock.c Fix gcc uninitialized variable warnings 2010-08-31 08:38:43 -07:00
zfs_sa.c Update to onnv_147 2010-08-26 14:24:34 -07:00
zfs_vfsops.c Update to onnv_147 2010-08-26 14:24:34 -07:00
zfs_vnops.c Update to onnv_147 2010-08-26 14:24:34 -07:00
zfs_znode.c Fix dbuf_dirty_record_t leaks 2010-08-31 08:38:44 -07:00
zil.c Fix gcc uninitialized variable warnings 2010-08-31 08:38:43 -07:00
zio_checksum.c Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
zio_compress.c Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
zio_inject.c Update to onnv_147 2010-08-26 14:24:34 -07:00
zio.c Fix zio_taskq_dispatch to use TQ_NOSLEEP 2010-08-31 08:38:46 -07:00
zle.c Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
zrlock.c Fix gcc c90 compliance warnings 2010-08-27 15:28:32 -07:00