On Tue, 20 Nov 2012 08:02:58 +0800 kbuild test robot <fengguang.wu@xxxxxxxxx> wrote: > tree: git://neil.brown.name/md for-next > head: ef59c0770a46e77abba72994170ffe121e56a362 > commit: ef59c0770a46e77abba72994170ffe121e56a362 [15/15] md: Use ->curr_resync as last completed request when cleanly aborting resync. > config: i386-randconfig-x070 (attached as .config) > > All warnings: > > drivers/md/md.c: In function 'md_do_sync': > drivers/md/md.c:7582:6: warning: passing argument 2 of 'constant_test_bit' from incompatible pointer type [enabled by default] > In file included from include/linux/bitops.h:22:0, > from include/linux/kernel.h:10, > from include/linux/sched.h:15, > from include/linux/kthread.h:5, > from drivers/md/md.c:35: > arch/x86/include/asm/bitops.h:318:28: note: expected 'const volatile long unsigned int *' but argument is of type 'sector_t *' > drivers/md/md.c:7582:6: warning: passing argument 2 of 'variable_test_bit' from incompatible pointer type [enabled by default] > In file included from include/linux/bitops.h:22:0, > from include/linux/kernel.h:10, > from include/linux/sched.h:15, > from include/linux/kthread.h:5, > from drivers/md/md.c:35: > arch/x86/include/asm/bitops.h:324:19: note: expected 'const volatile long unsigned int *' but argument is of type 'sector_t *' > > vim +7582 +/constant_test_bit drivers/md/md.c > > ^1da177e Linus Torvalds 2005-04-16 7566 */ > ^1da177e Linus Torvalds 2005-04-16 7567 out: > 7c2c57c9 majianpeng 2012-07-03 7568 blk_finish_plug(&plug); > ^1da177e Linus Torvalds 2005-04-16 7569 wait_event(mddev->recovery_wait, !atomic_read(&mddev->recovery_active)); > ^1da177e Linus Torvalds 2005-04-16 7570 > ^1da177e Linus Torvalds 2005-04-16 7571 /* tell personality that we are finished */ > 57afd89f NeilBrown 2005-06-21 7572 mddev->pers->sync_request(mddev, max_sectors, &skipped, 1); > ^1da177e Linus Torvalds 2005-04-16 7573 > dfc70645 NeilBrown 2008-05-23 7574 if (!test_bit(MD_RECOVERY_CHECK, &mddev->recovery) && > 5fd6c1dc NeilBrown 2006-06-26 7575 mddev->curr_resync > 2) { > 5fd6c1dc NeilBrown 2006-06-26 7576 if (test_bit(MD_RECOVERY_SYNC, &mddev->recovery)) { > 5fd6c1dc NeilBrown 2006-06-26 7577 if (test_bit(MD_RECOVERY_INTR, &mddev->recovery)) { > 5fd6c1dc NeilBrown 2006-06-26 7578 if (mddev->curr_resync >= mddev->recovery_cp) { > 5fd6c1dc NeilBrown 2006-06-26 7579 printk(KERN_INFO > 61df9d91 NeilBrown 2006-10-03 7580 "md: checkpointing %s of %s.\n", > 61df9d91 NeilBrown 2006-10-03 7581 desc, mdname(mddev)); > ef59c077 majianpeng 2012-11-19 @7582 if (test_bit(MD_RECOVERY_ERROR, > ef59c077 majianpeng 2012-11-19 7583 &mddev->recovery_cp)) > ef59c077 majianpeng 2012-11-19 7584 mddev->recovery_cp = > ef59c077 majianpeng 2012-11-19 7585 mddev->curr_resync_completed; Thanks again! I've fixed it by merging the following. NeilBrown diff --git a/drivers/md/md.c b/drivers/md/md.c index 13eb270..7816ab6 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -7580,7 +7580,7 @@ void md_do_sync(struct md_thread *thread) "md: checkpointing %s of %s.\n", desc, mdname(mddev)); if (test_bit(MD_RECOVERY_ERROR, - &mddev->recovery_cp)) + &mddev->recovery)) mddev->recovery_cp = mddev->curr_resync_completed; else
Attachment:
signature.asc
Description: PGP signature