diff options
author | Yi Zou <yi.zou@intel.com> | 2009-07-29 20:05:40 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2009-08-22 18:52:10 -0400 |
commit | 53fcfbbef569819706b880a502ff62e2852edfce (patch) | |
tree | 4f59198dbb5b54a280a2f842d10d659bd32a02d1 /drivers/scsi/libfc | |
parent | 537029f8e950776951ca2a3fe30121d5c05643d1 (diff) |
[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: Yi Zou <yi.zou@intel.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/libfc')
-rw-r--r-- | drivers/scsi/libfc/fc_fcp.c | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/drivers/scsi/libfc/fc_fcp.c b/drivers/scsi/libfc/fc_fcp.c index 2069edf80268..7d5ffcbbf39b 100644 --- a/drivers/scsi/libfc/fc_fcp.c +++ b/drivers/scsi/libfc/fc_fcp.c | |||
@@ -507,33 +507,6 @@ static int fc_fcp_send_data(struct fc_fcp_pkt *fsp, struct fc_seq *seq, | |||
507 | f_ctl = FC_FC_REL_OFF; | 507 | f_ctl = FC_FC_REL_OFF; |
508 | WARN_ON(!seq); | 508 | WARN_ON(!seq); |
509 | 509 | ||
510 | /* | ||
511 | * If a get_page()/put_page() will fail, don't use sg lists | ||
512 | * in the fc_frame structure. | ||
513 | * | ||
514 | * The put_page() may be long after the I/O has completed | ||
515 | * in the case of FCoE, since the network driver does it | ||
516 | * via free_skb(). See the test in free_pages_check(). | ||
517 | * | ||
518 | * Test this case with 'dd </dev/zero >/dev/st0 bs=64k'. | ||
519 | */ | ||
520 | if (using_sg) { | ||
521 | for (sg = scsi_sglist(sc); sg; sg = sg_next(sg)) { | ||
522 | if (page_count(sg_page(sg)) == 0 || | ||
523 | (sg_page(sg)->flags & (1 << PG_lru | | ||
524 | 1 << PG_private | | ||
525 | 1 << PG_locked | | ||
526 | 1 << PG_active | | ||
527 | 1 << PG_slab | | ||
528 | 1 << PG_swapcache | | ||
529 | 1 << PG_writeback | | ||
530 | 1 << PG_reserved | | ||
531 | 1 << PG_buddy))) { | ||
532 | using_sg = 0; | ||
533 | break; | ||
534 | } | ||
535 | } | ||
536 | } | ||
537 | sg = scsi_sglist(sc); | 510 | sg = scsi_sglist(sc); |
538 | 511 | ||
539 | while (remaining > 0 && sg) { | 512 | while (remaining > 0 && sg) { |