1 %define module @PACKAGE@
4 %if 0%{?rhel}%{?fedora}
5 %define ksrc $
{kernel_version
##*___}
8 if [ -e "
/usr
/src
/linux
-$
{kernel_version%
%___*}"
]; then \
9 echo "
/usr
/src
/linux
-$
{kernel_version%
%___*}"
; \
10 elif [ -e "
/lib
/modules
/$
{kernel_version%
%___*}/source"
]; then \
11 echo "
/lib
/modules
/$
{kernel_version%
%___*}/source"
; \
13 echo "
/lib
/modules
/$
{kernel_version%
%___*}/build"
; \
19 %if 0%{?rhel}%{?fedora}
20 %define kobj $
{kernel_version
##*___}
23 if [ -e "
/usr
/src
/linux
-$
{kernel_version%
%___*}"
]; then \
24 echo "
/usr
/src
/linux
-$
{kernel_version%
%___*}"
; \
26 echo "
/lib
/modules
/$
{kernel_version%
%___*}/build"
; \
31 #define repo rpmfusion
34 # (un)define the next line to either build for the newest or all current kernels
35 %define buildforkernels newest
36 #define buildforkernels current
37 #define buildforkernels akmod
40 %bcond_with debug_dmu_tx
46 Release: @RELEASE@
%{?dist}
47 Summary: Kernel module
(s
)
49 Group: System Environment
/Kernel
50 License: @ZFS_META_LICENSE@
51 URL: http
://zfsonlinux.org
/
52 Source0: %{module}-%{version}.tar.gz
54 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id} -u
-n
)
56 # The developments headers will conflict with the dkms packages.
57 Conflicts: %{module}-dkms
61 # Building for a repository use the proper build-sysbuild package
62 # to determine which kernel-devel packages should be installed.
63 BuildRequires
: %{_bindir}/kmodtool
64 %{!?kernels:BuildRequires: buildsys-build-%{repo}-kerneldevpkgs-%{?buildforkernels:%{buildforkernels}}%{!?buildforkernels:current}-%{_target_cpu}}
68 # Building local packages attempt to to use the installed kernel.
69 %{?rhel:BuildRequires: kernel-devel}
70 %{?fedora:BuildRequires: kernel-devel}
71 %{?suse_version:BuildRequires: kernel-source}
73 %if !%{defined kernels} && !%{defined build_src_rpm}
74 %if 0%{?rhel}%{?fedora}%{?suse_version}
75 %define kernels %
(ls
-1 /usr
/src
/kernels
)
77 %define kernels %
(ls
-1 /lib
/modules
)
82 %if 0%{?rhel}%{?fedora}%{?suse_version}
83 BuildRequires
: kmod
-spl
-devel
= %{version}
84 %global KmodsRequires kmod
-spl
85 %global KmodsDevelRequires kmod
-spl
-devel
86 %global KmodsMetaRequires spl
-kmod
93 # Kmodtool does its magic here. A patched version of kmodtool is shipped
94 # with the source rpm until kmod development packages are supported upstream.
95 # https://bugzilla.rpmfusion.org/show_bug.cgi?id=2714
96 %{expand:%(bash %{SOURCE10} --target %{_target_cpu} %{?repo:--repo %{?repo}} --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} --devel %{?prefix:--prefix "%{?prefix}"} %{?kernels:--for-kernels "%{?kernels}"} %{?kernelbuildroot:--buildroot "%{?kernelbuildroot}"} 2>/dev/null) }
100 This package contains the ZFS kernel modules.
103 # Error out if there was something wrong with kmodtool.
106 # Print kmodtool output for debugging purposes:
107 bash
%{SOURCE10} --target %{_target_cpu} %{?repo:--repo %{?repo}} --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} --devel %{?prefix:--prefix "%{?prefix}"} %{?kernels:--for-kernels "%{?kernels}"} %{?kernelbuildroot:--buildroot "%{?kernelbuildroot}"} 2>/dev
/null
110 %define debug
--enable-debug
112 %define debug
--disable
-debug
115 %if %{with debug_dmu_tx}
116 %define debug_dmu_tx
--enable-debug
-dmu
-tx
118 %define debug_dmu_tx
--disable
-debug
-dmu
-tx
122 # Allow the overriding of spl locations
124 %if %{defined require_splver}
125 %define splver
%{require_splver}
127 %define splver
%{version}
130 %if %{defined require_spldir}
131 %define spldir
%{require_spldir}
133 %define spldir
%{_usrsrc}/spl-%{splver}
136 %if %{defined require_splobj}
137 %define splobj
%{require_splobj}
139 %define splobj
%{spldir}/${kernel_version%%___*}
143 # Leverage VPATH from configure to avoid making multiple copies.
144 %define _configure ..
/%{module}-%{version}/configure
148 for kernel_version
in %{?kernel_versions}; do
149 %{__mkdir} _kmod_build_${kernel_version%%___*}
153 for kernel_version
in %{?kernel_versions}; do
154 cd _kmod_build_$
{kernel_version%
%___*}
156 --with
-config
=kernel \
157 --with
-linux
=%{ksrc} \
158 --with
-linux
-obj
=%{kobj} \
159 --with
-spl
="
%{spldir}" \
160 --with
-spl
-obj
="
%{splobj}" \
169 rm -rf $
{RPM_BUILD_ROOT
}
171 # Relies on the kernel 'modules_install' make target.
172 for kernel_version
in %{?kernel_versions}; do
173 cd _kmod_build_$
{kernel_version%
%___*}
175 DESTDIR
=$
{RPM_BUILD_ROOT
} \
176 %{?prefix:INSTALL_MOD_PATH=%{?prefix}} \
177 INSTALL_MOD_DIR
=%{kmodinstdir_postfix}
180 # find-debuginfo.sh only considers executables
181 chmod u
+x $
{RPM_BUILD_ROOT
}%{kmodinstdir_prefix}/*/extra
/*/*/*
186 rm -rf $RPM_BUILD_ROOT
189 * Fri Feb
3 2017 Brian Behlendorf
<behlendorf1@llnl.gov
> - 0.6.5.9-1
190 - Use large stacks when available zfsonlinux
/zfs
#4059
191 - Use set_cached_acl
() and forget_cached_acl
() when possible zfsonlinux
/zfs
#5378
192 - Fix batch free zpl_posix_acl_release zfsonlinux
/zfs
#5340 zfsonlinux/zfs#5353
193 - Fix zfsctl_snapshot_
{,un
}mount
() issues zfsonlinux
/zfs
#5250
194 - Fix systemd services configutation through preset file zfsonlinux
/zfs
#5356
195 - Fix RLIMIT_FSIZE enforcement zfsonlinux
/zfs
#5587 zfsonlinux/zfs#5673 zfsonlinux/zfs#5720 zfsonlinux/zfs#5726
196 - Fix leak on zfs_sb_create
() failure zfsonlinux
/zfs
#5490 zfsonlinux/zfs#5496
197 - Fix zpl_fallocate_common
() creak leak zfsonlinux
/zfs
#5244 zfsonlinux/zfs#5330
198 - Fix fchange
in zpl_ioctl_setflags
() zfsonlinux
/zfs
#5486
199 - Fix wrong operator
in xvattr.h zfsonlinux
/zfs
#5486
200 - Fix counting '@'
in dataset namelen zfsonlinux
/zfs
#5432 zfsonlinux/zfs#5456
201 - Fix dmu_object_size_from_db
() call under spinlock zfsonlinux
/zfs
#3858
202 - Fix lookup_bdev
() on Ubuntu zfsonlinux
/zfs
#5336
203 - Fix receiving custom snapshot properties zfsonlinux
/zfs
#5189
204 - Fix bio merging w
/noop scheduler zfsonlinux
/zfs
#5181
205 - Fix sync behavior
for disk vdevs zfsonlinux
/zfs
#4858
206 - Fix uninitialized variable
in avl_add
() zfsonlinux
/zfs
#3609
207 - Fix tq_lock contention by making write taskq non
-dynamic zfsonlinux
/zfs
#5236
208 - Fix atime handling
(relatime
, lazytime
) zfsonlinux
/zfs
#4482
209 - Linux
4.10 compat
: BIO flag changes zfsonlinux
/zfs
#5499
210 - Linux
4.9 compat
: inode_change_ok
() renamed setattr_prepare
() zfsonlinux
/zfs
#5307
211 - Linux
4.9 compat
: remove iops
->{set,get
,remove
}xattr zfsonlinux
/zfs
#5307
212 - Linux
4.9 compat
: iops
->rename
() wants flags zfsonlinux
/zfs
#5307
213 - Linux
4.9 compat
: file_operations
->aio_fsync removal zfsonlinux
/zfs
#5393
214 - Linux
4.9 compat
: Remove dir inode operations from zpl_inode_operations zfsonlinux
/zfs
#5307
215 - Linux
4.7 compat
: Fix deadlock during lookup on
case-insensitive zfsonlinux
/zfs
#5124 zfsonlinux/zfs#5141 zfsonlinux/zfs#5147 zfsonlinux/zfs#5148
216 - Linux
3.14 compat
: assign inode
->set_acl zfsonlinux
/zfs
#5371 zfsonlinux/zfs#5375
217 - Linux
2.6.32 compat
: Reorder HAVE_BIO_RW_
* checks zfsonlinux
/zfs
#4951 zfsonlinux/zfs#4959
218 - Remove dead root pool import code zfsonlinux
/zfs
#4951
219 * Fri Sep
9 2016 Ned Bass
<bass6@llnl.gov
> - 0.6.5.8-1
220 - Linux
4.6, 4.7 and
4.8 compatibility zfsonlinux
/spl
#549 zfsonlinux/spl#563 zfsonlinux/spl#565 zfsonlinux/spl#566 zfsonlinux/zfs#4664 zfsonlinux/zfs#4665 zfsonlinux/zfs#4717 zfsonlinux/zfs#4726 zfsonlinux/zfs#4892 zfsonlinux/zfs#4899 zfsonlinux/zfs#4922 zfsonlinux/zfs#4944 zfsonlinux/zfs#4946 zfsonlinux/zfs#4951
221 - Fix new tunable to ignore hole_birth
, enabled by default zfsonlinux
/zfs
#4833
222 - Fix rw_tryupgrade
() semantics zfsonlinux
/spl
#534 zfsonlinux/spl#554
223 - Fix taskq_wait_outstanding
() re
-evaluation issue zfsonlinux
/spl
#553
224 - Fix race between taskq_destroy and new spawning thread zfsonlinux
/spl
#550 zfsonlinux/spl#553
225 - Fix handle NULL
case in spl_kmem_free_track
() zfsonlinux
/spl
#567
226 - Fix persist vdev_resilver_txg changes zfsonlinux
/zfs
#4790
227 - Fix array bounds
read in zprop_print_one_property
() zfsonlinux
/zfs
#5003
228 - Fix call zfs_get_name
() with invalid parameter zfsonlinux
/zfs
#4919
229 - Fix incorrect pool state after import zfsonlinux
/zfs
#4948
230 - Fix self
-healing IO prior to dsl_pool_init
() completion zfsonlinux
/zfs
#4652
231 - Fix stack corruption after importing a pool with a too
-long name zfsonlinux
/zfs@dc4abb4
232 - Fix deeply nested nvlist can overflow stack zfsonlinux
/zfs
#4924
233 - Fix dbuf_stats_hash_table_data race zfsonlinux
/zfs
#4846
234 - Fix NULL dereference when accessing dbuf kstat zfsonlinux
/zfs
#4837
235 - Fix NFS fh_to_dentry
() should
return ESTALE when generation mismatch zfsonlinux
/zfs
#4828
236 - Fix allowing accessing XATTR via
export handle zfsonlinux
/zfs
#4828
237 - Fix out
-of
-bound access
in zfs_fillpage
() zfsonlinux
/zfs
#4705 zfsonlinux/zfs#4708
238 - Fix memleak
in zpl_parse_options zfsonlinux
/zfs
#4706 zfsonlinux/zfs#4708
239 - Fix arc_prune_task use
-after
-free zfsonlinux
/zfs
#4687 zfsonlinux/zfs#4690
240 - Fix get_zfs_sb
() race with concurrent umount zfsonlinux
/zfs@
5cff9a0
241 - Fix xattr parent inode pinning zfsonlinux
/zfs
#4359 zfsonlinux/zfs#3508 zfsonlinux/zfs#4413 zfsonlinux/zfs#4827
242 - Fix xattr purge during iput zfsonlinux
/zfs
#4359 zfsonlinux/zfs#3508 zfsonlinux/zfs#4413 zfsonlinux/zfs#4827
243 - Fix metaslab_free_dva
(): bad DVA X
:Y
:Z zfsonlinux
/zfs
#3937
244 - Fix large kmem_alloc
in vdev_metaslab_init zfsonlinux
/zfs
#4752
245 - Fix snapdir by skipping ctldir znode
in zfs_rezget zfsonlinux
/zfs
#4514 zfsonlinux/zfs#4661 zfsonlinux/zfs#4672
246 - Fix libshare performance issue zfsonlinux
/zfs
#4119
247 - Fix ztest truncated cache file zfsonlinux
/zfs
#4129
248 - Fix obeying arc_meta_limit default size when changing arc_max zfsonlinux
/zfs
#4001
249 - Fix bug
in fix_paths
() zfsonlinux
/zfs
#4632
250 - Fix systemd configuration zfsonlinux
/zfs
#4325 zfsonlinux/zfs#4496 zfsonlinux/zfs#4658 zfsonlinux/zfs#4699
251 - Fix use kernel provided mutex owner zfsonlinux
/spl
#540
252 - Fix rename 'zed.service' to 'zfs
-zed.service' zfsonlinux
/zfs
#3837
253 - Add support
for MIPS zfsonlinux
/spl
#558
254 - Add nfs
-kernel
-server
for Debian zfsonlinux
/zfs
#4350
255 - Remove HAVE_CURRENT_UMASK and HAVE_POSIX_ACL_CACHING zfsonlinux
/zfs
#4922
256 - Remove dummy znode from zvol_state zfsonlinux
/zfs
#4510
257 - Fix gcc
-Warray
-bounds check
for dump_object
() in zdb zfsonlinux
/zfs
#4907
258 - Handle block pointers with a corrupt logical size zfsonlinux
/zfs
#4069 zfsonlinux/zfs#4080
259 * Thu May
12 2016 Ned Bass
<bass6@llnl.gov
> - 0.6.5.7-1
260 - Fix user namespaces uid
/gid mapping zfsonlinux
/zfs
#4177
261 - Fix ZPL miswrite of default POSIX ACL zfsonlinux
/zfs
#4520
262 - Linux
4.5 and
4.6 compatibility zfsonlinux
/zfs
#4537 zfsonlinux/zfs#4489
263 - Ensure
/dev
/disk
/by
-partlabel gets correctly populated zfsonlinux
/zfs
#4517
264 - Utilities now work reliably with newly created partitions zfsonlinux
/zfs
#3708
265 - Import now reliably uses device names stored
in label zfsonlinux
/zfs
#3043
266 - Fix possible deadlock
in zfs_secpolicy_write_perms ioctl zfsonlinux
/zfs
#4554
267 - Fix inverted logic on none elevator comparison zfsonlinux
/zfs
#4507
268 - Add
32 bit FS_IOC32_
{GET|SET
}FLAGS compat ioctls
for PPC zfsonlinux
/zfs
#4477
269 * Tue Mar
22 2016 Ned Bass
<bass6@llnl.gov
> - 0.6.5.6-1
270 - Remove artificial architecture restrictions
in packaging
271 - Add support
for s390
[x
] zfsonlinux
/zfs
#4425
272 - Handle negative dentries
in case insensitive filesystem zfsonlinux
/zfs
#4243
273 - Fix casesensitivity
=insensitive deadlock zfsonlinux
/zfs
#4136
274 - Correctly parse zdb
-R flag arguments zfsonlinux
/zfs
#4304
275 - Fix lock order inversion with zvol_open
() zfsonlinux
/zfs
#3681
276 - Add support
for asynchronous zvol minor operations zfsonlinux
/zfs
#2217
277 - Make zvol minor functionality more robust zfsonlinux
/zfs
#4344
278 - Prevent zpool_find_vdev
() from truncating vdev path zfsonlinux
/zfs
#4312
279 - Add
-gLP to zpool subcommands
for alt vdev names zfsonlinux
/zfs
#4341
280 - Fix zpool list
-v output
for spares and log devices zfsonlinux
/zfs
#4313
281 * Wed Mar
9 2016 Ned Bass
<bass6@llnl.gov
> - 0.6.5.5-1
282 - Linux
4.5 compatibility zfsonlinux
/zfs
#4228
283 - Create working debuginfo packages on Red Hat zfsonlinux
/zfs
#4224
284 - Make arc_summary.py and dbufstat.py compatible with python3
285 - musl libc compatibility
for option parsing zfsonlinux
/zfs
#4222
286 - Prevent arc_c collapse and possible panic zfsonlinux
/zfs
#3904
287 - Prevent duplicated xattr between SA and dir zfsonlinux
/zfs
#4153
288 - Fix zsb
->z_hold_mtx deadlock zfsonlinux
/zfs
#4106
289 - Prevent SA header corruption zfsonlinux
/zfs
#4150
290 * Fri Jan
8 2016 Ned Bass
<bass6@llnl.gov
> - 0.6.5.4-1
292 - Assorted stability fixes
293 - Fixes
for NFS
-exported snapshots
294 - Fix kernel warning
in unlock_new_inode
() and deadlock
295 - Fix overflow
in P2ROUNDUP_TYPED macro
296 - Fix write performance issue due to bad zfs_dirty_data_max calculation
297 - Fix
builtin kernel builds
298 - Fix deadlock during direct memory reclaim
299 * Tue Oct
13 2015 Ned Bass
<bass6@llnl.gov
> - 0.6.5.3-1
300 - Don't import all visible pools
in zfs
-import init script zfsonlinux
/zfs
#3777
301 - Fix use
-after
-free
in vdev_disk_physio_completion zfsonlinux
/zfs
#3920
302 - Fix avl_is_empty
(&dn
->dn_dbufs
) assertion zfsonlinux
/zfs
#3865
303 * Wed Sep
30 2015 Ned Bass
<bass6@llnl.gov
> - 0.6.5.2-1
304 - Init script fixes zfsonlinux
/zfs
#3816
305 - Fix uioskip crash when skip to end zfsonlinux
/zfs
#3806 zfsonlinux/zfs#3850
306 - Userspace can trigger an assertion zfsonlinux
/zfs
#3792
307 - Fix quota userused underflow bug zfsonlinux
/zfs
#3789
308 - Fix performance regression from unwanted synchronous I
/O zfsonlinux
/zfs
#3780
309 - Fix deadlock during ARC reclaim zfsonlinux
/zfs
#3808 zfsonlinux/zfs#3834
310 - Fix deadlock with zfs receive and clamscan zfsonlinux
/zfs
#3719
311 - Allow NFS activity to defer snapshot unmounts zfsonlinux
/zfs
#3794
312 - Linux
4.3 compatibility zfsonlinux
/zfs
#3799
313 - Zed reload fixes zfsonlinux
/zfs
#3773
314 - Fix PAX
Patch/Grsec SLAB_USERCOPY panic zfsonlinux
/zfs
#3796
315 - Always remove during dkms uninstall
/update zfsonlinux
/spl
#476
316 * Sat Sep
19 2015 Ned Bass
<bass6@llnl.gov
> - 0.6.5.1-1
317 - Fix zvol corruption with TRIM
/discard zfsonlinux
/zfs
#3798
318 - Fix NULL as mount
(2) syscall data parameter zfsonlinux
/zfs
#3804
319 - Fix xattr
=sa dataset property not honored zfsonlinux
/zfs
#3787
320 * Fri Sep
11 2015 Brian Behlendorf
<behlendorf1@llnl.gov
> - 0.6.5-1
321 - Released
0.6.5-1, detailed release notes are available at
:
322 - https
://github.com
/zfsonlinux
/zfs
/releases
/tag
/zfs
-0.6.5
323 * Wed Apr
8 2015 Brian Behlendorf
<behlendorf1@llnl.gov
> - 0.6.4-1
325 * Thu Jun
12 2014 Brian Behlendorf
<behlendorf1@llnl.gov
> - 0.6.3-1
327 * Wed Aug
21 2013 Brian Behlendorf
<behlendorf1@llnl.gov
> - 0.6.2-1
329 * Fri Mar
22 2013 Brian Behlendorf
<behlendorf1@llnl.gov
> - 0.6.1-1
330 - First official stable release.