So, in this case, we appear to be attempting a write, but the `io_abd` field of 
the `zio` is `NULL`.
```
> ffffff03e497c630::print zio_t io_abd
io_abd = 0
```

I think we're here in `vdev_disk_io_start`:
```
785         if (zio->io_type == ZIO_TYPE_READ) {
786                 bp->b_un.b_addr =
787                     abd_borrow_buf(zio->io_abd, zio->io_size);
788         } else {
789                 bp->b_un.b_addr =
790                     abd_borrow_buf_copy(zio->io_abd, zio->io_size);
791         }
```

The `zio` is still allocated, and we can see exactly where it was allocated now 
(since we have kmem_flags set):
```
> ffffff03e497c630::whatis
ffffff03e497c630 is allocated from zio_cache:
            ADDR          BUFADDR        TIMESTAMP           THREAD
                            CACHE          LASTLOG         CONTENTS
ffffff03e4b99b58 ffffff03e497c630       ba631849d6 ffffff000fd48c40
                 ffffff03dd631848 ffffff03c9473c00 ffffff03d3524880
                 kmem_cache_alloc_debug+0x2e0
                 kmem_cache_alloc+0xd4
                 zio_create+0x8e
                 zio_write_phys+0xa1
                 l2arc_write_buffers+0x32b
                 l2arc_feed_thread+0x23c
                 thread_start+8
```

It looks like the `::zio_state` MDB command doesn't quite work, either:
```
> ::zio_state
mdb: unexpected value ZIO_STAGE_ENCRYPT (64) of enum type enum zio_stage 
(member io_stage of type struct zio)
> ::zio_state -r
mdb: unexpected value ZIO_STAGE_ENCRYPT (64) of enum type enum zio_stage 
(member io_stage of type struct zio)
```

In case it's helpful for anybody, I've copied the output of 
`ffffff03e497c630::print zio_t` and put it in this file: 
[zio-printed.txt](https://github.com/openzfs/openzfs/files/1729506/zio-printed.txt)

I'm not familiar enough with the ZIO pipeline to know why `io_abd` would be 
`NULL`, though, without spending some time reading the code.

-- 
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/489#issuecomment-366072204
------------------------------------------
openzfs-developer
Archives: 
https://openzfs.topicbox.com/groups/developer/discussions/T91797982fdd5b7d9-M32c3bbb0bd557f8a43d97de0
Powered by Topicbox: https://topicbox.com

Reply via email to