Merge commit '3ff195b011d7decf501a4d55aeed312731094796' into for-linus
NeilBrown [Fri, 21 May 2010 22:31:36 +0000 (08:31 +1000)]
Conflicts:
drivers/md/md.c

- Resolved conflict in md_update_sb
- Added extra 'NULL' arg to new instance of sysfs_get_dirent.

Signed-off-by: NeilBrown <neilb@suse.de>

1  2 
drivers/md/bitmap.c
drivers/md/faulty.c
drivers/md/linear.c
drivers/md/md.c
drivers/md/multipath.c
drivers/md/raid0.c
drivers/md/raid1.c
drivers/md/raid10.c
drivers/md/raid5.c

Simple merge
Simple merge
Simple merge
diff --cc drivers/md/md.c
@@@ -3019,37 -2980,6 +3020,37 @@@ level_store(mddev_t *mddev, const char 
        /* Looks like we have a winner */
        mddev_suspend(mddev);
        mddev->pers->stop(mddev);
 +      
 +      if (mddev->pers->sync_request == NULL &&
 +          pers->sync_request != NULL) {
 +              /* need to add the md_redundancy_group */
 +              if (sysfs_create_group(&mddev->kobj, &md_redundancy_group))
 +                      printk(KERN_WARNING
 +                             "md: cannot register extra attributes for %s\n",
 +                             mdname(mddev));
-               mddev->sysfs_action = sysfs_get_dirent(mddev->kobj.sd, "sync_action");
++              mddev->sysfs_action = sysfs_get_dirent(mddev->kobj.sd, NULL, "sync_action");
 +      }               
 +      if (mddev->pers->sync_request != NULL &&
 +          pers->sync_request == NULL) {
 +              /* need to remove the md_redundancy_group */
 +              if (mddev->to_remove == NULL)
 +                      mddev->to_remove = &md_redundancy_group;
 +      }
 +
 +      if (mddev->pers->sync_request == NULL &&
 +          mddev->external) {
 +              /* We are converting from a no-redundancy array
 +               * to a redundancy array and metadata is managed
 +               * externally so we need to be sure that writes
 +               * won't block due to a need to transition
 +               *      clean->dirty
 +               * until external management is started.
 +               */
 +              mddev->in_sync = 0;
 +              mddev->safemode_delay = 0;
 +              mddev->safemode = 0;
 +      }
 +
        module_put(mddev->pers->owner);
        /* Invalidate devices that are now superfluous */
        list_for_each_entry(rdev, &mddev->disks, same_set)
Simple merge
  
  #include <linux/blkdev.h>
  #include <linux/seq_file.h>
+ #include <linux/slab.h>
  #include "md.h"
  #include "raid0.h"
 +#include "raid5.h"
  
  static void raid0_unplug(struct request_queue *q)
  {
Simple merge
Simple merge
  #include <linux/async.h>
  #include <linux/seq_file.h>
  #include <linux/cpu.h>
+ #include <linux/slab.h>
  #include "md.h"
  #include "raid5.h"
 +#include "raid0.h"
  #include "bitmap.h"
  
  /*