Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 15 Dec 2009 17:12:01 +0000 (09:12 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 15 Dec 2009 17:12:01 +0000 (09:12 -0800)
* git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm: (80 commits)
  dm snapshot: use merge origin if snapshot invalid
  dm snapshot: report merge failure in status
  dm snapshot: merge consecutive chunks together
  dm snapshot: trigger exceptions in remaining snapshots during merge
  dm snapshot: delay merging a chunk until writes to it complete
  dm snapshot: queue writes to chunks being merged
  dm snapshot: add merging
  dm snapshot: permit only one merge at once
  dm snapshot: support barriers in snapshot merge target
  dm snapshot: avoid allocating exceptions in merge
  dm snapshot: rework writing to origin
  dm snapshot: add merge target
  dm exception store: add merge specific methods
  dm snapshot: create function for chunk_is_tracked wait
  dm snapshot: make bio optional in __origin_write
  dm mpath: reject messages when device is suspended
  dm: export suspended state to targets
  dm: rename dm_suspended to dm_suspended_md
  dm: swap target postsuspend call and setting suspended flag
  dm crypt: add plain64 iv
  ...

1  2 
drivers/md/dm-table.c

diff --combined drivers/md/dm-table.c
index 91976e8fae5f0326027a534c7b20f132f2d76433,3162b9c3c3f29bca8ceb321f3bf488ac63e14166..be625475cf6df41faa48c9a3b91e841655afb3b2
@@@ -12,7 -12,6 +12,7 @@@
  #include <linux/blkdev.h>
  #include <linux/namei.h>
  #include <linux/ctype.h>
 +#include <linux/string.h>
  #include <linux/slab.h>
  #include <linux/interrupt.h>
  #include <linux/mutex.h>
@@@ -238,6 -237,9 +238,9 @@@ void dm_table_destroy(struct dm_table *
  {
        unsigned int i;
  
+       if (!t)
+               return;
        while (atomic_read(&t->holders))
                msleep(1);
        smp_mb();
@@@ -601,8 -603,11 +604,8 @@@ int dm_split_args(int *argc, char ***ar
                return -ENOMEM;
  
        while (1) {
 -              start = end;
 -
                /* Skip whitespace */
 -              while (*start && isspace(*start))
 -                      start++;
 +              start = skip_spaces(end);
  
                if (!*start)
                        break;  /* success, we hit the end */