ZFS on Linux: 0.6.3

Egy ideje mar hasznalom elesben, egesz jonak tunik.
Kulonosen erdekes a Posix ACL support es a ZED.
Vmint valoban _sok_ hibajavitas kerult bele, sokkal stabilabb es kevesebb memoriara van szuksege.
=================================================================================================

The ZFS on Linux team is happy to announce the release and immediate availability of version 0.6.3! This release is major step forward for ZFS on Linux. It includes a large number of new features, bug fixes and other enhancements.

http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/spl-0.6.3.tar.gz
http://archive.zfsonlinux.org/downloads/zfsonlinux/zfs/zfs-0.6.3.tar.gz

Key Features:
* Compatible with kernels up to Linux 3.14.
* A smoother write throttle for consistent performance under load.
* Smarter caching to improve the cache hit rate for certain workloads.
* Support for Posix style ACLs.
* Support for the immutable and append-only file attributes.
* Support for mounting filesystems with relatime style updates.
* SELinux integration through four new dataset properties.
* Systemd support for better distribution integration.
* A new ZFS Event Daemon (ZED) for pool monitoring and management.
* Support for aarch64 and sparc64 architectures.
* Many performance improvements.
* Over 200 bug fixes.

For a the full list of changes in ZFS 0.6.3 see the ChangeLog below.

Thanks,
Brian

----------------------- SPL ChangeLog ---------------------------
Andrey Vesnovaty (2):
Expose max/min objs per slab and max slab size
Evenly distribute the taskq threads across available CPUs

Brian Behlendorf (15):
Consistently use local_irq_disable/local_irq_enable
Revert "Add KSTAT_TYPE_TXG type"
Merge branch 'kstat'
Retroactively fix bogus %changelog date
Add module versioning
Include linux/vmalloc.h for ARM and Sparc
Remove default taskq thread to CPU bindings
Remove incorrect use of EXTRA_DIST for man pages
splat kmem:slab_reclaim: Test cleanup
splat cred:groupmember: Fix false positives
Add KMC_SLAB cache type
Add spl_kmem_cache_reclaim module option
Restrict release number to META version
Fix DKMS package upgrade and packager
Tag spl-0.6.3

Chunwei Chen (4):
Add ddi_time_after and friends
Fix crash when using ZFS on Ceph rbd
Linux 3.15 compat: NICE_TO_PRIO and PRIO_TO_NICE
Linux 3.15: vfs_rename() added a flags argument

Cyril Plisko (2):
Kstat to use private lock by default
Tighten spl dependency on spl-kmod

Jorgen Lundman (1):
Add support for aarch64 (ARMv8)

Kohsuke Kawaguchi (1):
Document how to run SPLAT

Ned Bass (3):
Add kpreempt() compatibility macro
3537 add kstat_waitq_enter and friends
Emulate illumos interface cv_timedwait_hires()

Prakash Surya (2):
Add callbacks for displaying KSTAT_TYPE_RAW kstats
Add wrappers for accessing PID and command info

Richard Yao (7):
Replace current_kernel_time() with getnstimeofday()
Define SET_ERROR()
Linux 3.12 compat: New shrinker API
Linux 3.13 compat: Remove unused flags variable from __cv_init()
Linux 3.13 compat: Pass NULL for new delegated inode argument
Simplify hostid logic
Change spl_kmem_cache_expire default setting to 2

Tim Chase (3):
Support post-3.13 kthread_create() semantics.
De-inline spl_kthread_create().
Call kthread_create() correctly with fixed arguments.

Turbo Fredriksson (2):
Document SPL module parameters.
Set LANG to a reasonable default (C)

Yuxuan Shui (1):
This patch add a CTASSERT macro for compile time assertion.

marku89 (1):
Define the needed ISA types for Sparc

----------------------- ZFS ChangeLog ---------------------------
Aaron Fineman (1):
Cause zfs.spec to place dracut files properly

Adam Leventhal (1):
Illumos #3582, #3584

Alexander Stetsenko (1):
Illumos #4574 get_clones_stat does not call zap_count in non-debug kernel

Andrew Barnes (1):
Remove recursion from dsl_dir_willuse_space()

Andrey Vesnovaty (1):
Fix regression introduced in port of Illumos #3744

Bassu (1):
Explain 'zfs list -t snap -o name -s name' speedup

Ben Allen (1):
Update spec file to enable systemd for RHEL7

Boris Protopopov (2):
Illumos #4088 use after free in arc_release()
Illumos #4089 NULL pointer dereference in arc_read()

Brian Behlendorf (77):
Fix uninitialized variables
Fix zpl_mknod() return values
Fix spa_deadman() TQ_SLEEP warning
Export addition dsl_prop_* symbols
Fix memory leak false positive in log_internal()
Increase default udev wait time
Revert "Add new kstat for monitoring time in dmu_tx_assign"
Revert "Add txgs-
kstat file"
Add visibility in to txg sync behavior
Add visibility in to dmu_tx_assign times
Add visibility in to cached dbufs
Add dbufstat.py command
Merge branch 'kstat'
Prevent xattr remove from creating xattr directory
Improve xattr property documentation
Add cstyle.pl utility and cstyle.1 man page
Switch allocations from KM_SLEEP to KM_PUSHPAGE
Reduce stack for traverse_visitbp() recursion
Remove the slog restriction on bootfs pools
Add I/O Read/Write Accounting
Remove incorrect ASSERT in zfs_sb_teardown()
Add module versioning
Fix 'zfs diff' shares error
Remove ZFC_IOC_*_MINOR ioctl()s
Sync /dev/zfs ioctl ordering
Update zfs(8) Snapshots section
cstyle: zvol.c
Silence e2fsck warning in zconfig.sh
cstyle: Exclude several files from 'make checkstyle'
cstyle: Allow spaces in all comments
Register correct handlers for nvlist_{dup,pack,unpack}
Enable /etc/mtab cache to improve performance
Remove unconditional sharetab update
Define the needed ISA types for Sparc
Use local variable to read zp->z_mode
Fix nvlist 'Bus Error' for Sparc
Fix zfs_getattr_fast types
Force LZ4_FORCE_SW_BITCOUNT for Sparc
Drain iput taskq outside z_teardown_lock
Prevent duplicate mnttab cache entries
Disable GCCs aggressive loop optimization
Use long holds in zvol_set_volsize()
Remove incorrect use of EXTRA_DIST for man pages
Fix corrupted l2_asize in arcstats
Fix zconfig.sh test 9
Add default FILEDIR path to zpool-config scripts
Add zimport.sh compatibility test script
Use expected zpool_status_t type
Add generic errata infrastructure
Merge branch 'issue-2094'
Set zfs_arc_min to 4MB
Merge branch 'arc-changes'
Export symbols dsl_sync_task{_nowait}
Revert "sighandler() should take 2 arguments"
Add a unique "eid" value to all zevents
Add zpool_events_seek() functionality
Clarify zpool_events_next() comment
Make command line guid parsing more tolerant
Add missing DATA_TYPE_STRING_ARRAY output
Add automatic hot spare functionality
Revert "Fixed a use-after-free bug in zfs_zget()."
Dynamically create loop devices
Improve zfs.sh error messages
Make zimport.sh bash dependency explicit
Various zimport.sh fixes
Fix zfsdev_ioctl() kmem leak warning
dmu_tx_assign() should not return ENOMEM
Remove SELinux enforcing check from init scripts
Treat spill block dbufs as meta data
Fix style
Handle vdev_lookup_top() failure in dva_get_dsize_sync()
Use default slab types
Restrict release number to META version
Fix DKMS package upgrade and packager
Revert "Fix __zio_execute() asynchronous dispatch"
Fix zfs.spec.in defaults
Tag zfs-0.6.3

Chris Dunlap (8):
Add defs for makefile installation dir vars
Replace zpool_events_next() "block" parm w/ "flags"
Initial implementation of zed (ZFS Event Daemon)
Add systemd unit file for zed
Replace check for _POSIX_MEMLOCK w/ HAVE_MLOCKALL
Merge branch 'zed-initial'
Set errno for mkdirp() called with NULL path ptr
Replace zed_file_create_dirs() with mkdirp()

Chris Wedgwood (1):
Allow building without ACLs

Chunwei Chen (10):
Fix z_sync_cnt decrement in zfs_close
config: compile test rather than run test
Linux 3.14 compat: posix_acl_{create,chmod}
Linux 3.14 compat: Immutable biovec changes in vdev_disk.c
Refactor dmu_req_copy for immutable biovec changes
Revert "Fix zvol+btrfs hang"
Linux 3.14 compat: rq_for_each_segment in dmu_req_copy
Use ddi_time_after and friends to compare time
Add assertion to catch 0-count page
Use a dedicated taskq for vdev_file

Cyril Plisko (2):
Tighten zfs dependency on zfs-kmod
Call gethrtime() only once per new txg creation

DHE (2):
Fix typos in commit b83e3e48c9b183a80dd00eb6c7431a1cbc7d89c9
Uninitialized variable spa_autoreplace used

Derek Dai (1):
Do not export pool to prevent cache from been removed

Etienne Dechamps (1):
Only commit the ZIL once in zpl_writepages() (msync() case).

George Wilson (12):
Illumos #3552
Illumos #3522
Illumos #3561, #3116
Illumos #3578, #3579
Illumos #3642, #3643
Illumos #3236
Illumos #3949, #3950, #3952, #3953
Illumos #3956, #3957, #3958, #3959, #3960, #3961, #3962
Illumos #3954, #4080, #4081
Illumos #4168, #4169, #4170
Illumos #4121 vdev_label_init read only
Illumos #4101 finer-grained control of metaslab_debug

GregorKopka (1):
Removing unneeded mutex for reading vq_pending_tree size

Gunnar Beutner (1):
Remount datasets for "zfs inherit".

HC (1):
Honor zfs_nocacheflush for file vdevs

Igor Lvovsky (1):
Add additional state TXG_STATE_WAIT_FOR_SYNC for txg.

Isaac Huang (3):
Make arcstat.py default to one header per screen
sighandler() should take 2 arguments
sighandler() should take 2 arguments

James Pan (1):
sa_find_sizes() may compute wrong SA header size

John Albietz (1):
Added INTEL SSD 530 Series

John Layman (1):
Add ddt, ddt_entry, and l2arc_hdr caches

John M. Layman (1):
Fix for re-reading /etc/mtab.

John Wren Kennedy (1):
Illumos #4208

Jorgen Lundman (1):
Add support for aarch64 (ARMv8)

Keith M Wesolowski (2):
Illumos #3894
Illumos #3875

Kohsuke Kawaguchi (1):
Reduce the stack usage of dsl_dataset_remove_clones_key

Marcel Huber (1):
Omit compiler warning by sticking to RAII

Marcel Telka (1):
Illumos #4061

Mark Shellenbaum (2):
6939941 problem with moving files in zfs
6977619 NULL pointer deference in sa_handle_get_from_db()

Martin Matuska (1):
Illumos #3699, #3739

Massimo Maggi (2):
Posix ACL Support
Honor CONFIG_FS_POSIX_ACL kernel option

Matthew Ahrens (22):
Illumos #2882, #2883, #2900
Illumos #3464
Illumos #3537
Illumos #3588
Illumos #3603, #3604: bobj improvements
Illumos #3598
Illumos #3645, #3692
Illumos #3829
Illumos #3888
Illumos #3112, #3113, #3114
Illumos #3836
Illumos #3834
Illumos #3955
Illumos #3996
Illumos #4047
Illumos #4046
Illumos #4082
26126 panic system rather than corrupting pool if we hit bug 26100
Illumos #4347 ZPL can use dmu_tx_assign(TXG_WAIT)
Illumos #4045 write throttle & i/o scheduler performance work
Illumos 4504 traverse_visitbp: visit group before user
4188 assertion failed in dmu_tx_hold_free(): dn_datablkshift != 0

Matthew Thode (5):
Updating init scripts to have more robust grepping
pep8 code readability changes
Python 3 fixes
Fixes (extends) support for selinux xattrs to more inode types
Add full SELinux support

Maximilian Mehnert (1):
Add missing libzfs_core to Makefiles

Michael Kjorling (1):
cstyle: Resolve C style issues

Ned Bass (8):
Export symbols dsl_pool_config_{enter,exit}
Revert "Use directory xattrs for symlinks"
vdev_id: support per-channel slot mappings
vdev_file_io_start() to use taskq_dispatch(TQ_PUSHPAGE)
dmu_tx kstat cleanup
replace nreserved with ndirty in txgs kstat
Improve reporting of tx assignment wait times
Fix LZ4 endianness autodetection

Neil Stockbridge (1):
Update detach section of zpool(8)

Patrik Greco (1):
Fix error message in zpios

Prakash Surya (12):
Add visibility in to arc_read
Add script to fix file names in upstream patches
Adjust arc_p based on "bytes" in arc_shrink
Disable aggressive arc_p growth by default
Allow "arc_p" to drop to zero or grow to "arc_c"
Disable arc_p adapt dampener by default
Revert "Return -1 from arc_shrinker_func()"
Prune metadata from ghost lists in arc_adjust_meta
Remove "arc_meta_used" from arc_adjust calculation
Prioritize "metadata" in arc_get_data_buf
Split "data_size" into "meta" and "data"
Set "arc_meta_limit" to 3/4 arc_c_max by default

Ralf Ertzinger (4):
Introduce zpool_get_prop_literal interface
Add -p switch to "zpool get"
Add systemd unit files for ZFS startup
Add explicit Conflicts for zfs-fuse packages

Richard Yao (37):
Stop runtime pointer modifications in autotools checks
Update drive database
Fix libblkid support
Generate libraries with correct DT_NEEDED entries
Fix libzfs_core changes to follow GNU libtool guidelines
Linux 3.11 compat: Rename LZ4 symbols
Restructure zfs_readdir() to fix regressions
Reintroduce uio_prefaultpages()
Fix order of function calls in zio_free_sync()
Fix incorrect usage of strdup() in zfs_unmount_snap()
Add missing copyright notices from Illumos
Add missing code to zfs_debug.{c,h}
Drive database update
Properly ignore bdi_setup_and_register return value
Properly link zpool command to libblkid
Revert changes to zbookmark_t
Add erratum for issue #2094
Inform OpenRC that ZFS uses mtab
Invalidate Linux buffer cache on vdevs upon each flush
Free props in ztest_init()
Switch ztest mmap(2) ASSERTs to VERIFYs
Remove unused option -r from 'zpool import'
Assert alignment in umem_alloc_aligned
Implement -t option to zpool import for temporary pool names
Revert "Properly ignore bdi_setup_and_register return value"
Linux 3.13 compat: Handle __must_check bdi_setup_and_register
Fix deadlock in zfs_zget()
Fix locking order in zfs_zget()
Improve partition detection on lesser used devices
Refactor inode_owner_or_capable() autotools check
Implement File Attribute Support
Fix libblkid ZFS detection when making new pools
libspl: Implement LWP rwlock interface
ztest: Switch to LWP rwlock interface
Handle ZPOOL_STATUS_HOSTID_MISMATCH in zpool status
Fix memory leak in zpool_clear_label()
Remove superfluous statement

Saso Kiselkov (1):
Illumos #3995

Shen Yan (2):
Fix zstream_t incorrect type
Use enum type(zfetch_dirn_t) instead

Simon Guest (1):
Fix multipath bug in vdev_id caused by inconsistent field numbering

Steven Hartland (6):
Corrected "zfs list -t " syntax
Illumos #3740
Illumos #3818
Illumos #3909
Illumos #3973
Illumos #4322

Tim Chase (23):
Fix dmu_objset_find_dp() KM_SLEEP warning
Fix several new KM_SLEEP warnings
Allocate the ioctl "output" nvlist with KM_PUSHPAGE.
Add missing dsl pool configuration lock
Dedup-related documentation additions for zpool and zdb.
Document the dedupditto pool property.
Handle concurrent snapshot automounts failing due to EBUSY.
Fix rollback of mounted filesystem regression
Some nvlist allocations in hold processing need to use KM_PUSHPAGE.
Some nvlist allocations in hold processing need to use KM_PUSHPAGE.
Fix atime handling.
Properly handle updates of variably-sized SA entries.
Fix the creation of ZPOOL_HIST_CMD pool history entries.
Allow chown/chgrp when no ACL SAs exist.
Implement relatime.
Propagate errors when registering "relatime" property callback.
Fix zap_lookup() in feature_is_supported().
Use KM_PUSHPAGE in spa_add() for spa_label_features.
Report atime and relatime as the property's actual value.
Check the dataset type more rigorously when fetching properties.
Allow for lock-free reading zfsdev_state_list.
Calculate header size correctly in sa_find_sizes()
Expand the description of scan-related and other parameters.

Trey Dockendorf (1):
Change zfs-dkms requirement

Turbo Fredriksson (16):
Document ZFS module parameters.
Update init script to allow /dev/disk/by-id import
Update init script to allow verbose mounts
Add zfs_send_corrupt_data module option
Add UNSHARING of filesystems and EXPORTING pools
Fix NAME section of manpages zhack and fsck.zfs.
Support using overlay mounts in defaults/init script.
Allow specifying '-o ' in defaults/init script.
Move the libraries into separate packages
Accept kernel source dir(s) specified by ./configure
Only automatically mount a clone when 'canmount == on'.
Document the fact that ashift is vdev specific, not a pool global.
Man page updates for 'zfs share'
Document the -X and -T options to 'zpool import'
Set LANG to a reasonable default (C)
Accept udev and dracut paths specified by ./configure

Will Andrews (5):
Illumos #3741
Illumos #3742
Illumos #3743
Illumos #3744
Illumos #3745, #3811

Yuri Pankov (3):
Illumos #3517
Illumos #2583
Illumos #3120 zinject hangs in zfsdev_ioctl() due to uninitialized zc

cburroughs (1):
Include l2asize in arcstat

david.chen (1):
Remove MAX when initializing arc_c_max

ilovezfs (1):
Fill in mountpoint buffer before using it in errors

renelson (2):
Fix grammar in parse_options() error message
Handle acl flags from util-linux mount command

To unsubscribe from this group and stop receiving emails from it, send an email to zfs-discuss+unsubscribe@zfsonlinux.org.

Hozzászólások

Ez egy extrem nagy release lett, rengeteg, sot tul sok minden kerult bele. Az openzfsbe osszeolvadas most volt, ez is novelte a munka mennyiseget.

Az a mondas, hogy a kovetkezo joval kisebb es gyorsabb release lesz (kell is, mert pl. a kernel tamogatasban mar most le vannak maradva).

hol használod mekkora kötetekkel, milyen használtsággal?
Mert nézegetem hogy milyen rendszer kéne SUN X4540es vas alá, ahol 48db disked van. Jelenleg ugye solaris10 + ZFS. Ettől kéne szabadulni. Valószínűleg linux-ra. Érdekesebb az fs kérdése.

Fedora 20, Thinkpad x220

OFF: a puszta kíváncsiságomtól hajtva érdeklődhetnék, mi az oka annak, hogy "szabadulni kéne" a Solaris-tól? (felteszem, licenszköltség, de nem szükségképpen) Nem fogok vitát indítani, ígérem, tényleg csak a válaszra volnék kíváncsi.

------------------------
Program terminated
{0} ok boto
boto ?

lincence költség szerintem 0 jelenleg. A szabadulás oka rajta lévő régi samba 3.4.x + LDAP. Kéne helyette. samba 4.1.x, minimum. Ugye samba 4.1 minden ma linuxra elérhető, solarisra nem nagyon láttam, aztán annó a 3.4.x is alig akart lefordulni.

Fedora 20, Thinkpad x220

A 4.1-gyel nagyon vigyazzatok, nekunk a beepitett verziokkal rossz tapasztalataink vannak, a most legutolso Sambabol pedig nincs egyelore binaris egy disztrohoz sem. Ahol AD DC-kent hasznaljuk, oda mindig egy sajat forditasu pakkot teszunk fel, es par havonta frissitjuk. Mivel a legtobb helyen tuzfal mogott van es kifele nincs kiajanlva, igy ez egyelore kompromisszumos megoldaskent megfelel.

Nekem pl. az Ubuntu 12.04-es verzio olyat csinalt, hogy infinite loop-ban szinkronizalt, megevett minden memoriat, majd az oom-killer fejezte le be. Mindezt egy ot darab usert tartalmazo par megas adatbazison 3G RAM mellett sikerult neki eloadnia.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. 

Eleg vegyes. Van, ahol 128GB RAM es KVM (zvol-on) + LXC, javareszt java-s alkalmazasok. Van ahol dirvish alatt rengetegsok metadata-val. Ez utobbi 8-16GB RAM.
A 0.6.2 nagyon sok memoriat zabalt, elszallt sokszor, ahol nem kellett volna, de ezen ugy tunik, nagyon sokat javitottak. Mar jo ideje jobban megerte a HEAD-et hasznalni.

A levlistan volt olyan report (vmi egyeb problemat reportolva), aki arrol szamolt be, hogy 100TB+ meretu poolt hasznal.
Az en kezem kozott nincs ekkora, csak 5-10TB kozotti pool-ok.
Most van egyebkent egy szal a listan, ahol az epp tervezgetik, hogy egy rack-be mennyit tudnak bezsufolni, nem a ZOL a tema, nem azt tartjak szuk keresztmetszetnek (mondjuk az egyik fo fejleszto a thead inditoja:)

_Szamomra_ a legnagyobb (es 2014-ben szerintem egyben a legcikibb) limitacioja az SSD TRIM support hianya.

Tudja, viszont allitolag vmi szar megoldassal, aminek teljesitmenygondjai vannak. Igy vmi masik megoldast akarnak (ami meg sosem keszul el...).

> Mekkora most a kulonbseg a ketto kozott ?

Nehez ra valaszt adni. Osszessegeben az Illumos tekintheto a masternek es a tobbi (fbsd, zol, os x) abbol veszik at a dolgokat. Az fbsd-s elobbre jar talan, viszont pl. a zed elobb jelent meg, mint a zfsd a masikban.
Az openzfs.org-on van egy wiki, ott szerepel, hogy melyik feature meelyikben hol tart.

A cel az, hogy kozeledjenek egymashoz es vegeredmenyben lenyegeben egyutt fejlesszek oket.

Hat ezaz, kommersz ssd-vel lenne az igazi. Most epp Intel meg Samsung enterprise-nak mondott ssd-kel probalkozunk es egyelore biztato, de igazabol a lenyeg az lenne, hogy olcson kijojjon vegeredmenyben.

Nalunk pl. az alkalmazas adatot nem termel sokat, enterprise feature-okre nincs, szukseg, meg klasszikus HA sincs, az zfs freature-jei arra mutatnak, hogy minel alacsonyabb legyen a TCO.
Ha lenne a TRIM, az kommersz SSD-k is frankon illenenek a kepbe, de igy kilok a lolab.

Roviden nem VMWare es az egyeb gyartok hangzatos harombetus szavacskainak a kategoriajarol van szo. Mellekes, de meggyozodesem, hogy a vilag sem arra halad hosszu tavon).