On 08/03/2016 05:33 PM, Ross Zwisler wrote: > On Sun, Jun 5, 2016 at 1:32 PM, wrote: >> From: Mike Christie >> >> The req operation REQ_OP is separated from the rq_flag_bits >> definition. This converts the block layer drivers to >> use req_op to get the op from the request struct. >> >> Signed-off-by: Mike Christie >> --- >> drivers/block/loop.c | 6 +++--- >> drivers/block/mtip32xx/mtip32xx.c | 2 +- >> drivers/block/nbd.c | 2 +- >> drivers/block/rbd.c | 4 ++-- >> drivers/block/xen-blkfront.c | 8 +++++--- >> drivers/ide/ide-floppy.c | 2 +- >> drivers/md/dm.c | 2 +- >> drivers/mmc/card/block.c | 7 +++---- >> drivers/mmc/card/queue.c | 6 ++---- > > Dave Chinner reported a deadlock with XFS + DAX, which I reproduced > and bisected to this commit: > > commit c2df40dfb8c015211ec55f4b1dd0587f875c7b34 > Author: Mike Christie > Date: Sun Jun 5 14:32:17 2016 -0500 > drivers: use req op accessor > > Here are the steps to reproduce the deadlock with a BRD ramdisk: > > mkfs.xfs -f /dev/ram0 > mount -o dax /dev/ram0 /mnt/scratch When using ramdisks, we need the attached patch like in your other bug report. I think it will fix some hangs people are seeing. I do not think that it should cause the failure to run issue you saw when doing generic/008 and ext2.