Update ARC memory limits to account for SLUB internal fragmentation
[zfs.git] / ChangeLog
1 2010-08-13 Brian Behlendorf <behlendorf1@llnl.gov>
2
3         * : Tag zfs-0.5.0
4
5         * : The ChangeLog is being retired.  Please use the git commit
6         logs for a full records of changes: 'git log --no-merges'
7
8 2010-05-21 Brian Behlendorf <behlendorf1@llnl.gov>
9
10         * : Tag zfs-0.4.9 - Use 'git log --no-merges' for full change log.
11
12          * : Build system improvements:
13         - Added support for the 'make -s' silent build option.
14         - Allow zfs_config.h to be included by dependent packages.
15         - Minor spec file updates.
16         - Minor build system message updates.
17
18         * : Topic branch cleanup.  Several old branches were removed and
19         numerous hunks which were accidentaly commited to incorrect topic
20         branches in the past were relocated to the correct topic branch.
21
22         * *.c, *.h, *.sh, AUTHORS, COPYING, COPYRIGHT, DISCLAIMER, README:
23         Added standard header to source files which includes the copyright,
24         license, and author information.  Additionally, updated the listed
25         top level files to the latest versions.
26
27         * cmd/zpool/zpool_vdev.c: Check all partitions with check_file()
28         even when no libblkid is found.  This oversight would result in
29         ZFS not detecting existing filesystems on partitions.
30
31         * module/zfs/fm.c, module/zfs/zfs_fm, libzfs/libzfs_pool.c:
32         Added zevents which are similar to Solaris FMA support.  The
33         existing FMA and sysevent call points in ZFS were unified in
34         to a single event type and used to create a user space visible
35         event notification system under Linux.  The new 'zpool events'
36         command can be used to show all recent ZFS events.
37
38         * module/zfs/spa.c, module/zfs/zil.c: Suppress large memory
39         allocation warnings for two particular kmem_alloc()'s.  For
40         now we can live with them as is but long term a way should be
41         found to perform small allocations or use the vmem based slab.
42
43         * module/zfs/zvol.c: Recreate volume and snapshot /dev links during
44         module load.  Links in /dev for volumes/snapshots were only being
45         created at volume/snapshot creation time.  Those links are now also
46         created dynamically at module load time based on the spa config.
47
48         * module/zfs/zvol.c, module/zfs/include/sys/blkdev.h: The handler
49         zvol_request() should use the unlocked version of blk_end_request()
50         to avoid a deadlock in the ZVOL.
51
52 2010-03-11 Brian Behlendorf <behlendorf1@llnl.gov>
53
54         * : Tag zfs-0.4.8 - Use 'git log --no-merges' for full change log.
55
56         * : Build system improvements:
57         - Remove Module.markers and Module.symver{s} in clean target.
58         - Improved kernel source detection when none specified.
59         - Fix RPM definitions for the unknown distro/installation.
60         - Check for spl in ../spl if not found in install path.
61         - Include all headers regardless of depth in packages.
62         - Allow recursive configure/make.
63
64         * lib/libzpool/kernel.c: Fixed several zdb bugs when opening a pool
65         - zdb wasn't getting the correct device size when the vdev is a
66           block device.  In Solaris, fstat64() returns the device size but
67           in Linux an ioctl() is needed.
68         - make sure that we don't try to open a block device in write mode
69           from userspace.  This shouldn't happen, because zdb opens devices
70           in read-only mode, and ztest only uses files.
71
72         * lib/libspl/include/umem.h: Add umem_alloc_aligned() and honor
73         cache_align field for umem cache.  Under linux we open block devices
74         with O_DIRECT which means we must provide aligned memory buffers.
75
76         * lib/libzpool/kernel.c: Fix some incorrect error handling.  In
77         vn_open(), if fstat64() returned an error, the real errno was being
78         obscured by calling close().
79
80         * scripts/*: Fix scripts to work when invoked from other directories.
81
82         * module/zfs/arc.c: Fix struct ht_lock padding in arc.c.
83
84         * lib/libefi/include/sys/uuid.h: Fix duplicate uuid_t typedef.
85
86         * module/zfs/txg.c: Use CPU percentages for number of commit cb
87         threads.  This doesn't change number of threads in the kernel, but it
88         reduces number of threads in ztest (important due to 32-bit address
89         limitations).
90
91         * cmd/ztest/ztest.c: Clean up emulation of kernel threads in
92         userspace.  Updated to use pthread thread specific data rather than
93         keeping a global list.  This also fixes at least one easily
94         reproducible crash in ztest
95
96         * META, config/kernel.m4: Add configure check for kernel build
97         options which are incompatible with the license.  If your building
98         against a kernel deemed incompatible configure will fail and
99         suggest how you should rebuild your kernel.
100
101         * config/kernel-fmode-t.m4: Linux 2.6.28 compat, add a check for the
102         fmode_t type.  This typedef first appears in 2.6.28 kernels as part
103         of some block device operation reworking.
104
105         * module/zfs/dmu_send.c: No inline to keep dmu_recv_stream() stack
106         frame less than 1024 bytes.  Recent builds against 2.6.31 flagged
107         dmu_recv_stream() as stack heavy.  Further analysis of this function
108         should be performed to further reduce its stack usage.
109
110         * scripts/common.sh: Split the udev rule from a specific configuration
111         by providing a generic 60-zpool.rules file which uses a small helper
112         util 'zpool_id' to parse a configuration file by default located in
113         /etc/zfs/zdev.conf.  The helper script maps a by-path udev name to a
114         more friendly name of <channel><rank> for large configurations.
115
116         Additionally, when running zpool-create.sh in-tree it will no longer
117         use udev because we would have to copy certain helper scripts in to
118         the installed system.  To avoid this the config file in simply
119         parsed and symlinks are created in your working tree.  The script
120         will use udev if it as run as part of an installed zfs-test package.
121
122         * module/zfs/zvol.c: Use check_disk_change() instead of
123         revalidate_disk().  For 2.6.27 kernels are earlier revalidate_disk()
124         was not available.  However, check_disk_change() has been available
125         for far longer and will properly inform the kernel of the volume
126         change for both older and newer kernels.
127
128         * module/zfs/dmu.c: Fixed incorrect ASSERT3S() added by ZVOL.
129
130         * module/zfs/vdev_raidz.c, module/zfs/zvol.c: Minor fixes for 32-bit.
131
132         * scripts/zfs-update.sh, man/man8/*: Added man pages based on the
133         latest documentation and modified zfs-update.sh script to update them.
134
135         * .gitignore: Updated .gitignore rules to exclude build products.
136
137 2009-11-24 Brian Behlendorf <behlendorf1@llnl.gov>
138
139         * : Tag zfs-0.4.7 - Use 'git log --no-merges' for full change log.
140
141         * module/zcommon/include/sys/fs/zfs.h, module/zfs/include/sys/blkdev.h,
142           module/zfs/include/sys/dmu.h, module/zfs/dmu.c,
143           module/zfs/include/sys/zvol.h, module/zfs/zvol.c,
144           module/zfs/zfs_ioctl.c:
145         Added the ZVOL block device, with the addition of the ZVOL real ZFS
146         based block devices are available and can be compared head to head
147         with Linux's MD and LVM block drivers.  The Linux ZVOL has not yet
148         had any performance work done but from a user perspective it should
149         be functionally complete and behave like any other Linux block device.
150         The ZVOL has so far been tested using zconfig.sh on the following
151         x86_64 based platforms: FC11, CHAOS4, RHEL5, RHEL6, and SLES11.
152         However, more testing is required to ensure everything is working
153         as designed.
154
155         * scripts/udev-rules/99-zpool.rules.promise,
156           scripts/zpool-config/promise-raid0-1x16.sh,
157           scripts/zpool-config/promise-raid10-8x2.sh,
158           scripts/zpool-config/promise-raidz-2x8.sh,
159           scripts/zpool-config/promise-raidz2-2x8.sh:
160         Additional test configurations for a small 16 drive JBOD.
161
162         * module/zfs/arc.c: Linux 2.6.31 compat, mutexes can now exceed 64
163         bytes depending on the the kernel build options.  To account for
164         this increase the pad size to 256 bytes.
165
166         * module/zfs/vdev_disk.c: Linux 2.6.31 compat, to get the hard
167         sector size use bdev_logical_block_size() this function replaces
168         bdev_hardsect_size().
169
170         * module/zfs/zfs_rlock.c: Prevent gcc uninit compiler warning in
171         zfs_range_unlock_reader().
172
173         * Makefile.am: Ensure *.order and *.markers build products are
174         removed by distclean rule.
175
176 2009-11-02 Brian Behlendorf <behlendorf1@llnl.gov>
177
178         * : Tag zfs-0.4.6 - Use 'git log --no-merges' for full change log.
179
180         * Rebased to ZFS b121 from OpenSolaris.
181
182         * module/zfs/vdev_disk.c: Finally a feature complete implementation:
183         - Handle dynamic bio merge_bdev limitations when constructing the
184         bio set associated with a dio.  This previously prevented us from
185         layering cleanly on the md and dm virtual devices.
186         - Removed hard coded 512 byte sector size.
187         - Correctly determine the device size when using a partition.
188         - Hold and extra dio reference when submitting bio's using
189         bio_submit() to prevent a completion race.
190
191         * lib/libefi/*: Added fully function libefi library from Solaris.
192         This allows us to properly create and access GPT style partition
193         tables which are used when a whole device is added to a zpool.
194
195         * cmd/zpool/zpool_vdev.c: Fully integrated zpool with Linux package
196         libblkid.  This allows zpool to identify existing devices of
197         various types to prevent devices from accidentally being used.  When
198         given a whole device with a GPT partition table all partitions will
199         be checked for existing filesystems.  At the moment MBR style
200         partition tables cannot be check and the force option must be used.
201
202         * cmd/zpool/zpool_vdev.c: Solaris devid support has been removed in
203         favor of Linux's udev.  This means that a zpool device will always be
204         opened using the path provided at configuration time.  This may
205         initially seem limiting but it has certain advantages:
206         - When creating a zpool where the physical location of the device
207         is NOT import simply create the pool using the /dev/disk/by-id paths.
208         This will ensure that regardless of physical location the device
209         will be properly located.
210         - When creating a zpool where the physical location of the device
211         is important use the /dev/disk/by-path paths.  This will ensure that
212         devices are never accidentally detected and used in an incorrect
213         location which would compromise the redundancy of the system.
214         - Ever better you can create use your own udev rules file to setup
215         any mapping and naming convention you desire.  One example of a
216         custom rule is to map physical device locations using grid with
217         numbers are letter for coordinates.  Each letter might represent
218         a specific bus/channel and each number a specific device.  For large
219         configurations this provides an easy way to identify devices.
220
221         * module/zpios/zpios.c: Update to use kobject_set_name() for
222         increased portability.
223
224         * modules/*/*: Update module init/exit access points to use
225         spl_module_{init,exit}() macro API.  This ensures the cwd is
226         immediately set to '/' and may be leveraged latter for any
227         additional module setup/cleanup which is required.
228
229         * cmd/ztest/ztest.c: Check ftrucate() return code to prevent
230         warnings when --fortify-source options is used in rpm builds.
231
232         * config/Rules.am: Set DEBUG/NDEBUG globally when building user
233         space components.
234
235         * scripts/zconfig.sh: Initial hook for running additional sanity
236         tests are part of 'make check'.  Currently, there are only two
237         tests which do some basic configuration checking but they should
238         be extended as much as possible to prevent regressions.  Tests
239         should also all be written so they run entirely in-tree.
240
241         * scripts/zpios-sanity.sh: Initial hook for validating real IO
242         using all block devices and all raid configurations.  Supported
243         device types include scsi, ide, md, dm, ram, loop, and file. 
244         Supported raid types include raid0, raid10, raidz, and raidz2.
245
246         * scripts/zpool-config/*: Update dragon and x4550 configs to use
247         custom udev rules file with <A-Z><1-N> naming convention.  Add
248         configs for md, dm, and ram block devices to verify functionality.
249
250         * zfs-test.spec.in: Added zfs-test package which extends the existing
251         in-tree test infrastructure such that it can be run as part of an
252         installed package.  This simplifies the testing of tagged releases.
253
254         * zfs-modules.spec.in: Various spec file tweaks for the supported
255         distros: RHEL5, RHEL6, SLES10, SLES11, Chaos4, Fedora 11.
256
257 2009-08-04 Brian Behlendorf <behlendorf1@llnl.gov>
258
259         * : Tag zfs-0.4.5 - Use 'git log --no-merges' for full change log.
260
261         * FC11 and SLES11 support: This includes all compatibility changes
262         to support 2.6.29 based kernels and the required build system
263         improvements.
264         * lib/libspl/asm-generic/atomic.c: Generic user space atomic support.
265         * module/zpios/zpios.c: Register a basic compat ioctl handler for
266         32-bit user vs 64-bit kernel compatibility.  This is the default
267         build environment for all 64-bit SLES systems.  Additionally
268         replace the use of 'struct timespec' which uses longs internally
269         and is therefore different sizes on 32-bit vs 64-bit objects with
270         'struct zpios_timespec_t'.a
271         * config/kernel.m4: Check arch/default path when detecting kernel
272         objects under SLES.  We still preferentially use arch/arch if
273         available but if that fails it is acceptable to use default.
274         * config/kernel.m4: Remove LINUXINCLUDE from autoconf wrapper.
275         This breaks the 2.6.28+ kernels build system, all kernel build systems
276         at least post 2.6.16 will set this properly so we should not.
277         * lib/libspl/include/assert.h: Add ASSERTV macro to simplify removing
278         variables (the V in ASSERTV) which are only used in ASSERT().
279         Also revert all previously modified ASSERT()s to their original
280         definitions and use the ASSERTV macro to handle unused variables.
281         * module/zpios/zpios.c: Use spl device interfaces for portability.
282         * scripts/common.sh: The losetup -f option is unavailable for
283         SLES10 use the unused_loop_device() common function.  Additionally
284         LOSETUP is now used to portably reference the losetup binary.
285         * module/zfs/vdev_disk.c: Unused destroy_dirty_buffers arg removed.
286         * module/zfs/vdev_disk.c: BIO_RW_SYNC renamed to BIO_RW_SYNCIO.
287         * module/zfs/vdev_disk.c: open/close_bdev_excl() renamed to
288         open/close_bdev_exclusive().
289         * module/zfs/vdev_disk.c: Empty write barriers are supported as of
290         linux 2.6.24 and are now used to implement DKIOCFLUSHWRITECACHE.
291         * module/zfs/vdev_disk.c: The bi_end_io API changes make partial
292         IO's impossible handle this case cleanly.
293         * module/zfs/vdev_disk.c: BIO_RW_FAILFAST replaced with
294         BIO_RW_FAILFAST_{DEV|_TRANSPORT|_DRIVER}, use the legacy
295         BIO_RW_FAILFAST flag if it exists for now.
296         * module/zfs/dmu_objset.c, module/zfs/spa_history.c: Excessively
297         large stack frames (>2048) were detected in dmu_objset_snapshot()
298         and spa_history_log() and were reduced by allocating from the heap.
299
300         * Rebased to ZFS b117 from OpenSolaris:
301         * module/zfs/dmu.c: Update zerocopy patch to be consistent with
302         new flags arg passed to dmu_read().
303         * module/zpios/zpios.c: Update zpios to be aware of the new flags
304         argument available in dmu_read().  Additionally add a zpios command
305         line flag to set the DMU_READ_NO_PREFETCH flag for a test.
306         * module/zfs/include/sys/zfs_context.h: Wrap new sysevent includes
307         until sysevent or something like it is implemented.
308         * module/zfs/zfs_ioctl.c: Wrap all the ACL interfaces with HAVE_ZPL.
309         They are integrated with the vfs layer which is not yet supported.
310         * module/zcommon/zfs_prop.c: Export new quota related symbols.
311         * lib/libzfs/libzfs_util.c: Increase buffer size for nvlist which
312         is needed for large configurations.
313
314         * Bug fixes:
315         * lib/libspl/include/sys/zfs_debug.h: Removed duplicate file.
316         * lib/libspl/include/sys/isa_defs.h: Fixed missing macro definitions
317         for little endian and big endian.
318         * cmd/zpios/zpios_main.c: Pretty-up the zpios 'make check' output.
319         * module/zfs/vdev_disk.c: Honor spa_mode() when opening block devs.
320         * module/zfs/vdev_disk.c: Initial error handling added to
321         vdev_disk_io_done() to revalidate the media on EIO.
322         * lib/libzfs/libzfs_util.c: Fix an accidentally introduced formatting
323         issue in zfs_nicenum() output.
324         
325 2009-07-02 Brian Behlendorf <behlendorf1@llnl.gov>
326
327         * : Tag zfs-0.4.4 - Use 'git log --no-merges' for full change log.
328
329         * : Generic distro friendly build system / packaging improvements
330         for RPM based distros including CHAOS, RHEL, Fedora, and SLES.
331
332         These changes bring the zfs-0.4.4 tree in to compliance with
333         the spl-0.4.4 packaging changes.  The bottom line is 2 source
334         rpms and 4 binary rpms will now be generated when creating
335         packages there will be:
336
337         zfs-<version>.src.rpm
338         - Fully rebuildable source rpm for libzfs and utils.
339         zfs-modules-<version>.src.rpm
340         - Fully rebuildable source rpm for kernel modules.
341
342         zfs-<version>.<arch>.rpm
343         - Binary rpm for libzfs and utils.  The utils in this package are
344           compatible with all zfs-module rpms of the same version.
345         zfs-devel-<version>.<arch>.rpm
346         - Binary rpm containing headers for building against libzfs libraries.
347
348         zfs-modules-<verion>-<kernel>.arch.rpm
349         - Binary rpm containing the kernel modules for a specific kernel build.
350           The package name contains the kernel version and you should have one
351           of these packages installed to match every kernel on your system.
352         zfs-modules-devel-<verion>-<kernel>.arch.rpm
353         - Binary rpm containing development header and module symbols needed
354           for building additional kernel modules which are dependent on the
355           zfs module stack.
356
357         * : SLES9/10 distro support added: Several significant updates to
358         the build system were required to support this including:
359
360         - Autoconf macros updated to be aware of the standard install
361         locations for SLES kernel sources and build objects.  Additionally
362         changes were made to support multiple names for Module{s}.symvers.
363         - By default on SLES all user space builds are 32-bit even on
364         64-bit arches.  This means we need to be careful to pass -m64 in
365         the autoconf checks which probe the kernel.  Additionally, 
366         ioctl_compat handles still need to be added so 32-bit user
367         binarys can perform ioctls with the 64-bit kernel.
368
369         * : Powerpc64 support added:
370
371         - 64-bit user space atomic support for power64 was obtained from
372         an old version of OpenSolaris which offered minimal powerpc support.
373         The atomic support is not 100% fully implemented but it's a good
374         first step towards cleanly supporting the architecture.
375         - Added powerpc ISA type.
376         - Explicitly use signed char for portability.  On x86/x86_64
377         systems the default char type is signed, on ppc/ppc64 systems
378         the default char type is unsigned.
379         - Core target arch support for conditional compilation of SUBDIRs.
380         Required by libspl for its arch specific atomic implementations.
381
382         * COPYRIGHT: Readded accidentally dropped COPYRIGHT, it just
383         references the OPENSOLARIS.LICENSE which was still in the project.
384
385         * module/zfs/dmu_tx.c: Add EXPORT_SYMBOL(dmu_tx_callback_register).
386
387         * config/user-zlib.m4: Add basic zlib autoconf check for user space.
388
389 2009-03-20 Brian Behlendorf <behlendorf1@llnl.gov>
390
391         * : Tag zfs-0.4.3 - Use 'git log --no-merges' for full change log.
392
393         * : Rebased to ZFS b108 from OpenSolaris
394
395         * configure.ac, *Makefile.am: Build system update.  This includes
396         resolving various build issues and adding support for the remaining
397         common build targets.  Available targets now include:
398
399         - make all        # Build everything
400         - make install    # Install everything
401         - make clean      # Clean up build products
402         - make distclean  # Clean up everything
403         - make dist       # Create package tarball
404         - make srpm       # Create package source RPM
405         - make rpm        # Create package binary RPMs
406         - make tags       # Create ctags and etags for everything
407
408         Extra care was taken to ensure that the source RPMs are fully
409         rebuildable against Fedora/RHEL/Chaos kernels.  To build binary
410         RPMs from the source RPM for your system simply run:
411
412         rpmbuild --rebuild zfs-x.y.z-1.src.rpm
413
414         This will produce two binary RPMs with correct 'requires'
415         dependencies for your kernel.  One will contain all zfs modules
416         and support utilities, the other is a devel package for compiling
417         additional kernel modules which are dependent on the zfs.
418
419         zfs-x.y.z-1_<kernel version>.x86_64.rpm
420         zfs-devel-x.y.2-1_<kernel version>.x86_64.rpm
421
422         * config/kernel.m4, config/Rules.am: Removed the build options
423         -Wno-unused -Wno-missing -Wno-unused -Wno-parentheses and
424         -Wno-unknown-pragmas.  All upstream warnings which were being
425         suppressed by these options are now handled in the matching
426         gcc-* topic branch.
427
428         * zpios: Various zpios and test infrastructure improvements.
429
430         * feature-commit-cb: New feature commit callbacks.
431
432         * : Various bug fixes which are more clearly detailed in the
433         git commit logs.  For a detailed summary of changes post version
434         0.4.2, check out the 'top' topic branch and view the commit logs.
435
436         git checkout top
437         git log --no-merges -53
438
439 2009-02-05 Brian Behlendorf <behlendorf1@llnl.gov>
440
441         * : Tag zfs-0.4.2
442
443         * lib/libzfs/libzfs_util.c: Remove mknod() this is now handled by
444         by the SPL with an upcall even without GPL-only symbols.
445
446         * module/zfs/vdev_diskc: Updated linux vdev_disk interfaces to issue
447         multiple bios if needed due to the maximum request size being smaller
448         than the request size passed down from the spa.
449
450         * scripts/zpool-config/lo-*: Add loopback based test configs.
451
452 2009-01-21 Brian Behlendorf <behlendorf1@llnl.gov>
453
454         * : Tag zfs-0.4.1
455
456         * : Rebased to ZFS b105 from OpenSolaris
457
458         * : Restructured project and build system to more closely
459         mirror the code organization used in OpenSolaris.  This
460         allows us minimize the changes to upstream source needed,
461         and allows concurrent user+kernel space builds of all components.
462
463 2008-11-19 Brian Behlendorf <behlendorf1@llnl.gov>
464
465         * : Tag zfs-0.4.0
466
467         * : ZFS project migrated from Subversion which leveraged a 
468         quilt based patch stack to Git and a TopGit managed patch
469         stack.  The new method treats all patches as Git branches
470         which can be more easily shared for distributed development.
471         Consult the top level GIT file for detailed information on
472         how to properly develop for this package using Git+TopGit.
473
474 2008-11-12 Brian Behlendorf <behlendorf1@llnl.gov>
475
476         * : Tag zfs-0.3.4
477
478         * zfs-07-create-dev-zfs.patch:
479         Ricardo M. Correia <Ricardo.M.Correia@sun.com>
480         - Make libzfs create /dev/zfs if it doesn't exist.
481
482         * zfs-05-check-zvol-size.patch:
483         Ricardo M. Correia <Ricardo.M.Correia@sun.com>
484         - Properly check zvol size under Linux.
485
486         * zfs-04-no-openat-fdopendir.patch:
487         Ricardo M. Correia <Ricardo.M.Correia@sun.com>
488         - Do not use openat() and fdopendir() since they are not available
489           on older systems.
490
491         * zfs-03-fix-bio-sync.patch:
492         Ricardo M. Correia <Ricardo.M.Correia@sun.com>
493         - Fix memory corruption in RHEL4 due to synchronous IO becoming
494           asynchronous.
495
496 2008-11-06 Brian Behlendorf <behlendorf1@llnl.gov>
497
498         * zfs-02-zpios-fix-stuck-thread-memleak.patch:
499         Ricardo M. Correia <Ricardo.M.Correia@sun.com>
500         - Fix stuck threads and memory leaks when errors occur while writing.
501
502         * zfs-01-zpios-arg-corruption.patch:
503         Ricardo M. Correia <Ricardo.M.Correia@sun.com>
504         - Fix zpios cmd line argument corruption problem.
505
506         * zfs-00-minor-fixes.patch: 
507         Ricardo M. Correia <Ricardo.M.Correia@sun.com>
508         - Minor build system improvements
509         - Minor script improvements
510         - Create a full copy and not a link tree with quilt
511         - ZPIOS_MAJOR changed from 231 to 232
512         - BIO_RW_BARRIER flag removed from IO request
513
514 2008-06-30 Brian Behlendorf <behlendorf1@llnl.gov>
515
516         * : Tag zfs-0.3.3
517
518         * : Minor script updates and tweaks to be compatible with
519         the latest version of the SPL.
520
521 2008-06-13 Brian Behlendorf <behlendorf1@llnl.gov>
522
523         * vdev_disk.diff: Replace vdev_disk implementation which was
524         based on the kmalloc'ed logical address space with a version
525         which works with vmalloc'ed memory in the virtual address space.
526         This was done to support the new SPL slab implementation which
527         is based on virtual addresses to avoid the need for contigeously
528         allocated memory.
529
530 2008-06-05 Brian Behlendorf <behlendorf1@llnl.gov>
531
532         * arc-vm-integration.diff: Reduce maximum default arc memory 
533         usage to 1/4 of total system memory.  Because all the bulk data
534         is still allocated on the slab memory fragmentation is a serious
535         concern.  To address this in the short term we simply need to
536         leave lots of free memory.
537
538         * fix-stack.diff: First step towards reducing stack usage so
539         we can run the full ZFS stack using a stock kernel.
540
541 2008-06-04 Brian Behlendorf <behlendorf1@llnl.gov>
542
543         * : Tag zfs-0.3.2
544
545         * : Extensive improvements to the build system to detect kernel
546         API changes so we can flexibly build with a wider range of kernel
547         versions.  The code has now been testing with the 2.6.18-32chaos
548         and 2.6.25.3-18.fc9 kernels, however we should also be compatible
549         with other kernels in the range of 2.6.18-2.6.25.  The only
550         remaining issue preventing us from running with a stock 
551         kernel is ZFS stack usage.
552
553 2008-05-21 Brian Behlendorf <behlendorf1@llnl.gov>
554
555         * : Tag zfs-0.3.1
556
557         * : License headers including URCL added for release.
558
559 2008-05-21 Brian Behlendorf <behlendorf1@llnl.gov>
560
561         * : Tag zfs-0.3.0
562
563         * configure.ac: Improved autotools support and configurable debug.
564
565 2008-05-15 Brian Behlendorf <behlendorf1@llnl.gov>
566
567         * : Updating original ZFS sources to build 89 which
568         includes the new write throttling changes plus support
569         for using ZFS as your root device.  Neither of which
570         will work exactly right without some more work but this
571         gets us much closers to the latest source.
572         
573
574 2008-02-28 Brian Behlendorf <behlendorf1@llnl.gov>
575
576         * : First attempt based on SPL module and zfs-lustre sources