Re: [PATCH] scsi_debug: disable clustering

James Bottomley
2008-02-17T14:18:16Z

On Sun, 2008-02-17 at 07:10 -0700, Matthew Wilcox wrote:
> On Sat, Feb 16, 2008 at 11:57:15PM +0900, FUJITA Tomonori wrote:
> > scsi_debug does at several places:
> >
> > for_each_sg(sdb->table.sgl, sg, sdb->table.nents, k) {
> > kaddr = (unsigned char *)
> > kmap_atomic(sg_page(sg), KM_USER0);
> >
> >
> > We cannot do something like that with the clustering enabled (or we
> > can use scsi_kmap_atomic_sg).
>
> Why not? Is KM_USER0 used for something else with clstering enabled?

No, he means that kmap_atomic can only map a page of data. This makes
single page only sg list entries and input assumption into this loop.
with ENABLE_CLUSTERING, that's potentially not true. Of course, this
accidentally works most of the time because of the way kmap functions.

James