Commit Graph

61 Commits

Author SHA1 Message Date
Brian Behlendorf d205b25a74 Merge branch 'fix-clock-wrap' into refs/top-bases/fix-branch 2009-08-18 12:09:10 -07:00
Brian Behlendorf 25ddaec292 Merge commit 'refs/top-bases/fix-clock-wrap' into fix-clock-wrap 2009-08-18 12:09:07 -07:00
Brian Behlendorf 45d1cae3b8 Rebase master to b121 2009-08-18 11:43:27 -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 326bb586bd Merge commit 'refs/top-bases/fix-stack' into fix-stack 2009-07-06 13:13:20 -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 c8c4948d00 Merge branch 'fix-dnode-cons' into refs/top-bases/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 cc032b6337 Merge branch 'fix-list' into refs/top-bases/fix-branch 2009-03-19 15:07:16 -07:00
Brian Behlendorf 9bbf8f1761 Resolve conflict with fix-dnode-cons 2009-03-19 15:02:05 -07:00
Brian Behlendorf dbc3a5ec55 Merge commit 'refs/top-bases/fix-list' into fix-list
Conflicts:

	module/zfs/arc.c
2009-02-18 14:29:48 -08:00
Brian Behlendorf 7fe1b71533 Merge commit 'refs/top-bases/fix-stack' into fix-stack 2009-02-18 14:29:19 -08:00
Brian Behlendorf 404fd8578f Merge commit 'refs/top-bases/fix-dnode-cons' into fix-dnode-cons 2009-02-18 14:28:27 -08:00
Brian Behlendorf 6fe19bd252 Merge branch 'fix-clock-wrap' into refs/top-bases/fix-branch
Conflicts:

	lib/libzpool/kernel.c
	module/zfs/arc.c
2009-02-18 14:28:15 -08:00
Brian Behlendorf 3ac1fca8dc Merge commit 'refs/top-bases/fix-clock-wrap' into fix-clock-wrap 2009-02-18 14:27:31 -08:00
Brian Behlendorf d164b20935 Rebase master to b108 2009-02-18 12:51:31 -08:00
Brian Behlendorf 31cddc8a0b Merge branch 'fix-locks' into refs/top-bases/fix-branch 2009-01-15 16:30:25 -08:00
Brian Behlendorf 50186c2b57 All init and destroy initialized pulled in 2009-01-15 16:25:25 -08:00
Brian Behlendorf 7d4fe54632 txg_init/txg_fini cv_* initialized pulled in upstream in a slightly different way, drop these now redundant versions 2009-01-15 16:22:23 -08:00
Brian Behlendorf 625451acfc Merge commit 'refs/top-bases/fix-list' into fix-list 2009-01-15 14:16:14 -08:00
Brian Behlendorf 1d3ce40c2e Merge commit 'refs/top-bases/fix-stack' into fix-stack 2009-01-15 14:16:09 -08:00
Brian Behlendorf 089836c3e4 Resolve conflict with removed cleaner type 2009-01-15 14:14:57 -08:00
Brian Behlendorf 216ce72418 Merge commit 'refs/top-bases/fix-dnode-cons' into fix-dnode-cons 2009-01-15 14:13:46 -08:00
Brian Behlendorf 551838a6c8 Resolve conflict with removed cleaner type 2009-01-15 14:13:39 -08:00
Brian Behlendorf b633e4f669 Merge commit 'refs/top-bases/fix-clock-wrap' into fix-clock-wrap 2009-01-15 14:11:26 -08:00
Brian Behlendorf fb5f0bc833 Rebase master to b105 2009-01-15 13:59:39 -08:00
Brian Behlendorf e1632568f1 Merge branch 'fix-list' into refs/top-bases/fix-branch 2009-01-13 16:06:23 -08:00
Brian Behlendorf be0b4029db Initialize list links 2009-01-13 16:02:19 -08:00
Brian Behlendorf 43cd437415 Merge branch 'fix-list' into refs/top-bases/fix-branch 2009-01-13 15:33:59 -08:00
Brian Behlendorf 94944fab96 Fix proper list node initialization 2009-01-13 15:31:58 -08:00
Brian Behlendorf 2e9cd667d0 Merge branch 'fix-rwlocks' into refs/top-bases/fix-branch 2009-01-13 15:07:06 -08:00
Brian Behlendorf fcd2296399 Additional rw_lock not being initialized cleaned in updated code 2009-01-13 15:05:02 -08:00
Brian Behlendorf 6c96fc31e9 Merge branch 'fix-list' into refs/top-bases/fix-branch 2009-01-13 15:02:10 -08:00
Brian Behlendorf bec036636e List cleanup and use of list_node_init initializer 2009-01-13 15:00:12 -08:00
Brian Behlendorf c6f1eca44b Merge branch 'fix-list' into refs/top-bases/fix-branch 2009-01-13 14:18:09 -08:00
Brian Behlendorf 2ea04834bf Remove assertion for now 2009-01-13 14:16:11 -08:00
Brian Behlendorf 9e12900ee7 Merge commit 'refs/top-bases/fix-stack' into fix-stack 2009-01-05 12:08:50 -08:00
Brian Behlendorf c239bd53d2 Merge commit 'refs/top-bases/fix-rwlocks' into fix-rwlocks 2009-01-05 12:08:46 -08:00
Brian Behlendorf 65520ad8fd Merge commit 'refs/top-bases/fix-locks' into fix-locks 2009-01-05 12:08:36 -08:00
Brian Behlendorf 1bee6d83ae Merge commit 'refs/top-bases/fix-dnode-cons' into fix-dnode-cons 2009-01-05 12:08:23 -08:00
Brian Behlendorf 674ed5bd02 Merge branch 'fix-clock-wrap' into refs/top-bases/fix-branch 2009-01-05 12:08:18 -08:00
Brian Behlendorf 91daa17079 Merge commit 'refs/top-bases/fix-clock-wrap' into fix-clock-wrap 2009-01-05 12:08:16 -08:00
Brian Behlendorf 42bcb36c89 Add unicode library 2009-01-05 12:03:23 -08:00
Brian Behlendorf f1ab230869 Merge commit 'refs/top-bases/fix-stack' into fix-stack 2008-12-11 14:25:23 -08:00
Brian Behlendorf 32a5a583a3 Merge commit 'refs/top-bases/fix-rwlocks' into fix-rwlocks 2008-12-11 14:25:22 -08:00
Brian Behlendorf b53201c0ca Merge commit 'refs/top-bases/fix-locks' into fix-locks 2008-12-11 14:25:16 -08:00
Brian Behlendorf 78b70a4471 Merge commit 'refs/top-bases/fix-dnode-cons' into fix-dnode-cons 2008-12-11 14:25:10 -08:00