Page MenuHomeFreeBSD

D17523.id49059.diff
No OneTemporary

D17523.id49059.diff

Index: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_indirect.c
===================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_indirect.c
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_indirect.c
@@ -1147,6 +1147,9 @@
pio->io_error = zio_worst_error(pio->io_error, zio->io_error);
mutex_exit(&pio->io_lock);
+#ifdef __FreeBSD__
+ if (zio->io_abd != NULL)
+#endif
abd_put(zio->io_abd);
}
@@ -1262,8 +1265,12 @@
zio->io_vsd_ops = &vdev_indirect_vsd_ops;
ASSERT(spa_config_held(spa, SCL_ALL, RW_READER) != 0);
+#ifdef __FreeBSD__
+ if (zio->io_type == ZIO_TYPE_WRITE) {
+#else
if (zio->io_type != ZIO_TYPE_READ) {
ASSERT3U(zio->io_type, ==, ZIO_TYPE_WRITE);
+#endif
/*
* Note: this code can handle other kinds of writes,
* but we don't expect them.
@@ -1295,6 +1302,9 @@
ASSERT3P(list_next(&iv->iv_splits, first), ==, NULL);
zio_nowait(zio_vdev_child_io(zio, zio->io_bp,
first->is_vdev, first->is_target_offset,
+#ifdef __FreeBSD__
+ zio->io_abd == NULL ? NULL :
+#endif
abd_get_offset(zio->io_abd, 0),
zio->io_size, zio->io_type, zio->io_priority, 0,
vdev_indirect_child_io_done, zio));
@@ -1321,6 +1331,9 @@
is != NULL; is = list_next(&iv->iv_splits, is)) {
zio_nowait(zio_vdev_child_io(zio, NULL,
is->is_vdev, is->is_target_offset,
+#ifdef __FreeBSD__
+ zio->io_abd == NULL ? NULL :
+#endif
abd_get_offset(zio->io_abd,
is->is_split_offset),
is->is_size, zio->io_type,

File Metadata

Mime Type
text/plain
Expires
Tue, Apr 21, 4:17 PM (1 h, 39 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31853326
Default Alt Text
D17523.id49059.diff (1 KB)

Event Timeline