summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Christie <michaelc@cs.wisc.edu>2006-01-13 18:05:56 -0600
committerJames Bottomley <jejb@mulgrave.(none)>2006-01-14 10:55:22 -0600
commita1e80c20e1ac751dbdd88dee989e9a19c22c4a84 (patch)
treee6a6e06d8194296b12606f56147de4de6768a58d
parent55e3299d9eca01fb2351c5d37e222872b7c6e0af (diff)
downloadlinux-3.10-a1e80c20e1ac751dbdd88dee989e9a19c22c4a84.tar.gz
linux-3.10-a1e80c20e1ac751dbdd88dee989e9a19c22c4a84.tar.bz2
linux-3.10-a1e80c20e1ac751dbdd88dee989e9a19c22c4a84.zip
[SCSI] iscsi: use pageslab
From: FUJITA Tomonori <tomof@acm.org> and zhenyu.z.wang@intel.com: We cannot handle filesystems like XFS becuase of the pages they are sending us. We had thought page_count could be used to work around this, but the correct test is for PageSlab. The proper solution is to figure out what type of pages filesystems can use so we do not have to add tests like this or handle it in the block layer for all network block drivers but the issue still has not been resolved on fs-devel so we are sending this patch as a temporary fix. This is last patch just in case it is Nakd with the explanation that we need to push the correct fix through fs-devel, mm or the block layer. The rest of the patchset can live without the patch, but the driver will not work with filesystems like XFS. Signed-off-by: Alex Aizman <itn780@yahoo.com> Signed-off-by: Dmitry Yusupov <dmitry_yus@yahoo.com> Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
-rw-r--r--drivers/scsi/iscsi_tcp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/iscsi_tcp.c b/drivers/scsi/iscsi_tcp.c
index 4e4b1061a5e..1b495afe6d1 100644
--- a/drivers/scsi/iscsi_tcp.c
+++ b/drivers/scsi/iscsi_tcp.c
@@ -109,7 +109,7 @@ iscsi_buf_init_sg(struct iscsi_buf *ibuf, struct scatterlist *sg)
/*
* Fastpath: sg element fits into single page
*/
- if (sg->length + sg->offset <= PAGE_SIZE && page_count(sg->page) >= 2)
+ if (sg->length + sg->offset <= PAGE_SIZE && !PageSlab(sg->page))
ibuf->use_sendmsg = 0;
else
ibuf->use_sendmsg = 1;