On 6/20/19 10:32 AM, Jens Axboe wrote: > On 6/6/19 4:28 AM, Christoph Hellwig wrote: >> Hi Jens, >> >> this series removes the bi_phys_segments member in struct bio >> and cleans up various areas around it.> > Applied, thanks. Now that I'm back and can fully go through testing, I run into problems with this series. On one system, booting up makes it crash. I've managed to get it to boot, only for the first sync to make it crash. So seems likely related to a flush. No console on that system, but that's OK since the trace itself isn't that interesting. We end up crashing in nvme_queue_rq(), here: (gdb) l *nvme_queue_rq+0x252 0xffffffff8148b292 is in nvme_queue_rq (./include/linux/blkdev.h:962). 957 */ 958 static inline struct bio_vec req_bvec(struct request *rq) 959 { 960 if (rq->rq_flags & RQF_SPECIAL_PAYLOAD) 961 return rq->special_vec; 962 return mp_bvec_iter_bvec(rq->bio->bi_io_vec, rq->bio->bi_iter); 963 } with a NULL pointer dereference at 0x8. Taking a look at the series, this is the offending commit: commit 14ccb66b3f585b2bc21e7256c96090abed5a512c Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Jun 6 12:29:01 2019 +0200 block: remove the bi_phys_segments field in struct bio with that as the HEAD, crash. Go back one commit, works fine. -- Jens Axboe