…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
