54da3412 | 01-Nov-2016 |
Marcel Telka <marcel@telka.sk> |
7386 zfs get does not work properly with bookmarks (resync with the upstream fix) Reviewed by: Paul Dagnelie <pcd@delphix.com>
(cherry picked from commit c9ec3345fd6ed9dbd5b8dea65215c3b4300f2397) |
fcb756cb | 01-Nov-2016 |
Marcel Telka <telka@strato-rz.de> |
6911 nfs4: unexpected permission denied Reviewed by: Simon Klinkert <simon.klinkert@gmail.com>
refs #3191
(cherry picked from commit 4526c1a75b3bdab802592cc2c97e78323086bf0f) |
0cc242be | 14-Sep-2016 |
Saso Kiselkov <skiselkov@gmail.com> |
7341 Pool halt due to checksum error after reboot
(cherry picked from commit c11e68dd43dab03d2805d177ffb6e15e0bbe6d2e) |
639f4a28 | 24-Sep-2016 |
Marcel Telka <marcel@telka.sk> |
7386 zfs get does not work properly with bookmarks Reviewed by: Simon Klinkert <simon.klinkert@gmail.com>
refs #3150
(cherry picked from commit ac8a8f0508153d8a60f18cad43ee43f497040e29) |
50b5a621 | 28-Apr-2016 |
Simon Klinkert <klinkert@webgods.de> |
6785 nfs4_attr_cache deadlock
Avoid a deadlock with the r_serial thread waiting for os_sync_lock in nfs4_get_otw_cred_by_osp() which might be held by the nfs4close_otw thread. This thread would wait
6785 nfs4_attr_cache deadlock
Avoid a deadlock with the r_serial thread waiting for os_sync_lock in nfs4_get_otw_cred_by_osp() which might be held by the nfs4close_otw thread. This thread would wait in nfs4_attr_cache() for the completion of the r_serial thread.
(cherry picked from commit 409f86d7f0d8d6117290b1436ed629f37289521b)
show more ...
|
2c9ae81a | 09-Aug-2016 |
Marcel Telka <marcel@telka.sk> |
7282 nlm_host leaks by nlm_host_findcreate() callers leads to hang in nlm_svc_stopping()
refs #3127
(cherry picked from commit 6edd6cf68c8107d5f882d1ec72a7897c98551df2) |
4f23c764 | 08-Jul-2016 |
Arne Jansen <jansen@webgods.de> |
This commit fixes https://www.illumos.org/issues/6779.
Chronology of the events:
1. we have an empty directory 2. the filesystem is nearly out of quota 3. a snapshot prevents any space from being f
This commit fixes https://www.illumos.org/issues/6779.
Chronology of the events:
1. we have an empty directory 2. the filesystem is nearly out of quota 3. a snapshot prevents any space from being freed 4. a remote clients calls opendir via nfs4 5. the same client removes the directory 6. the client proceeds with readdir --> boom.
During 4, the client obtains a FH for the directory. During 5, the directory entry gets removed, the inode is added to the unlinked set and z_unlinked is set. Then the inode contents is deleted (dmu_free_long_range). Deletion of the inode itself fails because the fs ran out of space exactly at this moment. The inode is left in the unlinked set, the znode is freed. During 6, the readdir of the client instantiates a new znode for the (empty) inode, this time with z_unlinked unset. During zap read, the contents of the empty file is interpreted as a fatzap, which leads to the crash.
This patch addresses the problem twofold: 1. when instantiating a znode, set z_unlinked when z_links == 0 2. mark the deletion of the inode as netfree (in zfs_rmnode).
refs #3026
(cherry picked from commit 67738a4fd5331c5c62b9fead7a7739afa2476cf9)
show more ...
|
a7e4abc5 | 30-Jun-2016 |
Arne Jansen <jansen@webgods.de> |
ZFS: vdev_avoid_read
Avoid reading from a disk if possible. This can be used during resilver to avoid reading from a bad data disk, but leave it in the pool for redundancy. Configure via mdb: ::spa
ZFS: vdev_avoid_read
Avoid reading from a disk if possible. This can be used during resilver to avoid reading from a bad data disk, but leave it in the pool for redundancy. Configure via mdb: ::spa -v to find the vdev <vdev>::print -a vdev_avoid_read to get the address <addr>/v 1 to set the feature
refs #3106
(cherry picked from commit c3a1418d1a4c19d574cfbf275daf91a0d44b7340)
show more ...
|
aafe4b24 | 21-Jun-2016 |
Jan Schlien <janosch@webgods.de> |
7123 encode timestamps in rfs4_op_readdir()
(cherry picked from commit 475fcb605e349fbac0eb70f4b40c8f160639c3bb) |
677f6ec2 | 21-Jun-2016 |
Jan Schlien <illumos.874@jan-o-sch.net> |
7122 fix negative timestamps with nsec == 0 in nfs4_time_ntov()
(cherry picked from commit 2a4ec52039b1fcaa42a4b44e35441e71e2025836) |
79ab756a | 08-Jun-2016 |
Simon Klinkert <klinkert@webgods.de> |
zev: truncate offset fix
We range-lock the file now in zfs_freesp() until we've called the zev callback to get rid of problems with inconsistent checksums due to races between truncates.
(cherry pi
zev: truncate offset fix
We range-lock the file now in zfs_freesp() until we've called the zev callback to get rid of problems with inconsistent checksums due to races between truncates.
(cherry picked from commit cab5130f69652564b7b94593617eb27f02e7c3c0)
show more ...
|
3ed73216 | 02-Jun-2016 |
Arne Jansen <jansen@webgods.de> |
nfssrv: don't hold exported_lock during compound processing
Instead rely on exi_hold/exi_rele the same way nfs3 does.
refs #3075
(cherry picked from commit 53d2e830bb37407aaa57ae3402a3122492f5eaa6) |
fa803276 | 25-May-2016 |
Simon Klinkert <klinkert@webgods.de> |
6940 Cannot unlink directories when over quota Reviewed by: Dan McDonald <danmcd@omniti.com> Reviewed by: Matthew Ahrens <mahrens@delphix.com>
(cherry picked from commit ec54065811488ed8b43181486792
6940 Cannot unlink directories when over quota Reviewed by: Dan McDonald <danmcd@omniti.com> Reviewed by: Matthew Ahrens <mahrens@delphix.com>
(cherry picked from commit ec54065811488ed8b431814867928948fe109299)
show more ...
|
bf85a1c8 | 23-Jan-2016 |
Matthew Ahrens <mahrens@delphix.com> |
6450 scrub/resilver unnecessarily traverses snapshots created after the scrub started Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Prakash Surya <prakash.surya@delphix.com> Rev
6450 scrub/resilver unnecessarily traverses snapshots created after the scrub started Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Prakash Surya <prakash.surya@delphix.com> Reviewed by: Richard Elling <Richard.Elling@RichardElling.com> Approved by: Richard Lowe <richlowe@richlowe.net>
(cherry picked from commit 9bef04c90ae13a8576a6d3ed8b69c5823472a187)
show more ...
|
70164074 | 11-Oct-2015 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
6267 dn_bonus evicted too early Reviewed by: Richard Yao <ryao@gentoo.org> Reviewed by: Xin LI <delphij@freebsd.org> Reviewed by: Matthew Ahrens <mahrens@delphix.com> Approved by: Richard Lowe <richl
6267 dn_bonus evicted too early Reviewed by: Richard Yao <ryao@gentoo.org> Reviewed by: Xin LI <delphij@freebsd.org> Reviewed by: Matthew Ahrens <mahrens@delphix.com> Approved by: Richard Lowe <richlowe@richlowe.net>
(cherry picked from commit 1666a561bcf7351b8aa2b813412d0e84137a21b0)
show more ...
|
ee88b7a2 | 22-Oct-2015 |
Paul Dagnelie <pcd@delphix.com> |
6370 ZFS send fails to transmit some holes Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Chris Williamson <chris.williamson@delphix.com>
In certain circumstances, "zfs send -i" (inc
6370 ZFS send fails to transmit some holes Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Chris Williamson <chris.williamson@delphix.com>
In certain circumstances, "zfs send -i" (incremental send) can produce a stream which will result in incorrect sparse file contents on the target.
The problem manifests as regions of the received file that should be sparse (and read a zero-filled) actually contain data from a file that was deleted (and which happened to share this file's object ID).
Note: this can happen only with filesystems (not zvols, because they do not free (and thus can not reuse) object IDs).
Note: This can happen only if, since the incremental source (FromSnap), a file was deleted and then another file was created, and the new file is sparse (i.e. has areas that were never written to and should be implicitly zero-filled).
We suspect that this was introduced by 4370 (applies only if hole_birth feature is enabled), and made worse by 5243 (applies if hole_birth feature is disabled, and we never send any holes).
The bug is caused by the hole birth feature. When an object is deleted and replaced, all the holes in the object have birth time zero. However, zfs send cannot tell that the holes are new since the file was replaced, so it doesn't send them in an incremental. As a result, you can end up with invalid data when you receive incremental send streams. As a short-term fix, we can always send holes with birth time 0 (unless it's a zvol or a dataset where we can guarantee that no objects have been reused).
Conflicts:
usr/src/test/zfs-tests/tests/functional/cli_root/zfs_receive/zfs_receive_010_pos.ksh
(cherry picked from commit b69b4dd002eeedb732d8b47b06637354a47a49e2)
show more ...
|
6d08434e | 03-Dec-2015 |
Simon Klinkert <klinkert@webgods.de> |
zev: fix wrong return code in zev_get_checksums
Return EIO if offset > znode size instead of 0 (success)
(cherry picked from commit de5d7d2ae3b023a958df7ca3bb8d40aa9638fb30) |
a7dcf41b | 03-Dec-2015 |
Simon Klinkert <klinkert@webgods.de> |
zev: fix double free in zev_get_checksums()
this fix is related to https://redmine.ob1.de/issues/2920
(cherry picked from commit aafcdfa4fe23b427b0efcbfe7b1950c80ac40251) |
41aa6ebd | 23-Nov-2015 |
Simon Klinkert <klinkert@webgods.de> |
further lint fixes
(cherry picked from commit 4ab1323af43e16c3c75773a928cdb4b8a38b6621) |
8f9b66cc | 14-Oct-2015 |
Simon Klinkert <klinkert@webgods.de> |
zfs_remove: Always mark transactions as resulting in a net free of space
Otherwise we are not able to remove files when we are over quota due to an EDQUOT from dsl_dir_tempreserve_impl().
(cherry p
zfs_remove: Always mark transactions as resulting in a net free of space
Otherwise we are not able to remove files when we are over quota due to an EDQUOT from dsl_dir_tempreserve_impl().
(cherry picked from commit da84684dce7fe256d1b303e0b162dea06bb2e095)
show more ...
|
c1a50c7e | 10-Oct-2015 |
Matthew Ahrens <mahrens@delphix.com> |
2605 want to resume interrupted zfs send Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Paul Dagnelie <pcd@delphix.com> Reviewed by: Richard Elling <Richard.Elling@RichardElling.
2605 want to resume interrupted zfs send Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Paul Dagnelie <pcd@delphix.com> Reviewed by: Richard Elling <Richard.Elling@RichardElling.com> Reviewed by: Xin Li <delphij@freebsd.org> Reviewed by: Arne Jansen <sensille@gmx.net> Approved by: Dan McDonald <danmcd@omniti.com>
Conflicts:
usr/src/uts/common/fs/zfs/dsl_dataset.c usr/src/uts/common/fs/zfs/sys/dsl_dataset.h
(cherry picked from commit 8429b235e022b012502c97582d69adb8e872431c)
show more ...
|
f22efbda | 24-Jul-2015 |
Matthew Ahrens <mahrens@delphix.com> |
5959 clean up per-dataset feature count code Reviewed by: Toomas Soome <tsoome@me.com> Reviewed by: George Wilson <george@delphix.com> Reviewed by: Alex Reece <alex@delphix.com> Approved by: Richard
5959 clean up per-dataset feature count code Reviewed by: Toomas Soome <tsoome@me.com> Reviewed by: George Wilson <george@delphix.com> Reviewed by: Alex Reece <alex@delphix.com> Approved by: Richard Lowe <richlowe@richlowe.net>
(cherry picked from commit 0cc589a40c7beae65d7d87a40abdb817110df896)
show more ...
|
0f63d047 | 13-Oct-2015 |
Simon Klinkert <klinkert@webgods.de> |
6314 buffer overflow in dsl_dataset_name
Avoid memory corruptions
(cherry picked from commit 7995736062993a4154a97034093cf22d82cc4990) |
8a7df9a2 | 12-Oct-2015 |
Simon Klinkert <klinkert@webgods.de> |
nfs4: cannot delete files when filesystem is full
rfs4_op_remove should close file descriptors before calling VOP_REMOVE. Otherwise ZFS won't be able to delete files when we're over quota because v_
nfs4: cannot delete files when filesystem is full
rfs4_op_remove should close file descriptors before calling VOP_REMOVE. Otherwise ZFS won't be able to delete files when we're over quota because v_count > 1 in function zfs_remove().
(cherry picked from commit ab87159a4e7946f0e97eb17590db1cb88d7da9bd)
show more ...
|
e071a233 | 28-Sep-2015 |
Arne Jansen <jansen@webgods.de> |
arcwatch implementation
Initial implementation. Adds a new zfs-ioctl ARC_INFO to dump all headers currently in arc. Adds a utility 'arcwatch' to dump the arc and to trace a command to see which buff
arcwatch implementation
Initial implementation. Adds a new zfs-ioctl ARC_INFO to dump all headers currently in arc. Adds a utility 'arcwatch' to dump the arc and to trace a command to see which buffers it needs.
(cherry picked from commit a8c92b49f4e8de856d9e4775e15e4fa90a687664)
show more ...
|