提交 53fcfbbe 编写于 作者: Y Yi Zou 提交者: James Bottomley

[SCSI] libfc: Remove page flags check for sglist

I don't believe this check is needed any more in the current kernel, which,
if I understand correctly, is for compound page where only the first page
is supposed to get ref-counted.
Signed-off-by: NYi Zou <yi.zou@intel.com>
Signed-off-by: NRobert Love <robert.w.love@intel.com>
Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
上级 537029f8
......@@ -507,33 +507,6 @@ static int fc_fcp_send_data(struct fc_fcp_pkt *fsp, struct fc_seq *seq,
f_ctl = FC_FC_REL_OFF;
WARN_ON(!seq);
/*
* If a get_page()/put_page() will fail, don't use sg lists
* in the fc_frame structure.
*
* The put_page() may be long after the I/O has completed
* in the case of FCoE, since the network driver does it
* via free_skb(). See the test in free_pages_check().
*
* Test this case with 'dd </dev/zero >/dev/st0 bs=64k'.
*/
if (using_sg) {
for (sg = scsi_sglist(sc); sg; sg = sg_next(sg)) {
if (page_count(sg_page(sg)) == 0 ||
(sg_page(sg)->flags & (1 << PG_lru |
1 << PG_private |
1 << PG_locked |
1 << PG_active |
1 << PG_slab |
1 << PG_swapcache |
1 << PG_writeback |
1 << PG_reserved |
1 << PG_buddy))) {
using_sg = 0;
break;
}
}
}
sg = scsi_sglist(sc);
while (remaining > 0 && sg) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册