Commit Graph

1370 Commits

Author SHA1 Message Date
Brian Behlendorf 45d1cae3b8 Rebase master to b121 2009-08-18 11:43:27 -07:00
Brian Behlendorf 83136344ea Merge commit 'refs/top-bases/fix-branch' into fix-branch 2009-07-29 21:27:11 -07:00
Brian Behlendorf 653cd5153a Merge branch 'fix-stack' into refs/top-bases/fix-branch 2009-07-29 21:27:10 -07:00
Brian Behlendorf ee435f260c Excessively large stack frames detected.
The 2.6.30 kernel build systems sets -Wframe-larger-than=2048 which causes
a warning to be generated when an individual stack frame exceeds 2048.
This caught the spa_history_log() and dmu_objset_snapshot() functions
which declared a data structure on the stack which contained a char
array of MAXPATHLEN.  This in defined to be 4096 in the linux kernel
and I imagine it is quite large under Solaris as well.  Regardless, the
offending data structures were moved to the heap to correctly keep the
stack depth to a minimum.  We might consider setting this value even
lower to catch additional offenders because we are expecting deep stacks.
2009-07-29 21:18:48 -07:00
Brian Behlendorf 4a4280c0f7 Merge commit 'refs/top-bases/fix-branch' into fix-branch 2009-07-24 09:15:54 -07:00
Brian Behlendorf e4610d7991 Merge branch 'fix-get-configs' into refs/top-bases/fix-branch 2009-07-24 09:15:53 -07:00
Brian Behlendorf 1b4dfb80fb Increase buffer size for nvlist for large configurations
It's still not clear to me why the default value here is large
enough Solaris.  I hit this limit again when setting up 120 SATA
drives configured as 15 raidz2 groups each containing 8 drives.
We expect to go bigger so we may just want to spend a little
time and figure out how to make this all dynamic.
2009-07-24 08:53:18 -07:00
Brian Behlendorf a4f435b51a Merge commit 'refs/top-bases/fix-branch' into fix-branch 2009-07-07 14:19:36 -07:00
Brian Behlendorf ed3bd6f446 Merge branch 'fix-acl' into refs/top-bases/fix-branch 2009-07-07 14:19:35 -07:00
Brian Behlendorf 5bcfa12766 New TopGit dependency: fix-acl 2009-07-07 14:19:31 -07:00
Brian Behlendorf 798cf63309 New topic branch for minor acl related fixes 2009-07-07 14:18:47 -07:00
Brian Behlendorf 4ac493854e Merge commit 'refs/top-bases/fix-branch' into fix-branch 2009-07-06 13:14:20 -07:00
Brian Behlendorf f6c61972e1 Merge commit 'refs/top-bases/fix-deadcode' into fix-deadcode 2009-07-06 13:14:18 -07:00
Brian Behlendorf 1851e0622f Merge branch 'fix-deadcode' into refs/top-bases/fix-branch 2009-07-06 13:14:18 -07:00
Brian Behlendorf 4de6678930 Merge commit 'refs/top-bases/fix-strncat' into fix-strncat 2009-07-06 13:14:13 -07:00
Brian Behlendorf ab14c47f14 Merge branch 'fix-strncat' into refs/top-bases/fix-branch 2009-07-06 13:14:13 -07:00
Brian Behlendorf 5ab66031b7 Merge branch 'fix-list' into refs/top-bases/fix-branch 2009-07-06 13:14:08 -07:00
Brian Behlendorf b21412b008 Merge commit 'refs/top-bases/fix-list' into fix-list
Conflicts:

	module/zfs/zil.c
2009-07-06 13:14:05 -07:00
Brian Behlendorf 4539acb1cd Merge commit 'refs/top-bases/fix-taskq' into fix-taskq 2009-07-06 13:13:25 -07:00
Brian Behlendorf 02edd0ffc1 Merge branch 'fix-taskq' into refs/top-bases/fix-branch 2009-07-06 13:13:25 -07:00
Brian Behlendorf 326bb586bd Merge commit 'refs/top-bases/fix-stack' into fix-stack 2009-07-06 13:13:20 -07:00
Brian Behlendorf c186eae4b9 Merge branch 'fix-stack' into refs/top-bases/fix-branch 2009-07-06 13:13:20 -07:00
Brian Behlendorf 4749932f63 Merge branch 'fix-rwlocks' into refs/top-bases/fix-branch 2009-07-06 13:13:15 -07:00
Brian Behlendorf a1e0f402bf Merge commit 'refs/top-bases/fix-rwlocks' into fix-rwlocks 2009-07-06 13:13:14 -07:00
Brian Behlendorf f3dc6d4e58 Merge commit 'refs/top-bases/fix-no-zmod' into fix-no-zmod 2009-07-06 13:13:05 -07:00
Brian Behlendorf ac96ab67ed Merge branch 'fix-no-zmod' into refs/top-bases/fix-branch 2009-07-06 13:13:05 -07:00
Brian Behlendorf 9f1627af07 Merge commit 'refs/top-bases/fix-newlines' into fix-newlines 2009-07-06 13:12:59 -07:00
Brian Behlendorf 6f31ab380c Merge branch 'fix-newlines' into refs/top-bases/fix-branch 2009-07-06 13:12:59 -07:00
Brian Behlendorf e320858042 Merge commit 'refs/top-bases/fix-get-configs' into fix-get-configs 2009-07-06 13:12:54 -07:00
Brian Behlendorf ea95d72db5 Merge branch 'fix-get-configs' into refs/top-bases/fix-branch 2009-07-06 13:12:54 -07:00
Brian Behlendorf 2c4280a680 Merge commit 'refs/top-bases/fix-evict-dbufs' into fix-evict-dbufs 2009-07-06 13:12:49 -07:00
Brian Behlendorf afaf8092eb Merge branch 'fix-evict-dbufs' into refs/top-bases/fix-branch 2009-07-06 13:12:49 -07:00
Brian Behlendorf eaba5df9af Merge commit 'refs/top-bases/fix-dsl_pool_t' into fix-dsl_pool_t 2009-07-06 13:12:44 -07:00
Brian Behlendorf 4bf249a931 Merge branch 'fix-dsl_pool_t' into refs/top-bases/fix-branch 2009-07-06 13:12:44 -07:00
Brian Behlendorf 75b6de8e83 Merge commit 'refs/top-bases/fix-dnode-cons' into fix-dnode-cons 2009-07-06 13:12:39 -07:00
Brian Behlendorf 021d679b95 Merge branch 'fix-dnode-cons' into refs/top-bases/fix-branch 2009-07-06 13:12:39 -07:00
Brian Behlendorf 5b629493e0 Merge commit 'refs/top-bases/fix-dbuf_dirty_record_t' into fix-dbuf_dirty_record_t 2009-07-06 13:12:34 -07:00
Brian Behlendorf f8f0e924eb Merge branch 'fix-dbuf_dirty_record_t' into refs/top-bases/fix-branch 2009-07-06 13:12:34 -07:00
Brian Behlendorf 01c3cfc58f Merge branch 'fix-clock-wrap' into refs/top-bases/fix-branch
Conflicts:

	module/zfs/zil.c
2009-07-06 13:12:23 -07:00
Brian Behlendorf 3ada0935a3 Merge commit 'refs/top-bases/fix-clock-wrap' into fix-clock-wrap 2009-07-06 13:11:56 -07:00
Brian Behlendorf 9babb37438 Rebase master to b117 2009-07-02 15:44:48 -07:00
Brian Behlendorf 182e9e0973 Remove 'fix-pthreads' dependency from 'fix-branch' 2009-03-19 19:59:10 -07:00
Brian Behlendorf 05cec154f5 Merge branch 'fix-pthreads' into refs/top-bases/fix-branch 2009-03-19 19:49:53 -07:00
Brian Behlendorf f681a33757 Merge commit 'refs/top-bases/fix-branch' into fix-branch 2009-03-19 19:49:53 -07:00
Brian Behlendorf 53db4c7b29 Revert fix-pthreads moving to feature-pthreads branch 2009-03-19 19:43:09 -07:00
Brian Behlendorf c8c4948d00 Merge branch 'fix-dnode-cons' into refs/top-bases/fix-branch 2009-03-19 15:29:33 -07:00
Brian Behlendorf 97d74db433 Merge commit 'refs/top-bases/fix-branch' into fix-branch 2009-03-19 15:29:33 -07:00
Brian Behlendorf 60d25f4b93 The patch resolves the extra call to dnode_cons() in dnode_create().
The extra call to the constructor was there to reinitialize the non-
trivial primatives in the dnode (lists, mutexs, condvars, avl tree, etc).
This was safe, although not exactly clean, on Solaris because none of
the primitives allocate memory.  In the Linux port this is not true.
To keep stack usage to a minimum several of the primatives dynamically
allocate memory thus initializing them twice results in a memory leak.

This patch resolves this problem for Solaris and Linux by ensuring all
*_inits are called in the constructor, and all *_destroys are called
in the destructor.  Additionally we ensure that all dnode objects are
properly deconstructed before being freed to the slab, and when the
objects are allocated from the slab all required data members are
explicity initialized to correct values.
2009-03-19 15:22:48 -07:00
Brian Behlendorf 8d41b083fe Merge commit 'refs/top-bases/fix-branch' into fix-branch 2009-03-19 15:07:17 -07:00
Brian Behlendorf cc032b6337 Merge branch 'fix-list' into refs/top-bases/fix-branch 2009-03-19 15:07:16 -07:00