diff options
author | Mike Christie <michaelc@cs.wisc.edu> | 2006-01-13 19:05:56 -0500 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.(none)> | 2006-01-14 11:55:22 -0500 |
commit | a1e80c20e1ac751dbdd88dee989e9a19c22c4a84 (patch) | |
tree | e6a6e06d8194296b12606f56147de4de6768a58d | |
parent | 55e3299d9eca01fb2351c5d37e222872b7c6e0af (diff) |
[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.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/iscsi_tcp.c b/drivers/scsi/iscsi_tcp.c index 4e4b1061a5e9..1b495afe6d17 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) | |||
109 | /* | 109 | /* |
110 | * Fastpath: sg element fits into single page | 110 | * Fastpath: sg element fits into single page |
111 | */ | 111 | */ |
112 | if (sg->length + sg->offset <= PAGE_SIZE && page_count(sg->page) >= 2) | 112 | if (sg->length + sg->offset <= PAGE_SIZE && !PageSlab(sg->page)) |
113 | ibuf->use_sendmsg = 0; | 113 | ibuf->use_sendmsg = 0; |
114 | else | 114 | else |
115 | ibuf->use_sendmsg = 1; | 115 | ibuf->use_sendmsg = 1; |