Re: stgt: backing store NULL sets uaddr to 0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux SCSI]     [Linux RAID]     [Linux Clusters]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]

  Powered by Linux