#
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 ...
|
#
a2cdcdd2 |
| 17-Jul-2015 |
Paul Dagnelie <pcd@delphix.com> |
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>
|
#
e77d42ea |
| 08-Oct-2014 |
Matthew Ahrens <mahrens@delphix.com> |
3693 restore_object uses at least two transactions to restore an object Reviewed by: Christopher Siden <christopher.siden@delphix.com> Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed
3693 restore_object uses at least two transactions to restore an object Reviewed by: Christopher Siden <christopher.siden@delphix.com> Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Andriy Gapon <andriy.gapon@hybridcluster.com> Approved by: Robert Mustacchi <rm@joyent.com>
show more ...
|
#
2acef22d |
| 08-Oct-2013 |
Matthew Ahrens <mahrens@delphix.com> |
4171 clean up spa_feature_*() interfaces 4172 implement extensible_dataset feature for use by other zpool features Reviewed by: Max Grossman <max.grossman@delphix.com> Reviewed by: Christopher Siden
4171 clean up spa_feature_*() interfaces 4172 implement extensible_dataset feature for use by other zpool features Reviewed by: Max Grossman <max.grossman@delphix.com> Reviewed by: Christopher Siden <christopher.siden@delphix.com> Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com> Approved by: Garrett D'Amore <garrett@damore.org>
show more ...
|
#
be6fd75a |
| 08-Mar-2013 |
Matthew Ahrens <mahrens@delphix.com> |
3598 want to dtrace when errors are generated in zfs Reviewed by: Dan Kimmel <dan.kimmel@delphix.com> Reviewed by: Adam Leventhal <ahl@delphix.com> Reviewed by: Christopher Siden <christopher.siden@d
3598 want to dtrace when errors are generated in zfs Reviewed by: Dan Kimmel <dan.kimmel@delphix.com> Reviewed by: Adam Leventhal <ahl@delphix.com> Reviewed by: Christopher Siden <christopher.siden@delphix.com> Approved by: Garrett D'Amore <garrett@damore.org>
show more ...
|
#
744947dc |
| 24-Jun-2010 |
Tom Erickson <Tom.Erickson@Sun.COM> |
6710343 dnode cache should register a dnode_move() callback to limit fragmentation 6583724 dnode_create should not call kmem_cache_constructor directly 6374545 disk write cache flush code overloads b
6710343 dnode cache should register a dnode_move() callback to limit fragmentation 6583724 dnode_create should not call kmem_cache_constructor directly 6374545 disk write cache flush code overloads buf_t.b_list pointer
show more ...
|
#
06e0070d |
| 19-Apr-2010 |
Mark Shellenbaum <Mark.Shellenbaum@Sun.COM> |
6939983 assertion failed: zap_count(os, DMU_USERUSED_OBJECT, &count) != 0||count == 0, in dsl_dataset.c 6942276 remove symlink upgrade code 6943284 sa_attr_iter() can use uninitialized value of lengt
6939983 assertion failed: zap_count(os, DMU_USERUSED_OBJECT, &count) != 0||count == 0, in dsl_dataset.c 6942276 remove symlink upgrade code 6943284 sa_attr_iter() can use uninitialized value of length_start 6942045 zoneadm -z <zone> halt hangs after manipulation of xattrs
show more ...
|
#
503ad85c |
| 13-Aug-2009 |
Matthew Ahrens <Matthew.Ahrens@Sun.COM> |
6860996 %temporary clones are not automatically destroyed on error 6863088 zfs panic in dnode_hold_impl from readdir()
|
#
cf04dda1 |
| 07-Apr-2009 |
Mark Maybee <Mark.Maybee@Sun.COM> |
6783818 Incremental stream receive panics system 6826836 Deadlock possible in dmu_object_reclaim()
|
#
2bf405a2 |
| 05-Mar-2009 |
Mark Maybee <Mark.Maybee@Sun.COM> |
6801979 zfs recv can fail with E2BIG
|
#
cdb0ab79 |
| 01-Jul-2008 |
maybee <none@none> |
6573681 deleting a very large file can be slow 6706950 ((&dnp->dn_blkptr[0])->blk_birth == 0) || list_head(list) != 0L || dn->dn_next_blksz[txgoff]
|
#
6754306e |
| 01-Nov-2006 |
ahrens <none@none> |
6424466 "panic: data after EOF" when unmounting abused pool 6484044 destroying a clone takes O(data)
|
#
ea8dc4b6 |
| 04-Mar-2006 |
eschrock <none@none> |
PSARC 2006/077 zpool clear PSARC 2006/139 FMA for ZFS 6284889 arc should replace the znode cache 6333006 DMU & DSL should not panic upon I/O error 6333092 concurrent reads to a file not scaling with
PSARC 2006/077 zpool clear PSARC 2006/139 FMA for ZFS 6284889 arc should replace the znode cache 6333006 DMU & DSL should not panic upon I/O error 6333092 concurrent reads to a file not scaling with number of readers 6338081 ZFS/FMA phase 1 6338386 need persistent error log 6341326 i/o error causes arc buf hash table corruption 6341639 zfs backup/restore should compute/verify checksum of backup stream 6348002 out of space due to changing properties 6354724 inaccurate error message from zfs restore 6354872 dmu_sync() blows predictive accounting 6355416 zpool scrubbing consumes all memory, system hung 6363995 df should only load libzfs when it encounters a ZFS filesystem 6366320 zfs backup/restore doesn't like signals 6368892 mount -m support needed for legacy mounts 6368902 boot archive fstat support needed for ZFS Mountroot 6369424 BFU complains when bfu'ing a ZFS root filesystem 6374062 mountroot support needed for ZFS 6376356 dirtying dbuf obj=43 lvl=0 blkid=0 but not tx_held 6378391 unused members of dmu_objset_stats_t 6378392 clean up zfs_cmd_t structure 6378685 buf_init should allocate its hash table more carefully 6378976 ziltest should be a first class citizen 6381086 zdb segfaults if there is a spa deferred-free bplist 6381203 deadlock due to i/o while assigning (tc_lock held) 6381209 freed space is not immediately available 6381344 'zpool clear' 6381345 FAULTED devices should really be UNAVAIL 6381346 import should mark devices as persistently unavailable 6383272 recursive mutex_enter() during log replay with zfs root 6386326 origin property is not displayed 6386354 libzfs does too much in its _init section, calls exit(1) 6386624 zpool should not complain about non-existent devices from libdiskmgt 6386910 spa needs to be i/o error hardened 6387735 need a mechanism to inject faults into ZFS 6387736 internal ZFS utilities should be placed in an ON-private package 6389928 libzfs should ship a lint library 6390609 malformed vdev config panics on zpool_create() 6390677 version number checking makes upgrades challenging 6390713 ztest hangs in zil_suspend() 6391873 metadata compression should be turned back on 6392113 ztest sometimes reports leaked blocks because ZIL isn't resilvered 6393004 minor memory leak in unique_insert()
show more ...
|
#
fa9e4066 |
| 31-Oct-2005 |
ahrens <none@none> |
PSARC 2002/240 ZFS 6338653 Integrate ZFS PSARC 2004/652 - DKIOCFLUSH 5096886 Write caching disks need mechanism to flush cache to physical media
|