…ragmented rpool

Reviewed by: Matt Ahrens <[email protected]>
Reviewed by: George Wilson <[email protected]>
Reviewed by: Prashanth Sreenivasa <[email protected]>

When the amount of memory in the system changes, we automatically increase the 
size of the dump device.
The dump device is allocated with ZIO_FLAG_NODATA, so that we just allocate the 
space and don't write
to it (yet - we'll write when the system dumps). If the rpool is fragmented, 
then we may end up trying
to create gang blocks for the dump device. What should happen is that we 
allocate the gang blocks, and
then the zvol_dumpify() code will notice that there are gang blocks in the dump 
device, and fail to
activate it for dump (since we don't have code to support this).

However, when we create the gang block for the dump device (with 
ZIO_FLAG_NODATA), we get a panic from
zio_write_gang_block(), because pio->io_abd is NULL. It should be fine for this 
to be NULL, since we have
ZIO_FLAG_NODATA we should not be touching it. However, with the ABD changes we 
are now doing
"abd_get_offset(pio->io_abd, ...)" which will panic since the io_abd is NULL.

The solution is for zio_write_gang_block() to pass a NULL abd to zio_write() 
instead of calling
abd_get_offset(pio->io_abd == NULL), when ZIO_FLAG_NODATA is set.

Upstream bug: DLPX-57429
You can view, comment on, or merge this pull request online at:

  https://github.com/openzfs/openzfs/pull/671

-- Commit Summary --

  * 9677 panic from zio_write_gang_block() when creating dump device on 
fragmented rpool

-- File Changes --

    M usr/src/uts/common/fs/zfs/zio.c (20)

-- Patch Links --

https://github.com/openzfs/openzfs/pull/671.patch
https://github.com/openzfs/openzfs/pull/671.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/openzfs/openzfs/pull/671

------------------------------------------
openzfs: openzfs-developer
Permalink: 
https://openzfs.topicbox.com/groups/developer/Te137e51a5bac147a-M70c43cfb50c51f683887a2b9
Delivery options: https://openzfs.topicbox.com/groups/developer/subscription

Reply via email to