are you expecting minphys to appear in that backtrace? On 29 Aug 2014, at 5:07, Stefan Fritsch <s...@sfritsch.de> wrote:
> Hi, > > while debugging some problems on a virtio host that supports only few dma > segments per request, I noticed that the minphys function is not called in > all code paths. It is only used for physio but not for other (cached) disk > operations. An example trace is below. > > Am I missing something or is this as broken as I think it is? I thought > the minphys function is a way for a driver to say that it does not support > larger transfers and that transfers are split accordingly. What's the > purpose of the minphys mechanism if it does not affect all code paths? > > Cheers, > Stefan > > > panic() at 0x1027bcf5 panic+0x1a5/0x1061006f0 > vioblk_scsi_cmd() at 0x103ecccf vioblk_scsi_cmd+0x8ff/0x106100770 > sdstart() at 0x103bc4d6 sdstart+0x176/0x1061007b0 > scsi_ioh_runqueue() at 0x103b3c05 scsi_ioh_runqueue+0x55/0x1061007e0 > scsi_xsh_runqueue() at 0x103b3d72 scsi_xsh_runqueue+0x132/0x106100800 > sdstrategy() at 0x103bc6bf sdstrategy+0x10f/0x106100830 > spec_strategy() at 0x102a8b3b spec_strategy+0x5b/0x106100850 > VOP_STRATEGY() at 0x102a75be VOP_STRATEGY+0x2e/0x106100870 > bio_doread() at 0x102991fc bio_doread+0xbc/0x1061008a0 > bread() at 0x102992c3 bread+0x13/0x1061008c0 > fillinusemap() at 0x102ad6d9 fillinusemap+0xb9/0x106100920 > msdosfs_mountfs() at 0x102af78d msdosfs_mountfs+0x59d/0x106100990 > msdosfs_mount() at 0x102afcf6 msdosfs_mount+0x3e6/0x106100b70 > sys_mount() at 0x102a6a3c sys_mount+0x36c/0x106100d90 >