Re: [md:for-next 32/33] drivers/md/raid5.c:2866:3: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'sector_t'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux