]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/md/raid1.c
block: fix diskstats access
[linux-2.6-omap-h63xx.git] / drivers / md / raid1.c
index 0b82030c265dbf9f1789cfaf8291881f0b5e19a8..babb13036f93a388db7b3a49d3282a96b006be41 100644 (file)
@@ -779,7 +779,7 @@ static int make_request(struct request_queue *q, struct bio * bio)
        struct page **behind_pages = NULL;
        const int rw = bio_data_dir(bio);
        const int do_sync = bio_sync(bio);
-       int do_barriers;
+       int cpu, do_barriers;
        mdk_rdev_t *blocked_rdev;
 
        /*
@@ -804,8 +804,10 @@ static int make_request(struct request_queue *q, struct bio * bio)
 
        bitmap = mddev->bitmap;
 
-       disk_stat_inc(mddev->gendisk, ios[rw]);
-       disk_stat_add(mddev->gendisk, sectors[rw], bio_sectors(bio));
+       cpu = disk_stat_lock();
+       disk_stat_inc(cpu, mddev->gendisk, ios[rw]);
+       disk_stat_add(cpu, mddev->gendisk, sectors[rw], bio_sectors(bio));
+       disk_stat_unlock();
 
        /*
         * make_request() can abort the operation when READA is being