On Tue, Apr 11, 2023 at 04:31:59PM -0700, Darrick J. Wong wrote: > Unfortunately, the ondisk buffer is corrupt, but recovery just read the > buffer with no buffer ops specified: > > error = xfs_buf_read(mp->m_ddev_targp, buf_f->blf_blkno, > buf_f->blf_len, buf_flags, &bp, NULL); > + > + /* > + * We're skipping replay of this buffer log item due to the log > + * item LSN being behind the ondisk buffer. Verify the buffer > + * contents since we aren't going to run the write verifier. > + */ > + if (bp->b_ops) { > + bp->b_ops->verify_read(bp); > + error = bp->b_error; > + } How do we end up with ops attached here if xfs_buf_read doesn't attach them? The buf type specific recover routines later attach ops, but this is called before we reach them.