Commit Graph

168 Commits

Author SHA1 Message Date
Brian Behlendorf 9eec97e163 Revert fix-dsl_pool_t fixed upstream 2010-05-28 10:08:02 -07:00
Brian Behlendorf 396fb1e235 Merge branch 'fix-taskq' into refs/top-bases/fix-branch 2010-05-28 10:00:43 -07:00
Brian Behlendorf 11a9bfc7f8 Revert fix-taskq changes reevaluate after update. 2010-05-28 09:54:03 -07:00
Brian Behlendorf 146ded4db2 Merge branch 'fix-clock-wrap' into refs/top-bases/fix-branch 2010-05-27 17:02:13 -07:00
Brian Behlendorf db069704ed Revert fix-clock-wrap fixed upstream
This was more or less fixed upstream.  Instead of directly accessing
lbolt they now use ddi_get_lbolt() which we can have do the right
thing is the SPL so we don't need to carry this patch.
2010-05-27 16:54:23 -07:00
Brian Behlendorf cf4e5324e9 Merge commit 'refs/top-bases/fix-taskq' into fix-taskq 2010-04-29 12:04:18 -07:00
Brian Behlendorf 695903c308 Merge commit 'refs/top-bases/fix-stack' into fix-stack 2010-04-29 12:04:17 -07:00
Brian Behlendorf 05b4f88b78 Merge commit 'refs/top-bases/fix-dsl_pool_t' into fix-dsl_pool_t 2010-04-29 12:04:07 -07:00
Brian Behlendorf e5edc5104d Merge commit 'refs/top-bases/fix-dbuf_dirty_record_t' into fix-dbuf_dirty_record_t 2010-04-29 12:04:04 -07:00
Brian Behlendorf 8273e838de Merge branch 'fix-clock-wrap' into refs/top-bases/fix-branch 2010-04-29 12:04:03 -07:00
Brian Behlendorf 78559a049a Merge commit 'refs/top-bases/fix-clock-wrap' into fix-clock-wrap 2010-04-29 12:04:02 -07:00
Brian Behlendorf 3affbe6d7e Update nvpair's to include nv_alloc_fixed support 2010-04-29 11:59:41 -07:00
Brian Behlendorf 655b4b2b1c Merge commit 'refs/top-bases/fix-taskq' into fix-taskq 2010-04-29 10:41:39 -07:00
Brian Behlendorf 3e6811f827 Merge commit 'refs/top-bases/fix-stack' into fix-stack 2010-04-29 10:41:38 -07:00
Brian Behlendorf dbda9cb8fc Merge commit 'refs/top-bases/fix-dsl_pool_t' into fix-dsl_pool_t 2010-04-29 10:41:28 -07:00
Brian Behlendorf 86049947d8 Merge commit 'refs/top-bases/fix-dbuf_dirty_record_t' into fix-dbuf_dirty_record_t 2010-04-29 10:41:24 -07:00
Brian Behlendorf 13668b7879 Merge branch 'fix-clock-wrap' into refs/top-bases/fix-branch 2010-04-29 10:41:23 -07:00
Brian Behlendorf f2ca1d7334 Merge commit 'refs/top-bases/fix-clock-wrap' into fix-clock-wrap 2010-04-29 10:41:22 -07:00
Brian Behlendorf fa42225a3d Add Solaris FMA style support 2010-04-29 10:37:15 -07:00
Brian Behlendorf 259647c1f1 Merge commit 'refs/top-bases/fix-taskq' into fix-taskq 2010-01-08 11:39:23 -08:00
Brian Behlendorf 385839654a Merge commit 'refs/top-bases/fix-stack' into fix-stack 2010-01-08 11:39:22 -08:00
Brian Behlendorf 365c47de76 Merge commit 'refs/top-bases/fix-dsl_pool_t' into fix-dsl_pool_t 2010-01-08 11:39:18 -08:00
Brian Behlendorf 68fc990a4b Merge commit 'refs/top-bases/fix-dbuf_dirty_record_t' into fix-dbuf_dirty_record_t 2010-01-08 11:39:16 -08:00
Brian Behlendorf 8513efcadd Merge commit 'refs/top-bases/fix-clock-wrap' into fix-clock-wrap 2010-01-08 11:39:16 -08:00
Brian Behlendorf c1d363770f Merge branch 'fix-clock-wrap' into refs/top-bases/fix-branch 2010-01-08 11:39:16 -08:00
Brian Behlendorf 4cd8e49a69 Add .gitignore files to exclude build products 2010-01-08 11:35:17 -08:00
Brian Behlendorf b58747a2e2 Merge branch 'fix-stack' into refs/top-bases/fix-branch 2009-12-18 14:31:21 -08:00
Brian Behlendorf 70ddc1393f No inline to keep dmu_recv_stream() stack frame less than 1024 bytes.
Recent builds against 2.6.31 flagged dmu_recv_stream() as stack heavy.
As a quick simple way to resolve this I'm preventing the inlining of
certain functions which gcc will inline here because this is the only
place they are called.  Futher analysis of this function should be
performed to futher reduce its stack usage.
2009-12-18 14:22:02 -08:00
Brian Behlendorf e530326e8f Merge commit 'refs/top-bases/fix-taskq' into fix-taskq 2009-11-15 16:26:48 -08:00
Brian Behlendorf b57e406dd6 Merge commit 'refs/top-bases/fix-stack' into fix-stack 2009-11-15 16:26:47 -08:00
Brian Behlendorf 8d0c0b0782 Merge commit 'refs/top-bases/fix-dsl_pool_t' into fix-dsl_pool_t 2009-11-15 16:26:39 -08:00
Brian Behlendorf dcd4d95764 Merge commit 'refs/top-bases/fix-dbuf_dirty_record_t' into fix-dbuf_dirty_record_t 2009-11-15 16:26:37 -08:00
Brian Behlendorf 00f3dfb5e9 Merge commit 'refs/top-bases/fix-clock-wrap' into fix-clock-wrap 2009-11-15 16:26:36 -08:00
Brian Behlendorf e57bf40c98 Merge branch 'fix-clock-wrap' into refs/top-bases/fix-branch 2009-11-15 16:26:36 -08:00
Brian Behlendorf 0aa61e8427 Remove zvol.c when updating in update-zfs.sh Linux version available. 2009-11-15 16:20:01 -08:00
Brian Behlendorf e20ba40c91 Merge commit 'refs/top-bases/fix-taskq' into fix-taskq 2009-08-18 12:10:02 -07:00
Brian Behlendorf f8cca2b295 Merge commit 'refs/top-bases/fix-stack' into fix-stack 2009-08-18 12:09:57 -07:00
Brian Behlendorf e7c05295ca Merge commit 'refs/top-bases/fix-dsl_pool_t' into fix-dsl_pool_t 2009-08-18 12:09:26 -07:00
Brian Behlendorf b330ab77df Merge commit 'refs/top-bases/fix-dbuf_dirty_record_t' into fix-dbuf_dirty_record_t 2009-08-18 12:09:14 -07:00
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 4539acb1cd Merge commit 'refs/top-bases/fix-taskq' into fix-taskq 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 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 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 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 3ef12f42a2 Merge commit 'refs/top-bases/fix-taskq' into fix-taskq 2009-02-18 14:29:23 -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 d6e8154947 Merge commit 'refs/top-bases/fix-dsl_pool_t' into fix-dsl_pool_t 2009-02-18 14:28:30 -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 d190a5b9bd Merge commit 'refs/top-bases/fix-dbuf_dirty_record_t' into fix-dbuf_dirty_record_t 2009-02-18 14:28:23 -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 b5409ba1e2 Merge commit 'refs/top-bases/fix-taskq' into fix-taskq 2009-01-15 14:16:12 -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 a378243d07 Merge commit 'refs/top-bases/fix-dsl_pool_t' into fix-dsl_pool_t 2009-01-15 14:13:49 -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 2e35cc0802 Merge commit 'refs/top-bases/fix-dbuf_dirty_record_t' into fix-dbuf_dirty_record_t 2009-01-15 14:13:43 -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 5e814ba757 Merge commit 'refs/top-bases/fix-taskq' into fix-taskq 2009-01-05 12:08:53 -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 c849b165ec Merge commit 'refs/top-bases/fix-dsl_pool_t' into fix-dsl_pool_t 2009-01-05 12:08:26 -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 491e2d036a Merge commit 'refs/top-bases/fix-dbuf_dirty_record_t' into fix-dbuf_dirty_record_t 2009-01-05 12:08:20 -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 d7a401b296 Merge commit 'refs/top-bases/fix-taskq' into fix-taskq 2008-12-11 14:25:25 -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