On 8/5/10 5:25 PM, FUJITA Tomonori wrote:
On Thu, 05 Aug 2010 17:20:46 -0700
Joe Eykholt<jeykholt@xxxxxxxxx> wrote:
Hi all,
When I add a LUN using btype NULL:
tgtadm --lld ftgt --op new --mode logicalunit --tid 1 --lun 2 -b null2 --bstype null
I get this failure in the kernel on every read:
[ 711.424119] scsi_map_user_pages(378) Could not handle request of size 4096.
[ 711.431907] scsi_tgt_kspace_exec(514) cmd ffff88045b628eb8 ret -22 uaddr 0 len 4096 rw 2
scsi_map_user_pages() doesn't like uaddr == 0.
Yeah, uaddr is supposed to be an user-space address.
Should this be fixed in the kernel or in tgtd?
Needs to fix tgtd.
Good.
> "NULL" bstype means that we don't any real I/Os so
the kernel module has nothing to do with it.
The HBA still needs a buffer to transfer to or from. The kernel module
could special-case uaddr 0 as being from the null bstype and just send out
zeros and drop write data, but it would have to allocate a zero buffer,
possibly large, for that.
It'd be easier if the daemon would do the allocation and
we didn't need to special-case it.
I'm using tgt-1.0.5 (very lightly modified to add ftgt).
Cheers,
Joe
--
To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html