]> git.proxmox.com Git - mirror_spl-debian.git/blame - ChangeLog
Update ChangeLog
[mirror_spl-debian.git] / ChangeLog
CommitLineData
aaad2f72 12009-07-02 Brian Behlendorf <behlendorf1@llnl.gov>
762b96f6
BB
2
3 * : Tag spl-0.4.4
4
aaad2f72
BB
5 * : Generic distro friendly build system / packaging improvements
6 for RPM based distros including CHAOS, RHEL, Fedora, and SLES.
7
8 spl-<version>.src.rpm
9 - Fully rebuildable source rpm for utils.
10 spl-modules-<version>.src.rpm
11 - Fully rebuildable source rpm for kernel modules.
12
13 spl-<version>.<arch>.rpm
14 - Binary rpm for utils. The utils in this package are compatible
15 with all spl-module rpms of the same version.
16
17 spl-modules-<verion>-<kernel>.arch.rpm
18 - Binary rpm containing the kernel modules for a specific kernel build.
19 The package name contains the kernel version and you should have one
20 of these packages installed to match every kernel on your system.
21 spl-modules-devel-<verion>-<kernel>.arch.rpm
22 - Binary rpm containing development header and module symbols needed
23 for building additional kernel modules which are dependent on the
24 spl module.
25
762b96f6
BB
26 * : Added SLES10 support. This includes all compatibility
27 changes to support 2.6.16 based kernels and the required
28 build system improvements.
29
30 * : Build System changes for SLES10:
31 - Exclude -obj when detecting installed kernel source.
32 - Detect -obj directory for out of tree kernel builds.
33 - Allow kernel build system to set CC to ensure -m64 is set properly.
34 This is an issue on 64-bit SLES systems which by default always
35 build 32-bit binaries (unlike RHEL/Fedora which default to 64-bit)
36
37 * : Configure Checks added for SLES10:
38 - div64_64() renamed to div64_u64() as of 2.6.26.
39 - global_page_state() fuction was introduced in 2.6.18 kernels.
40 The earlier 2.6.16 based SLES10 must not try and use it,
41 thankfully get_zone_counts() is still available.
42 - monotonic_clock() is unavailable __gethrtime() must perform the
43 HZ division as an 'unsigned long long' because the SPL only
44 implements __udivdi3(), and not __divdi3() for 'long long'
45 division on 32-bit arches.
46 - mutex_lock_nested() was introduced as part of the mutex
47 validator in 2.6.18, when it is unavailable it is safe to
48 fallback to using a plain mutex_lock().
49 - SLES specific API change to vfs_unlink() and vfs_rename() which
50 added a 'struct vfsmount *' argument. This was for something
51 called the linux-security-module, but it appears that it was
52 never adopted upstream.
53 - spl_device_create() correctly mapped to class_device_create()
54 for 2.6.13 to 2.6.17 based kernels, this is the preferred API.
55 - Prior to 2.6.17 there were no *_pgdat helper functions in
56 mm/mmzone.c. Instead for_each_zone() operated directly on
57 pgdat_list which may or may not have been exported depending on
58 how your kernel was compiled. A configure check was added to
59 determine if you have the helpers or not, and if the needed
60 symbols are exported. If they are not exported then they are
61 dynamically aquired at runtime by kallsyms_lookup_name().
62
63 * : Packaging changes for SLES10
64 - Properly honor --prefix in build system and rpm spec file.
65 - Add '--define require_kdir' to spec file to support building
66 rpms against kernel sources installed in non-default locations.
67 - Add '--define require_kobj' to spec file to support building
68 rpms against kernel object installed in non-default locations.
69 - Stop suppressing errors in autogen.sh script.
70 - Improved logic to detect missing kernel objects when they are
71 not located with the source. This is the common case for SLES
72 as well as in-tree chaos kernel builds and is done to simply
73 support for multiple arches.
74 - Moved spl-devel build products to /usr/src/spl-<version>, a
75 spl symlink is created to reference the last installed version.
76 - Allow checking for exported symbols in both Module.symvers
77 and Module.symvers. My stock SLES kernel ships an objects
78 directory with Module.symvers, yet produces a Module.symvers
79 in the local build directory.
80
81 * : Added powerpc64 support.
82 - Enable builds for powerpc64 ISA type.
83 - Add DIV_ROUND_UP and roundup macros if unavailable.
84 - Cast 64-bit values for %lld format string to (long long) to
85 quiet compile warning.
86
87 * module/splat/splat-ctl.c: Proper ioctl() 32/64-bit binary
88 compatibility. We need to ensure the ioctl data itself is always
89 packed the same for 32/64-bit binaries. Additionally, the correct
90 thing to do is encode this size in bytes as part of the command
91 using _IOC_SIZE().
92
93 * modules/spl/spl-kmem.c: Fixed a long standing bug in the debug
94 tracing. The tcd_for_each() macro expected a NULL to terminate
95 the trace_data[i] array but this was only ever true due to luck.
96 All trace_data[] iterators are now properly capped by TCD_TYPE_MAX.
97
98 * modules/spl/spl-kmem.c: To simplify debugging all symbols aquired
99 dynamically using spl_kallsyms_lookup_name() are initially poisoned
100 with SYMBOL_POISON.
101
f8b2932a
BB
1022009-03-20 Brian Behlendorf <behlendorf1@llnl.gov>
103
104 * : Tag spl-0.4.3
105
106 * configure.ac, *Makefile.am: Build system update. This includes
107 resolving various build issues and adding support for the remaining
108 common build targets. Available targets now include:
109
110 - make all # Build everything
111 - make install # Install everything
112 - make clean # Clean up build products
113 - make distclean # Clean up everything
114 - make dist # Create package tarball
115 - make srpm # Create package source RPM
116 - make rpm # Create package binary RPMs
117 - make tags # Create ctags and etags for everything
118
119 Extra care was taken to ensure that the source RPMs are fully
120 rebuildable against Fedora/RHEL/Chaos kernels. To build binary
121 RPMs from the source RPM for your system simply run:
122
123 rpmbuild --rebuild spl-x.y.z-1.src.rpm
124
125 This will produce two binary RPMs with correct 'requires'
126 dependencies for your kernel. One will contain all zpl modules
127 and support utilities, the other is a devel package for compiling
128 additional kernel modules which are dependent on the spl.
129
130 spl-x.y.z-1_<kernel version>.x86_64.rpm
131 spl-devel-x.y.2-1_<kernel version>.x86_64.rpm
132
133 * : FC10 (linux-2.6.27.19) and i686 compatibility update. The
134 list of support platforms has been extended to include FC10
135 systems and x86 architectures. It should be noted that kernels
136 older the 2.6.27.19 should work but have not have not been tested.
137
138 * configure.ac: Fix build issue preventing spl_config.h from being
139 cleanly included by dependent packages.
140
141 * module/spl/spl-taskq.c: Fix taskq_wait() not waiting bug.
142
143 * module/spl/spl-xdr.c: Add XDR implementation provided by Ricardo
144 Correia from Sun.
145
146 * module/spl/spl-kmem.c: Linux VM integration cleanup.
147
148 * module/spl/spl-kmem.c: Slab cache improvements and fixes.
149
150 * modules/splat/*: Include additional SPLAT regression tests.
151
152 * : Various bug fixes are more clearly detailed in the git
153 commit logs. For a detailed summary of changes post version
154 0.4.2 check the git commit logs.
155
156 git log -35
157
e50ad76d
BB
1582009-02-05 Brian Behlendorf <behlendorf1@llnl.gov>
159
160 * : Tag spl-0.4.2
161
162 * module/spl/spl-kmem.c include/sys/kmem.h: Slab cache improvements:
163 - Implement kmem cache alignment.
164 - Implement slab ageing.
165 - Optimized slab packing algorithm.
166 - Fixed deadlock due to calling call kv_free() under the skc_lock.
167 - Added additional SPLAT test cases
168 - Performance optimizations
169
170 * module/spl/spl-kmem.c include/sys/kmem.h: Linux VM integration.
171 The Solaris global VM symbols minfree, desfree, lotsfree, needfree,
172 swapfs_minfree, swapfs_reserve, availrmem, freemem, and physmem are
173 now available and loosely integrating with the Linux VM. Some
174 tuning will undoubtably be needed and these tunables are available
175 in /proc/sys/kernel/spl/vm/* for this very reason.
176
177 * config/spl-build.m4: New configure checks needed when building
178 against 2.6.27+ kernels. More work is needed here.
179
180 * : Minor cleanup see the 'git log' for full details.
181
064bbffb
BB
1822009-01-21 Brian Behlendorf <behlendorf1@llnl.gov>
183
184 * : Tag spl-0.4.1
185
186 * : Implement ksid_*, ddi_strto*, and system taskq functionality.
187 In addition, several other small Solaris compatibility changes
188 were made, see the 'git log' for full details.
189
895ff83c
BB
1902008-11-26 Brian Behlendorf <behlendorf1@llnl.gov>
191
192 * : Tag spl-0.4.0 (Development now done with Git)
193
194 * : Imported SPL SVN repo in to Git Repo for core development.
195
dd529a30 1962008-11-26 Brian Behlendorf <behlendorf1@llnl.gov>
197
198 * : Tag spl-0.3.5
199
200 * : Include META file support.
201
bf9f3bac 2022008-11-05 Jim Garlick <garlick@llnl.gov>
203
204 * : Add autogen.sh products.
205
f8b2932a 206 * configure.ac : Use AC_CONFIG_AUX_DIR to put autograph products
bf9f3bac 207 in ./auotconf.
208
209 * autogen.sh : Use --copy to avoid symlinks, remove error
210 redirection, run aclocal before libtoolize.
211
6a1c3d41 2122008-11-13 Brian Behlendorf <behlendorf1@llnl.gov>
213
214 * include/sys/sunddi.h, modules/spl/spl-module.c : Removed default
215 udev support from sunddi implementation because it uses GPL-only
216 symbols. This support is optionally available for SPL consumers
217 if they define HAVE_GPL_ONLY_SYMBOLS and license their module as
218 GPL using the MODULE_LICENSE("GPL") macro.
219
5457aee1 2202008-11-05 Brian Behlendorf <behlendorf1@llnl.gov>
221
222 * : Tag spl-0.3.4
223
224 * : Coverity clean.
225
226 * : Patches from Ricardo M. Correia <Ricardo.M.Correia@sun.com>
227 applied with minor revisions:
228
229 spl-00-rm-gpl-symbol-notifier_chain.patch
230 spl-01-rm-gpl-symbol-set_cpus_allowed.patch
231 spl-02-rm-gpl-symbols-device.patch
232 spl-03-rm-gpl-symbol-ktime_get_ts.patch
233 spl-04-fix-taskq-spinlock-lockup.patch
234 spl-05-div64.patch
235 spl-06-atomic64.patch
236 spl-07-kmem-cleanup.patch
237 spl-08-km-sleep-nofail.patch
238 spl-09-fix-kmem-track-oops.patch
239 spl-10-fix-assert-verify-ndebug.patch
240
3ba97a67 2412008-06-30 Brian Behlendorf <behlendorf1@llnl.gov>
242
243 * : Tag spl-0.3.3
244
245 * : modules/sys/kmem-slab.c : Refined SPL slab to include
246 per-cpu caches, removed internal hash, other general
247 performance improvements. Much work remain but it's pretty
248 good for an initial implementation.
249
2fb9b26a 2502008-06-13 Brian Behlendorf <behlendorf1@llnl.gov>
251
252 * : modules/sys/kmem-slab.c : Re-implemented the slab to no
253 longer be based on the linux slab but to be it's own complete
254 implementation. The new slab behaves much more like the
255 Solaris slab than the Linux slab.
256
c58f753d 2572008-06-04 Brian Behlendorf <behlendorf1@llnl.gov>
258
259 * : Tag spl-0.3.2
260
261 * : Extensive improvements to the build system to detect kernel
262 API changes so we can flexibly build with a wider range of kernel
263 versions. The code has now been testing with the 2.6.18-32chaos
264 and 2.6.25.3-18.fc9 kernels, however we should also be compatible
265 with other kernels in the range of 2.6.18-2.6.25.
266
57d86234 2672008-05-25 Brian Behlendorf <behlendorf1@llnl.gov>
268
269 * configure.ac, autoconf/* : Initial pass at resolving
270 API changes introduced by kernels newer than 2.6.18.
271
65a045da 2722008-05-21 Brian Behlendorf <behlendorf1@llnl.gov>
273
274 * : Tag spl-0.3.1
275
276 * : License headers including URCL added for release.
277
b2585b36 2782008-05-21 Brian Behlendorf <behlendorf1@llnl.gov>
279
280 * : Tag spl-0.3.0
281
282 * configure.ac: Improved autotools support.
283
9ab1ac14 2842008-04-26 Brian Behlendorf <behlendorf1@llnl.gov>
285
286 * include/sys/mutex.h : Implemented a close approximation
287 of adaptive mutexes. These changes however required me to
288 export a new symbol from the kernel proper 'task_curr()'
289 which means we are now dependant on a patched kernel.
290
3561541c 2912008-04-24 Brian Behlendorf <behlendorf1@llnl.gov>
292
293 * : Tag spl-0.2.1
294
295 * modules/spl/spl-proc.c : Add /proc/sys/spl/version.
296
1bac409f 2972008-04-24 Herb Wartens <wartens2@llnl.gov>
298
299 * include/sys/kmem.h : Make sure that when calling __vmem_alloc
300 that we do not have __GFP_ZERO set. Once the memory is allocated
301 then zero out the memory if __GFP_ZERO is passed to
302 __vmem_alloc.
303
55152ebb 3042008-04-16 Herb Wartens <wartens2@llnl.gov>
305
306 * modules/spl/spl-kmem.c : Make sure to disable interrupts
307 when necessary to avoid deadlocks. We were seeing the deadlock
308 when calling kmem_cache_generic_constructor() and then an interrupt
309 forced us to end up calling kmem_cache_generic_destructor()
310 which caused our deadlock.
311
f1ca4da6 3122008-02-26 Brian Behlendorf <behlendorf1@llnl.gov>
313
314 : Initial commit of the solaris porting layer (spl). Included
315 in addition to the source is an initial autoconf / configure
316 style build system.