From 9349864613f883f6ec0e68d0f4e8d7b066cccf79 Mon Sep 17 00:00:00 2001 From: yangsheng Date: Fri, 22 Oct 2010 17:43:38 +0800 Subject: [PATCH] b=23988 Changes sd-iostats patch for 2.6.32 kernel. Also statistic with REQ_TYPE_BLOCK_PC command. --- ...nilla.patch => sd_iostats-2.6.32-vanilla.patch} | 24 +++++++++++----------- lustre/kernel_patches/series/2.6-sles11.series | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) rename lustre/kernel_patches/patches/{sd_iostats-2.6.27-vanilla.patch => sd_iostats-2.6.32-vanilla.patch} (97%) diff --git a/lustre/kernel_patches/patches/sd_iostats-2.6.27-vanilla.patch b/lustre/kernel_patches/patches/sd_iostats-2.6.32-vanilla.patch similarity index 97% rename from lustre/kernel_patches/patches/sd_iostats-2.6.27-vanilla.patch rename to lustre/kernel_patches/patches/sd_iostats-2.6.32-vanilla.patch index cf65da2..12348bb 100644 --- a/lustre/kernel_patches/patches/sd_iostats-2.6.27-vanilla.patch +++ b/lustre/kernel_patches/patches/sd_iostats-2.6.32-vanilla.patch @@ -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; diff --git a/lustre/kernel_patches/series/2.6-sles11.series b/lustre/kernel_patches/series/2.6-sles11.series index 7160e40..8405f1e 100644 --- a/lustre/kernel_patches/series/2.6-sles11.series +++ b/lustre/kernel_patches/series/2.6-sles11.series @@ -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 -- 1.8.3.1