Add --shared-store argument. Does nothing so far. Signed-off-by: Mikulas Patocka --- lib/metadata/metadata-exported.h | 2 ++ tools/args.h | 1 + tools/commands.h | 6 +++--- tools/lvcreate.c | 8 +++++++- 4 files changed, 13 insertions(+), 4 deletions(-) Index: LVM2.2.02.85/tools/args.h =================================================================== --- LVM2.2.02.85.orig/tools/args.h 2011-05-20 14:57:48.000000000 +0200 +++ LVM2.2.02.85/tools/args.h 2011-05-23 15:59:00.000000000 +0200 @@ -111,6 +111,7 @@ arg(size_ARG, 'L', "size", size_mb_arg, arg(logicalextent_ARG, 'L', "logicalextent", int_arg_with_sign, 0) arg(persistent_ARG, 'M', "persistent", yes_no_arg, 0) arg(merge_ARG, '\0', "merge", NULL, 0) +arg(shared_store_ARG, 'S', "sharedstore", string_arg, 0) arg(major_ARG, 'j', "major", major_arg, 0) arg(mirrors_ARG, 'm', "mirrors", int_arg_with_sign, 0) arg(metadatatype_ARG, 'M', "metadatatype", metadatatype_arg, 0) Index: LVM2.2.02.85/tools/commands.h =================================================================== --- LVM2.2.02.85.orig/tools/commands.h 2011-05-20 14:57:41.000000000 +0200 +++ LVM2.2.02.85/tools/commands.h 2011-05-23 15:59:00.000000000 +0200 @@ -201,9 +201,9 @@ xx(lvcreate, addtag_ARG, alloc_ARG, autobackup_ARG, chunksize_ARG, contiguous_ARG, corelog_ARG, extents_ARG, ignoremonitoring_ARG, major_ARG, minor_ARG, mirrorlog_ARG, mirrors_ARG, monitor_ARG, name_ARG, nosync_ARG, noudevsync_ARG, - permission_ARG, persistent_ARG, readahead_ARG, regionsize_ARG, size_ARG, - snapshot_ARG, stripes_ARG, stripesize_ARG, test_ARG, type_ARG, - virtualoriginsize_ARG, virtualsize_ARG, zero_ARG) + permission_ARG, persistent_ARG, readahead_ARG, regionsize_ARG, + shared_store_ARG, size_ARG, snapshot_ARG, stripes_ARG, stripesize_ARG, + test_ARG, type_ARG, virtualoriginsize_ARG, virtualsize_ARG, zero_ARG) xx(lvdisplay, "Display information about a logical volume", Index: LVM2.2.02.85/tools/lvcreate.c =================================================================== --- LVM2.2.02.85.orig/tools/lvcreate.c 2011-05-20 14:57:49.000000000 +0200 +++ LVM2.2.02.85/tools/lvcreate.c 2011-05-23 15:59:00.000000000 +0200 @@ -340,8 +340,14 @@ static int _lvcreate_params(struct lvcre lp->segtype = get_segtype_from_string(cmd, arg_str_value(cmd, type_ARG, "striped")); if (arg_count(cmd, snapshot_ARG) || seg_is_snapshot(lp) || - arg_count(cmd, virtualsize_ARG)) + arg_count(cmd, virtualsize_ARG)) { lp->snapshot = 1; + if (arg_count(cmd, shared_store_ARG)) + lp->shared_store = arg_value(cmd, shared_store_ARG); + } else if (arg_count(cmd, shared_store_ARG)) { + log_error("Exception store supported only for snapshots"); + return 0; + } lp->mirrors = 1; Index: LVM2.2.02.85/lib/metadata/metadata-exported.h =================================================================== --- LVM2.2.02.85.orig/lib/metadata/metadata-exported.h 2011-05-20 14:57:26.000000000 +0200 +++ LVM2.2.02.85/lib/metadata/metadata-exported.h 2011-05-23 15:59:00.000000000 +0200 @@ -534,6 +534,8 @@ struct lvcreate_params { const char *vg_name; /* all */ const char *lv_name; /* all */ + const char *shared_store; /* type of shared exception store */ + uint32_t stripes; /* striped */ uint32_t stripe_size; /* striped */ uint32_t chunk_size; /* snapshot */