Whamcloud - gitweb
b=23988 Changes sd-iostats patch for 2.6.32 kernel.
authoryangsheng <sheng.yang@oracle.com>
Fri, 22 Oct 2010 09:43:38 +0000 (17:43 +0800)
committerJohann Lombardi <johann.lombardi@oracle.com>
Fri, 22 Oct 2010 11:59:04 +0000 (13:59 +0200)
Also statistic with REQ_TYPE_BLOCK_PC command.

lustre/kernel_patches/patches/sd_iostats-2.6.32-vanilla.patch [moved from lustre/kernel_patches/patches/sd_iostats-2.6.27-vanilla.patch with 97% similarity]
lustre/kernel_patches/series/2.6-sles11.series

@@ -48,12 +48,12 @@ Index: linux-2.6.27.21-0.1/drivers/scsi/sd.c
 +
 +extern void sd_iostats_init(void);
 +extern void sd_iostats_fini(void);
-+void sd_iostats_start_req(struct scsi_cmnd *SCpnt);
++void sd_iostats_start_req(struct request *rq);
 +void sd_iostats_finish_req(struct scsi_cmnd *SCpnt);
 +#else
 +static inline void sd_iostats_init(void) {}
 +static inline void sd_iostats_fini(void) {}
-+static inline void sd_iostats_start_req(struct scsi_cmnd *SCpnt) {}
++static inline void sd_iostats_start_req(struct request *rq) {}
 +static inline void sd_iostats_finish_req(struct scsi_cmnd *SCpnt) {}
 +#endif
 +
@@ -61,14 +61,14 @@ Index: linux-2.6.27.21-0.1/drivers/scsi/sd.c
  mempool_t *sd_cdb_pool;
  
 @@ -571,6 +589,8 @@
-       if (host_dif || scsi_prot_sg_count(SCpnt))
-               sd_prot_op(SCpnt, host_dif);
-+      sd_iostats_start_req(SCpnt);
-+
-       /*
-        * We shouldn't disconnect in the middle of a sector, so with a dumb
-        * host adapter, it's safe to assume that we can at least transfer
+        */
+       ret = BLKPREP_OK;
+  out:
++      if (rq->rq_disk && ret == BLKPREP_OK) 
++              sd_iostats_start_req(rq);
+       return scsi_prep_return(q, rq, ret);
+ }
+
 @@ -1091,6 +1111,7 @@
                break;
        }
@@ -408,9 +408,9 @@ Index: linux-2.6.27.21-0.1/drivers/scsi/sd.c
 +      spin_unlock_irqrestore(&stats->iostat_lock, irqflags);
 +}
 +
-+void sd_iostats_start_req(struct scsi_cmnd *SCpnt)
++void sd_iostats_start_req(struct request *rq)
 +{
-+      struct request          *rq = SCpnt->request;
++      struct scsi_cmnd        *SCpnt = rq->special;
 +      iostat_stats_t          *stats;
 +      iostat_counter_t        *counter;
 +      int                     bucket;
index 7160e40..8405f1e 100644 (file)
@@ -5,7 +5,7 @@ export-truncate-2.6.18-vanilla.patch
 dev_read_only-2.6.27-vanilla.patch 
 export-2.6.27-vanilla.patch 
 export-show_task-2.6.27-vanilla.patch 
-sd_iostats-2.6.27-vanilla.patch
+sd_iostats-2.6.32-vanilla.patch
 md-mmp-unplug-dev-sles11.patch
 quota-support-64-bit-quota-format.patch
 jbd2-jcberr-2.6-sles11.patch