freebsd-dev/sys/cddl/contrib/opensolaris/uts/common
Andriy Gapon 04b7c6b337 MFV r316928: 7256 low probability race in zfs_get_data
illumos/illumos-gate@0c94e1af67
0c94e1af67

https://www.illumos.org/issues/7256
                         error = dmu_sync(zio, lr->lr_common.lrc_txg,
                              zfs_get_done, zgd);
                         ASSERT(error || lr->lr_length <= zp->z_blksz);
  It's possible, although extremely rare, that the zfs_get_done() callback is
  executed before dmu_sync() returns.
  In that case the znode's range lock is dropped and the znode is unreferenced.
  Thus, the assertion can access some invalid or wrong data via the zp pointer.
  size variable caches the correct value of z_blksz and can be safely used here.

Reviewed by: Matt Ahrens <mahrens@delphix.com>
Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com>
Approved by: Dan McDonald <danmcd@omniti.com>
Author: Andriy Gapon <andriy.gapon@clusterhq.com>

MFC after:	1 week
2017-05-26 10:31:05 +00:00
..
ctf
dtrace Get rid of some ifdef soup in the fasttrap ioctl handler. 2017-04-28 22:25:22 +00:00
fs MFV r316928: 7256 low probability race in zfs_get_data 2017-05-26 10:31:05 +00:00
os Mechanically convert cddl sun #ifdef's to illumos 2015-01-17 14:44:59 +00:00
sys zfs: clean up unused files and definitions 2017-02-24 07:53:56 +00:00
zmod
Makefile.files Connect the SHA-512t256 and Skein hashing algorithms to ZFS 2016-05-31 04:12:14 +00:00