Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[PATCH] md: Don't assume that READ==0 and WRITE==1 - use the names explicitly

Thanks Jens for alerting me to this.

Cc: Jens Axboe <jens.axboe@oracle.com>
Cc: <raziebe@gmail.com>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

authored by

NeilBrown and committed by
Linus Torvalds
802ba064 011e3a9a

+15 -15
+1 -1
drivers/md/faulty.c
··· 173 173 conf_t *conf = (conf_t*)mddev->private; 174 174 int failit = 0; 175 175 176 - if (bio->bi_rw & 1) { 176 + if (bio_data_dir(bio) == WRITE) { 177 177 /* write request */ 178 178 if (atomic_read(&conf->counters[WriteAll])) { 179 179 /* special case - don't decrement, don't generic_make_request,
+1 -1
drivers/md/raid1.c
··· 1736 1736 /* take from bio_init */ 1737 1737 bio->bi_next = NULL; 1738 1738 bio->bi_flags |= 1 << BIO_UPTODATE; 1739 - bio->bi_rw = 0; 1739 + bio->bi_rw = READ; 1740 1740 bio->bi_vcnt = 0; 1741 1741 bio->bi_idx = 0; 1742 1742 bio->bi_phys_segments = 0;
+3 -3
drivers/md/raid10.c
··· 1785 1785 biolist = bio; 1786 1786 bio->bi_private = r10_bio; 1787 1787 bio->bi_end_io = end_sync_read; 1788 - bio->bi_rw = 0; 1788 + bio->bi_rw = READ; 1789 1789 bio->bi_sector = r10_bio->devs[j].addr + 1790 1790 conf->mirrors[d].rdev->data_offset; 1791 1791 bio->bi_bdev = conf->mirrors[d].rdev->bdev; ··· 1801 1801 biolist = bio; 1802 1802 bio->bi_private = r10_bio; 1803 1803 bio->bi_end_io = end_sync_write; 1804 - bio->bi_rw = 1; 1804 + bio->bi_rw = WRITE; 1805 1805 bio->bi_sector = r10_bio->devs[k].addr + 1806 1806 conf->mirrors[i].rdev->data_offset; 1807 1807 bio->bi_bdev = conf->mirrors[i].rdev->bdev; ··· 1870 1870 biolist = bio; 1871 1871 bio->bi_private = r10_bio; 1872 1872 bio->bi_end_io = end_sync_read; 1873 - bio->bi_rw = 0; 1873 + bio->bi_rw = READ; 1874 1874 bio->bi_sector = r10_bio->devs[i].addr + 1875 1875 conf->mirrors[d].rdev->data_offset; 1876 1876 bio->bi_bdev = conf->mirrors[d].rdev->bdev;
+10 -10
drivers/md/raid5.c
··· 1827 1827 struct bio *bi; 1828 1828 mdk_rdev_t *rdev; 1829 1829 if (test_and_clear_bit(R5_Wantwrite, &sh->dev[i].flags)) 1830 - rw = 1; 1830 + rw = WRITE; 1831 1831 else if (test_and_clear_bit(R5_Wantread, &sh->dev[i].flags)) 1832 - rw = 0; 1832 + rw = READ; 1833 1833 else 1834 1834 continue; 1835 1835 1836 1836 bi = &sh->dev[i].req; 1837 1837 1838 1838 bi->bi_rw = rw; 1839 - if (rw) 1839 + if (rw == WRITE) 1840 1840 bi->bi_end_io = raid5_end_write_request; 1841 1841 else 1842 1842 bi->bi_end_io = raid5_end_read_request; ··· 1872 1872 atomic_add(STRIPE_SECTORS, &rdev->corrected_errors); 1873 1873 generic_make_request(bi); 1874 1874 } else { 1875 - if (rw == 1) 1875 + if (rw == WRITE) 1876 1876 set_bit(STRIPE_DEGRADED, &sh->state); 1877 1877 PRINTK("skip op %ld on disc %d for sector %llu\n", 1878 1878 bi->bi_rw, i, (unsigned long long)sh->sector); ··· 2370 2370 struct bio *bi; 2371 2371 mdk_rdev_t *rdev; 2372 2372 if (test_and_clear_bit(R5_Wantwrite, &sh->dev[i].flags)) 2373 - rw = 1; 2373 + rw = WRITE; 2374 2374 else if (test_and_clear_bit(R5_Wantread, &sh->dev[i].flags)) 2375 - rw = 0; 2375 + rw = READ; 2376 2376 else 2377 2377 continue; 2378 2378 2379 2379 bi = &sh->dev[i].req; 2380 2380 2381 2381 bi->bi_rw = rw; 2382 - if (rw) 2382 + if (rw == WRITE) 2383 2383 bi->bi_end_io = raid5_end_write_request; 2384 2384 else 2385 2385 bi->bi_end_io = raid5_end_read_request; ··· 2415 2415 atomic_add(STRIPE_SECTORS, &rdev->corrected_errors); 2416 2416 generic_make_request(bi); 2417 2417 } else { 2418 - if (rw == 1) 2418 + if (rw == WRITE) 2419 2419 set_bit(STRIPE_DEGRADED, &sh->state); 2420 2420 PRINTK("skip op %ld on disc %d for sector %llu\n", 2421 2421 bi->bi_rw, i, (unsigned long long)sh->sector); ··· 2567 2567 unsigned int chunk_sectors = mddev->chunk_size >> 9; 2568 2568 unsigned int bio_sectors = bio->bi_size >> 9; 2569 2569 2570 - if (bio_data_dir(bio)) 2570 + if (bio_data_dir(bio) == WRITE) 2571 2571 return biovec->bv_len; /* always allow writes to be mergeable */ 2572 2572 2573 2573 max = (chunk_sectors - ((sector & (chunk_sectors - 1)) + bio_sectors)) << 9; ··· 2751 2751 disk_stat_inc(mddev->gendisk, ios[rw]); 2752 2752 disk_stat_add(mddev->gendisk, sectors[rw], bio_sectors(bi)); 2753 2753 2754 - if (bio_data_dir(bi) == READ && 2754 + if (rw == READ && 2755 2755 mddev->reshape_position == MaxSector && 2756 2756 chunk_aligned_read(q,bi)) 2757 2757 return 0;