#
297102 |
|
20-Mar-2016 |
mav |
MFC r294815: MFV r294814: 6393 zfs receive a full send as a clone
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Prakash Surya <prakash.surya@delphix.com> Reviewed by: Richard Elling <Richard.Elling@RichardElling.com> Approved by: Dan McDonald <danmcd@omniti.com> Author: Paul Dagnelie <pcd@delphix.com>
illumos/illumos-gate@68ecb2ec930c4b0f00acaf8e0abb2b19c4b8b76f
This allows to do a full (non-incremental send) and receive it as a clone of an existing dataset. It can leverage nopwrite to share blocks with the origin. This can be used to change the relationship of datasets on the target. For example, maybe on the source you have:
A ---- B ---- C
And you have sent to the target a full of B, and the incremental B->C:
B ---- C
You later realize that you want to have A on the target. You will have to do a full send of A, but nopwrite can save you space on the target if you receive it as a clone of B, assuming that A and B have some blocks inxi common:
B ---- C \ A
|
#
291196 |
|
23-Nov-2015 |
smh |
MFC r291071:
Fix zfs(8) set options
Sponsored by: Multiplay
|
#
290758 |
|
13-Nov-2015 |
mav |
MFC r289497: 5745 zfs set allows only one dataset property to be set at a time
Reviewed by: Christopher Siden <christopher.siden@delphix.com> Reviewed by: George Wilson <george@delphix.com> Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Bayard Bell <buffer.g.overflow@gmail.com> Reviewed by: Richard PALO <richard@NetBSD.org> Reviewed by: Steven Hartland <killing@multiplay.co.uk> Approved by: Rich Lowe <richlowe@richlowe.net> Author: Chris Williamson <chris.williamson@delphix.com>
illumos/illumos-gate@30925561c223021e91d15899cbe75f80e54d8889
|
#
290756 |
|
13-Nov-2015 |
mav |
MFC r289362, r289445: 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> Author: Matthew Ahrens <mahrens@delphix.com>
illumos/illumos-gate@9c3fd1216fa7fb02cfbc78a2518a686d54b48ab8
For more info, see: - slides http://www.slideshare.net/MatthewAhrens/openzfs-send-and-receive - video https://www.youtube.com/watch?v=iY44jPMvxog - manpage changes (for zfs resume -s and zfs send -t) - upcoming talk at the OpenZFS Developer Summit
The TL;DR is: Use "zfs receive -s" to save the partially received state on failure. On failure, get the receive token with "zfs get receive_resume_token <fs>" Resume the send with "zfs send -t <token_value>"
Relnotes: yes
|
#
290755 |
|
13-Nov-2015 |
mav |
MFC r289313: 5764 "zfs send -nv" directs output to stderr
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Paul Dagnelie <paul.dagnelie@delphix.com> Reviewed by: Basil Crow <basil.crow@delphix.com> Reviewed by: Steven Hartland <killing@multiplay.co.uk> Reviewed by: Bayard Bell <buffer.g.overflow@gmail.com> Approved by: Dan McDonald <danmcd@omniti.com> Author: Manoj Joseph <manoj.joseph@delphix.com>
illumos/illumos-gate@dc5f28a3c341db7c241bba77ddc109c141072f27
|
#
288571 |
|
03-Oct-2015 |
mav |
MFC r286705: 5960 zfs recv should prefetch indirect blocks 5925 zfs receive -o origin=
Reviewed by: Prakash Surya <prakash.surya@delphix.com> Reviewed by: Matthew Ahrens <mahrens@delphix.com> Author: Paul Dagnelie <pcd@delphix.com>
While running 'zfs recv' we noticed that every 128th 8K block required a read. We were seeing that restore_write() was calling dmu_tx_hold_write() and the indirect block was not cached. We should prefetch upcoming indirect blocks to avoid having to go to disk and blocking the restore_write().
Allow an incremental send stream to be received as a clone, even if the stream does not mark it as a clone.
|
#
288542 |
|
03-Oct-2015 |
mav |
MFC r286547: 5661 ZFS: "compression = on" should use lz4 if feature is enabled
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net> Reviewed by: Xin LI <delphij@freebsd.org> Approved by: Robert Mustacchi <rm@joyent.com> Author: Justin T. Gibbs <justing@spectralogic.com>
illumos/illumos-gate@db1741f555ec79def5e9846e6bfd132248514ffe
|
#
288346 |
|
28-Sep-2015 |
delphij |
MFC r287770: MFV r277429:
Document -S option when zfs inherit fails on quota and in manual pages.
Illumos ZFS issues:
5410 Document -S option to zfs inherit https://illumos.org/issues/5410
5412 Mention -S option when zfs inherit fails on quota https://illumos.org/issues/5412
illumos/illumos-gate@5ff8cfa92ec8ea0f8593ad21aa2a04829b0ef5ea
|
#
286235 |
|
03-Aug-2015 |
gjb |
MFC r286092: Fix a rendering issue in the zfs(8) manual.
Sponsored by: The FreeBSD Foundation
|
#
277580 |
|
23-Jan-2015 |
delphij |
MFC r275739: MFV r275547:
Port Illumos 'zfs allow' examples update. While I'm there also fix a typo.
Illumos issue: 4181 zfs(1m): 'zfs allow' examples in the man page are outdated
|
#
277578 |
|
23-Jan-2015 |
delphij |
MFC r274418 (gjb):
Fix an mdoc(7) macro that is not an option in the provided description.
Bump Dd.
As CDDL License dictates, update the Copyright accordingly.
Sponsored by: The FreeBSD Foundation
|
#
276081 |
|
22-Dec-2014 |
delphij |
MFC r274337,r274673,274681,r275515:
ZFS large block support. The default recordsize remains at 128KB.
A new tunable/sysctl variable, vfs.zfs.max_recordsize is added to allow adjusting the permitted maximum record size, or zfs_max_recordsize, with a default of 1MB. ZFS will not allow setting recordsize greater than zfs_max_recordsize as a safety belt, because larger recordsize means greater read and write latency and more memory usage.
Please note that booting from datasets that have recordsize greater than 128KB is not supported (but it's Okay to enable the feature on the pool).
Limited safety belt is provided for mounted root filesystem but use caution when using a larger value.
Illumos issue: 5027 zfs large block support
|
#
272690 |
|
07-Oct-2014 |
avg |
MFC r261893: zfs.8: fix garbled options in a sample zfs send -R command line
|
#
268649 |
|
15-Jul-2014 |
delphij |
MFC r268075: MFV r267565:
4757 ZFS embedded-data block pointers ("zero block compression") 4913 zfs release should not be subject to space checks
|
#
268647 |
|
15-Jul-2014 |
delphij |
MFC r266771: MFV r266766:
Add a new zfs property, "redundant_metadata" which can have values "all" or "most". The default will be "all", which is the current behavior. When set to all, ZFS stores an extra copy of all metadata. If a single on-disk block is corrupt, at worst a single block of user data (which is recordsize bytes long) can be lost.
Setting to "most" will cause us to only store 1 copy of level-1 indirect blocks of user data files. This can improve performance of random writes, because less metadata has to be written. In practice, at worst about 100 blocks (of recordsize bytes each) of user data can be lost if a single on-disk block is corrupt.
The exact behavior of which metadata blocks are stored redundantly may change in future releases.
Illumos issue: 3835 zfs need not store 2 copies of all metadata
|
#
265744 |
|
09-May-2014 |
delphij |
MFC r264835 (MFV r264829):
3897 zfs filesystem and snapshot limits
|
#
265678 |
|
08-May-2014 |
mav |
MFC r264145: Add property and sysctl to control how ZVOLs are exposed to OS.
New ZFS property volmode and sysctl vfs.zfs.vol.mode allow switching ZVOL between three modes: geom -- existing fully functional behavior (default); dev -- exposing volumes only as raw disk device file in devfs; none -- not exposing volumes outside ZFS.
The "dev" mode is less functional (can't be partitioned, mounted, etc), but it is faster, and in some scenarios with untrusted consumers safer. It can be useful for NAS, VM block storages, etc. The "none" mode may be convenient for backup servers, etc. that don't need direct data access.
Due to the way ZVOL is integrated with main ZFS code, those property and sysctl are checked only during pool import and volume creation.
|
#
264334 |
|
10-Apr-2014 |
delphij |
MFC r263459: MFV 263436-263438:
3947 zpool(1M) references nonexistent zfs-features(5) 4540 zpool(1M) man page doesn't describe "readonly" property 3948 zfs sync=default is not accepted 4611 zfs(1M) still mentions 'send -r' in synopsis 4415 zpool(1M) man page missing "import -m" description 4570 Document dedupditto pool property 4572 Dedup-related documentation additions for zpool and zdb. 1371 Add -D option description to zpool(1M) manpage 4571 Add documentation for -T and interval to "zpool list"
|
#
263407 |
|
19-Mar-2014 |
delphij |
MFC r260183: MFV r260154 + 260182:
4369 implement zfs bookmarks 4368 zfs send filesystems from readonly pools
Illumos/illumos-gate@78f171005391b928aaf1642b3206c534ed644332
|
#
263405 |
|
19-Mar-2014 |
delphij |
MFC r259850: MFV r258384:
2583 Add -p (parsable) option to zfs list
illumos/illumos-gate@43d68d68c1ce08fb35026bebfb141af422e7082e
|
#
263403 |
|
19-Mar-2014 |
delphij |
MFC r256999 (smh):
Added support for the 'zfs list -t snap' and 'zfs snap' aliases which are available under Oracle Solaris 11.
This includes an update to the ZFS(8) man page to reflect all the available alias (snap, umount, and recv).
Initial changes obtained from ZFS On Linux + fixes for man page and cmd help: https://github.com/zfsonlinux/zfs/commit/10b75496bb0cb7a7b8146c263164adc37f1d176a https://github.com/zfsonlinux/zfs/commit/cf81b00a73fe47fdb21586ac1cc179b734540973
Obtained from: https://github.com/zfsonlinux/zfs
|
#
288571 |
|
03-Oct-2015 |
mav |
MFC r286705: 5960 zfs recv should prefetch indirect blocks 5925 zfs receive -o origin=
Reviewed by: Prakash Surya <prakash.surya@delphix.com> Reviewed by: Matthew Ahrens <mahrens@delphix.com> Author: Paul Dagnelie <pcd@delphix.com>
While running 'zfs recv' we noticed that every 128th 8K block required a read. We were seeing that restore_write() was calling dmu_tx_hold_write() and the indirect block was not cached. We should prefetch upcoming indirect blocks to avoid having to go to disk and blocking the restore_write().
Allow an incremental send stream to be received as a clone, even if the stream does not mark it as a clone.
|
#
288542 |
|
03-Oct-2015 |
mav |
MFC r286547: 5661 ZFS: "compression = on" should use lz4 if feature is enabled
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net> Reviewed by: Xin LI <delphij@freebsd.org> Approved by: Robert Mustacchi <rm@joyent.com> Author: Justin T. Gibbs <justing@spectralogic.com>
illumos/illumos-gate@db1741f555ec79def5e9846e6bfd132248514ffe
|
#
288346 |
|
28-Sep-2015 |
delphij |
MFC r287770: MFV r277429:
Document -S option when zfs inherit fails on quota and in manual pages.
Illumos ZFS issues:
5410 Document -S option to zfs inherit https://illumos.org/issues/5410
5412 Mention -S option when zfs inherit fails on quota https://illumos.org/issues/5412
illumos/illumos-gate@5ff8cfa92ec8ea0f8593ad21aa2a04829b0ef5ea
|
#
286235 |
|
03-Aug-2015 |
gjb |
MFC r286092: Fix a rendering issue in the zfs(8) manual.
Sponsored by: The FreeBSD Foundation
|
#
277580 |
|
23-Jan-2015 |
delphij |
MFC r275739: MFV r275547:
Port Illumos 'zfs allow' examples update. While I'm there also fix a typo.
Illumos issue: 4181 zfs(1m): 'zfs allow' examples in the man page are outdated
|
#
277578 |
|
23-Jan-2015 |
delphij |
MFC r274418 (gjb):
Fix an mdoc(7) macro that is not an option in the provided description.
Bump Dd.
As CDDL License dictates, update the Copyright accordingly.
Sponsored by: The FreeBSD Foundation
|
#
276081 |
|
22-Dec-2014 |
delphij |
MFC r274337,r274673,274681,r275515:
ZFS large block support. The default recordsize remains at 128KB.
A new tunable/sysctl variable, vfs.zfs.max_recordsize is added to allow adjusting the permitted maximum record size, or zfs_max_recordsize, with a default of 1MB. ZFS will not allow setting recordsize greater than zfs_max_recordsize as a safety belt, because larger recordsize means greater read and write latency and more memory usage.
Please note that booting from datasets that have recordsize greater than 128KB is not supported (but it's Okay to enable the feature on the pool).
Limited safety belt is provided for mounted root filesystem but use caution when using a larger value.
Illumos issue: 5027 zfs large block support
|
#
272690 |
|
07-Oct-2014 |
avg |
MFC r261893: zfs.8: fix garbled options in a sample zfs send -R command line
|
#
268649 |
|
15-Jul-2014 |
delphij |
MFC r268075: MFV r267565:
4757 ZFS embedded-data block pointers ("zero block compression") 4913 zfs release should not be subject to space checks
|
#
268647 |
|
15-Jul-2014 |
delphij |
MFC r266771: MFV r266766:
Add a new zfs property, "redundant_metadata" which can have values "all" or "most". The default will be "all", which is the current behavior. When set to all, ZFS stores an extra copy of all metadata. If a single on-disk block is corrupt, at worst a single block of user data (which is recordsize bytes long) can be lost.
Setting to "most" will cause us to only store 1 copy of level-1 indirect blocks of user data files. This can improve performance of random writes, because less metadata has to be written. In practice, at worst about 100 blocks (of recordsize bytes each) of user data can be lost if a single on-disk block is corrupt.
The exact behavior of which metadata blocks are stored redundantly may change in future releases.
Illumos issue: 3835 zfs need not store 2 copies of all metadata
|
#
265744 |
|
09-May-2014 |
delphij |
MFC r264835 (MFV r264829):
3897 zfs filesystem and snapshot limits
|
#
265678 |
|
08-May-2014 |
mav |
MFC r264145: Add property and sysctl to control how ZVOLs are exposed to OS.
New ZFS property volmode and sysctl vfs.zfs.vol.mode allow switching ZVOL between three modes: geom -- existing fully functional behavior (default); dev -- exposing volumes only as raw disk device file in devfs; none -- not exposing volumes outside ZFS.
The "dev" mode is less functional (can't be partitioned, mounted, etc), but it is faster, and in some scenarios with untrusted consumers safer. It can be useful for NAS, VM block storages, etc. The "none" mode may be convenient for backup servers, etc. that don't need direct data access.
Due to the way ZVOL is integrated with main ZFS code, those property and sysctl are checked only during pool import and volume creation.
|
#
264334 |
|
10-Apr-2014 |
delphij |
MFC r263459: MFV 263436-263438:
3947 zpool(1M) references nonexistent zfs-features(5) 4540 zpool(1M) man page doesn't describe "readonly" property 3948 zfs sync=default is not accepted 4611 zfs(1M) still mentions 'send -r' in synopsis 4415 zpool(1M) man page missing "import -m" description 4570 Document dedupditto pool property 4572 Dedup-related documentation additions for zpool and zdb. 1371 Add -D option description to zpool(1M) manpage 4571 Add documentation for -T and interval to "zpool list"
|
#
263407 |
|
19-Mar-2014 |
delphij |
MFC r260183: MFV r260154 + 260182:
4369 implement zfs bookmarks 4368 zfs send filesystems from readonly pools
Illumos/illumos-gate@78f171005391b928aaf1642b3206c534ed644332
|
#
263405 |
|
19-Mar-2014 |
delphij |
MFC r259850: MFV r258384:
2583 Add -p (parsable) option to zfs list
illumos/illumos-gate@43d68d68c1ce08fb35026bebfb141af422e7082e
|
#
263403 |
|
19-Mar-2014 |
delphij |
MFC r256999 (smh):
Added support for the 'zfs list -t snap' and 'zfs snap' aliases which are available under Oracle Solaris 11.
This includes an update to the ZFS(8) man page to reflect all the available alias (snap, umount, and recv).
Initial changes obtained from ZFS On Linux + fixes for man page and cmd help: https://github.com/zfsonlinux/zfs/commit/10b75496bb0cb7a7b8146c263164adc37f1d176a https://github.com/zfsonlinux/zfs/commit/cf81b00a73fe47fdb21586ac1cc179b734540973
Obtained from: https://github.com/zfsonlinux/zfs
|