Merge commit '3ff195b011d7decf501a4d55aeed312731094796' into for-linus
authorNeilBrown <neilb@suse.de>
Fri, 21 May 2010 22:31:36 +0000 (08:31 +1000)
committerNeilBrown <neilb@suse.de>
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
index 26b3d2879d93d82cb05a73a442c158a6e12d35c9,a9fd491796ac5005b9e05fce69cd4944434606a8..46b3a044eadf41166a60cab6f10153fd1e75f09f
@@@ -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);
-               mddev->sysfs_action = sysfs_get_dirent(mddev->kobj.sd, "sync_action");
 +      
 +      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, 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
index dc38c1a4516655d2357a2aa4b1ea201b92b9d8c2,c3bec024612e63682a9367cc58579c89c1303f5f..e70f004c99e8b2bf146de202079f763022a048c2
  
  #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
index eacf02a6ec5faa66f577ebff692b60867f038c88,15348c393b5daeb59ad11a9050f66eef428b4314..9ea17d6c799bac62fa348a043469246f5ef6dbb6
  #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"
  
  /*