On Wed, 26 Sep 2012 09:39:08 +0800 Fengguang Wu <fengguang.wu@xxxxxxxxx> wrote: > Hi Alexander, > > FYI, there are new compile warnings show up in > > tree: git://neil.brown.name/md for-next > head: 0179d361662367ab0f80b5822b162a1c0ba9b57d > commit: eadb9fb1d4da32ed1b143a6fc1997c4c42ea0422 [32/33] md: When RAID5 is dirty, force reconstruct-write instead of read-modify-write. > config: m68k-allyesconfig > > All warnings: > > drivers/md/raid5.c: In function 'handle_stripe_dirtying': > drivers/md/raid5.c:2866:3: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'sector_t' [-Wformat] > drivers/md/raid5.c:2866:3: warning: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'sector_t' [-Wformat] > > vim +2866 drivers/md/raid5.c > 2850 sector_t recovery_cp = conf->mddev->recovery_cp; > 2851 > 2852 /* RAID6 requires 'rcw' in current implementation. > 2853 * Otherwise, check whether resync is now happening or should start. > 2854 * If yes, then the array is dirty (after unclean shutdown or > 2855 * initial creation), so parity in some stripes might be inconsistent. > 2856 * In this case, we need to always do reconstruct-write, to ensure > 2857 * that in case of drive failure or read-error correction, we > 2858 * generate correct data from the parity. > 2859 */ > 2860 if (conf->max_degraded == 2 || > 2861 (recovery_cp < MaxSector && sh->sector >= recovery_cp)) { > 2862 /* Calculate the real rcw later - for now make it > 2863 * look like rcw is cheaper > 2864 */ > 2865 rcw = 1; rmw = 2; > > 2866 pr_debug("force RCW max_degraded=%u, recovery_cp=%lu sh->sector=%lu\n", > 2867 conf->max_degraded, recovery_cp, sh->sector); > 2868 } else for (i = disks; i--; ) { > 2869 /* would I have to read this buffer for read_modify_write */ > 2870 struct r5dev *dev = &sh->dev[i]; > 2871 if ((dev->towrite || i == sh->pd_idx) && > 2872 !test_bit(R5_LOCKED, &dev->flags) && > 2873 !(test_bit(R5_UPTODATE, &dev->flags) || > 2874 test_bit(R5_Wantcompute, &dev->flags))) { > > --- > 0-DAY kernel build testing backend Open Source Technology Centre > Fengguang Wu, Yuanhan Liu Intel Corporation Thanks again! I've fixed this up. NeilBrown
Attachment:
signature.asc
Description: PGP signature