[dm-devel] [PATCH 12 of 12]: dm-snapshot-new-ctr-table-format.patch
FUJITA Tomonori
fujita.tomonori at lab.ntt.co.jp
Mon Feb 2 22:55:32 UTC 2009
On Tue, 20 Jan 2009 14:14:27 -0600
Jonathan Brassow <jbrassow at redhat.com> wrote:
> - if (1 /* less change patch to patch */) {
> + /* Detect old-style table line with type as second arg. */
> + if (!isdigit(*argv[1])) {
> if (argc < 3) {
> ti->error = "Insufficient exception store arguments";
> return -EINVAL;
> @@ -605,10 +611,34 @@ static int create_exception_store(struct
> return dm_exception_store_create(toupper(*argv[1]), ti, 2,
> tmp_argv, store);
> }
> +
> + if (sscanf(argv[1], "%u", ¶m_count) != 1) {
> + ti->error = "Invalid exception store argument count";
> + return -EINVAL;
> + }
> +
> + *args_used = 2 + param_count;
> +
> + if (argc < *args_used) {
> + ti->error = "Insufficient exception store arguments";
> + return -EINVAL;
> + }
> +
> + return dm_exception_store_create(argv[0], ti, param_count,
> + argv + 2, store);
> }
Seems that this gives me:
drivers/md/dm-snap.c: In function 'create_exception_store':
drivers/md/dm-snap.c:613: warning: passing argument 1 of 'dm_exception_store_create' makes pointer from integer without a cast
BTW, how about adding something like 'compat_name' to struct
dm_exception_store_type instead of registering two similar structures
like the followings?
static struct dm_exception_store_type _persistent_type = {
.name = "persistent",
.module = THIS_MODULE,
.ctr = persistent_ctr,
.dtr = persistent_dtr,
.read_metadata = persistent_read_metadata,
.prepare_exception = persistent_prepare_exception,
.commit_exception = persistent_commit_exception,
.drop_snapshot = persistent_drop_snapshot,
.fraction_full = persistent_fraction_full,
.status = persistent_status,
};
static struct dm_exception_store_type _persistent_compat_type = {
.name = "P",
.module = THIS_MODULE,
.ctr = persistent_ctr,
.dtr = persistent_dtr,
.read_metadata = persistent_read_metadata,
.prepare_exception = persistent_prepare_exception,
.commit_exception = persistent_commit_exception,
.drop_snapshot = persistent_drop_snapshot,
.fraction_full = persistent_fraction_full,
.status = persistent_status,
};
More information about the dm-devel
mailing list