On Tue, Jan 19, 2021 at 09:33:37AM -0300, Raphael Carvalho wrote: > > * No fallback to buffered IO after short writes for XFS, direct > > I/O > > @@ -632,7 +648,8 @@ xfs_file_dax_write( > > error = xfs_setfilesize(ip, pos, ret); > > } > > out: > > - xfs_iunlock(ip, iolock); > > + if (iolock) > > + xfs_iunlock(ip, iolock); > > > > Not familiar with the code but looks like you're setting *iolock to zero on > error and perhaps you want to dereference it here instead In this function iolock is a scalar value, not a pointer. xfs_file_aio_write_checks gets it passed by reference and clears it, and here we check that the iolock is locked at all.