Commit Graph

16 Commits

Author SHA1 Message Date
Brian Behlendorf e7334931f1 Merge commit 'refs/top-bases/fix-dnode-cons' into fix-dnode-cons 2009-08-18 12:09:21 -07:00
Brian Behlendorf 45d1cae3b8 Rebase master to b121 2009-08-18 11:43:27 -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 9babb37438 Rebase master to b117 2009-07-02 15:44:48 -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 404fd8578f Merge commit 'refs/top-bases/fix-dnode-cons' into fix-dnode-cons 2009-02-18 14:28:27 -08:00
Brian Behlendorf d164b20935 Rebase master to b108 2009-02-18 12:51:31 -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 fb5f0bc833 Rebase master to b105 2009-01-15 13:59:39 -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 42bcb36c89 Add unicode library 2009-01-05 12:03:23 -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
Brian Behlendorf a4076c7544 Script updates 2008-12-11 14:21:14 -08:00
Brian Behlendorf c4911ece24 Move library files to lib 2008-12-11 14:16:55 -08:00
Brian Behlendorf fc3c415441 Merge commit 'refs/top-bases/fix-dnode-cons' into fix-dnode-cons 2008-12-11 11:26:02 -08:00
Brian Behlendorf 172bb4bd5e Move the world out of /zfs/ and seperate out module build tree 2008-12-11 11:08:09 -08:00