Commit Graph

2192 Commits

Author SHA1 Message Date
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 d9fc3ce99d Merge commit 'refs/top-bases/linux-symbol-collisions' into linux-symbol-collisions 2009-03-19 15:09:09 -07:00
Brian Behlendorf 90bbbd109b Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-03-19 15:07:19 -07:00
Brian Behlendorf f07d61a8c1 Merge branch 'fix-branch' into refs/top-bases/zfs-branch 2009-03-19 15:07:18 -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
Brian Behlendorf 9bbf8f1761 Resolve conflict with fix-dnode-cons 2009-03-19 15:02:05 -07:00
Brian Behlendorf 931cdd8858 Merge commit 'refs/top-bases/linux-symbol-collisions' into linux-symbol-collisions 2009-03-18 14:38:25 -07:00
Brian Behlendorf 70407622a7 Move `make check` ztest under ./scripts where the module stack is loaded. 2009-03-18 14:19:04 -07:00
Brian Behlendorf 1b8777474b Merge commit 'refs/top-bases/linux-symbol-collisions' into linux-symbol-collisions 2009-03-16 16:21:49 -07:00
Brian Behlendorf df985d53db Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-03-16 16:17:57 -07:00
Brian Behlendorf 24ea8a1d2a Merge commit 'refs/top-bases/gcc-branch' into gcc-branch 2009-03-16 16:17:55 -07:00
Brian Behlendorf f86b52a39d Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-03-16 16:17:55 -07:00
Brian Behlendorf 3eebe1bd0e Merge branch 'gcc-uninit' into refs/top-bases/gcc-branch 2009-03-16 16:17:54 -07:00
Brian Behlendorf 3eb4ba3ebd Add 3 more uninit errors detected by gcc 3.4.0 compiler. 2009-03-16 16:06:50 -07:00
Brian Behlendorf 2a3789db00 Merge commit 'refs/top-bases/linux-symbol-collisions' into linux-symbol-collisions 2009-03-16 10:41:29 -07:00
Brian Behlendorf be112b3f57 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-03-16 10:30:31 -07:00
Brian Behlendorf 5ee8a85ba6 Merge branch 'fix-branch' into refs/top-bases/zfs-branch 2009-03-16 10:30:27 -07:00
Brian Behlendorf ab8dbc4a7d Merge commit 'refs/top-bases/fix-branch' into fix-branch 2009-03-16 10:12:02 -07:00
Brian Behlendorf 9818e69640 Merge branch 'fix-deadcode' into refs/top-bases/fix-branch 2009-03-16 10:12:01 -07:00
Brian Behlendorf bb29348bc2 New TopGit dependency: fix-deadcode 2009-03-16 10:11:57 -07:00
Brian Behlendorf 2924858552 Remove two self referential functions.
Newer versions of gcc (4.3.0) detected the following unused
code segments.
2009-03-16 10:02:06 -07:00
Brian Behlendorf 335ce374d2 Merge commit 'refs/top-bases/linux-symbol-collisions' into linux-symbol-collisions 2009-03-13 11:00:27 -07:00
Brian Behlendorf 486df2d11d Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-03-13 10:57:46 -07:00
Brian Behlendorf 36c46c6031 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-03-13 10:57:45 -07:00
Brian Behlendorf e7c7284c66 Merge commit 'refs/top-bases/gcc-branch' into gcc-branch 2009-03-13 10:57:44 -07:00
Brian Behlendorf d2910d2415 Merge branch 'gcc-unused' into refs/top-bases/gcc-branch 2009-03-13 10:57:43 -07:00
Brian Behlendorf c98996ded8 Explicitly cast to prevent 'void *' dereference. 2009-03-13 10:51:11 -07:00
Brian Behlendorf 0cf5c0f36e Merge commit 'refs/top-bases/linux-symbol-collisions' into linux-symbol-collisions 2009-03-13 09:23:12 -07:00
Brian Behlendorf ede91ec061 Add --copy to automake to break configure phase dependency on automake. 2009-03-13 09:11:44 -07:00
Brian Behlendorf 634b508b2d Merge commit 'refs/top-bases/linux-symbol-collisions' into linux-symbol-collisions 2009-03-12 17:20:45 -07:00
Brian Behlendorf 115c12eeba Add zlib/zlib-devel rpm dependency 2009-03-12 17:13:35 -07:00
Brian Behlendorf b898408111 Merge commit 'refs/top-bases/linux-symbol-collisions' into linux-symbol-collisions 2009-03-12 16:46:22 -07:00
Brian Behlendorf f8764e9947 Add NONE option for --with-linux and --with-spl.
This is used when you need to configure the project but you don't
actually intend to build it.  Thus you don't really need access to
either the kernel or spl headers and symbols.  At Livermore I use
this when I only intend to use the 'make dist' or 'make srpm' target.
2009-03-12 16:31:28 -07:00
Brian Behlendorf c0480e3050 Merge commit 'refs/top-bases/linux-symbol-collisions' into linux-symbol-collisions 2009-03-12 15:46:36 -07:00
Brian Behlendorf 82ce8b00f3 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-03-12 15:44:14 -07:00
Brian Behlendorf 6a5acaa105 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-03-12 15:44:13 -07:00
Brian Behlendorf 539bf4451c Merge commit 'refs/top-bases/gcc-branch' into gcc-branch 2009-03-12 15:39:28 -07:00
Brian Behlendorf 9fe5b916e2 Merge branch 'gcc-fortify-source' into refs/top-bases/gcc-branch 2009-03-12 15:39:27 -07:00
Brian Behlendorf 76a1c3140f New TopGit dependency: gcc-fortify-source 2009-03-12 15:39:25 -07:00
Brian Behlendorf 9e49df6b20 Add gcc-fortify-source branch 2009-03-12 15:38:51 -07:00
Brian Behlendorf 31323fb621 Merge commit 'refs/top-bases/linux-symbol-collisions' into linux-symbol-collisions 2009-03-12 15:28:31 -07:00
Brian Behlendorf 379d9cf34d Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-03-12 15:26:15 -07:00
Brian Behlendorf 6a59551cb7 Merge branch 'fix-branch' into refs/top-bases/zfs-branch 2009-03-12 15:26:13 -07:00
Brian Behlendorf c4e10eb3df Merge branch 'fix-strncat' into refs/top-bases/fix-branch 2009-03-12 15:21:30 -07:00
Brian Behlendorf 21a51bafc8 Merge commit 'refs/top-bases/fix-branch' into fix-branch 2009-03-12 15:21:30 -07:00
Brian Behlendorf 56aaaa2617 New TopGit dependency: fix-strncat 2009-03-12 15:21:27 -07:00
Brian Behlendorf f1f9c50dd9 Add fix-strncat branch which corrects a buffer overrun. 2009-03-12 15:20:26 -07:00
Brian Behlendorf b9502a9d25 Merge commit 'refs/top-bases/linux-symbol-collisions' into linux-symbol-collisions 2009-03-12 15:14:38 -07:00
Brian Behlendorf f2e7d57653 Packaging update
Make LINUX_VERSION available to Makefile's, add packaging
for user space include headers.
2009-03-12 15:07:29 -07:00