mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-26 03:09:34 +03:00
48c67dc8f8
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> |
||
---|---|---|
cmd | ||
lib | ||
man/man8 | ||
module | ||
scripts | ||
.gitignore | ||
AUTHORS | ||
COPYING | ||
COPYRIGHT | ||
DISCLAIMER | ||
OPENSOLARIS.LICENSE | ||
README.markdown | ||
ZFS.RELEASE |
Native ZFS for Linux! ZFS is an advanced file system and volume manager which was originally developed for Solaris. It has been successfully ported to FreeBSD and now there is a functional Linux ZFS kernel port too. The port currently includes a fully functional and stable SPA, DMU, and ZVOL with a ZFS Posix Layer (ZPL) on the way!
Documentation for building, configuring, and using ZFS can be found at: http://wiki.github.com/behlendorf/zfs/