public inbox for lvm2-cvs@sourceware.org help / color / mirror / Atom feed
From: zkabelac@sourceware.org To: lvm-devel@redhat.com, lvm2-cvs@sourceware.org Subject: LVM2 lib/metadata/merge.c libdm/libdevmapper.h ... Date: Thu, 06 Oct 2011 11:05:00 -0000 [thread overview] Message-ID: <20111006110557.32291.qmail@sourceware.org> (raw) CVSROOT: /cvs/lvm2 Module name: LVM2 Changes by: zkabelac@sourceware.org 2011-10-06 11:05:56 Modified files: lib/metadata : merge.c libdm : libdevmapper.h libdm-deptree.c Log message: Move defines to header Make limits for thin data_block_size and device_id part of public API. FIXME: read them possible from some kernel header file in the future ? But we may need to support different values for different versions ? Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/merge.c.diff?cvsroot=lvm2&r1=1.51&r2=1.52 http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/libdm/libdevmapper.h.diff?cvsroot=lvm2&r1=1.157&r2=1.158 http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/libdm/libdm-deptree.c.diff?cvsroot=lvm2&r1=1.120&r2=1.121 --- LVM2/lib/metadata/merge.c 2011/09/29 09:03:36 1.51 +++ LVM2/lib/metadata/merge.c 2011/10/06 11:05:56 1.52 @@ -202,7 +202,8 @@ inc_error_count; } - if (seg->data_block_size < 128 || seg->data_block_size > 2097152) { + if (seg->data_block_size < DM_THIN_MIN_DATA_SIZE || + seg->data_block_size > DM_THIN_MAX_DATA_SIZE) { log_error("LV %s: thin pool segment %u data block size %d is out of range", lv->name, seg_count, seg->data_block_size); inc_error_count; @@ -238,7 +239,7 @@ inc_error_count; } - if (seg->device_id >= (1 << 24)) { + if (seg->device_id > DM_THIN_MAX_DEVICE_ID) { log_error("LV %s: thin volume segment %u has too large device id %d", lv->name, seg_count, seg->device_id); inc_error_count; --- LVM2/libdm/libdevmapper.h 2011/10/04 16:22:38 1.157 +++ LVM2/libdm/libdevmapper.h 2011/10/06 11:05:56 1.158 @@ -536,6 +536,16 @@ /* End of Replicator API */ /* API for thin provisioning is experimental, DO NOT USE. */ +/* + * FIXME: Defines bellow are based on kernel's dm-thin.c defines + * DATA_DEV_BLOCK_SIZE_MIN_SECTORS (64 * 1024 >> SECTOR_SHIFT) + * DATA_DEV_BLOCK_SIZE_MAX_SECTORS (1024 * 1024 * 1024 >> SECTOR_SHIFT) + * MAX_DEV_ID ((1 << 24) - 1) + */ +#define DM_THIN_MIN_DATA_SIZE (UINT32_C(128)) +#define DM_THIN_MAX_DATA_SIZE (UINT32_C(2097152)) +#define DM_THIN_MAX_DEVICE_ID (UINT32_C((1 << 24) - 1)) + int dm_tree_node_add_thin_pool_target(struct dm_tree_node *node, uint64_t size, uint64_t transaction_id, --- LVM2/libdm/libdm-deptree.c 2011/10/04 16:22:39 1.120 +++ LVM2/libdm/libdm-deptree.c 2011/10/06 11:05:56 1.121 @@ -29,12 +29,6 @@ #define REPLICATOR_LOCAL_SITE 0 -#define THIN_MIN_DATA_SIZE 128 -#define THIN_MAX_DATA_SIZE 2097152 -#define THIN_MAX_DEVICE_ID ((1 << 24) - 1) - -#define QUOTE(x) #x - /* Supported segment types */ enum { SEG_CRYPT, @@ -2720,17 +2714,15 @@ { struct load_segment *seg; - if (data_block_size < THIN_MIN_DATA_SIZE) { - log_error("Data block size %d is lower then " - QUOTE(THIN_MIN_DATA_SIZE) " sectors.", - data_block_size); + if (data_block_size < DM_THIN_MIN_DATA_SIZE) { + log_error("Data block size %u is lower then %u sectors.", + data_block_size, DM_THIN_MIN_DATA_SIZE); return 0; } - if (data_block_size > THIN_MAX_DATA_SIZE) { - log_error("Data block size %d is higher then " - QUOTE(THIN_MAX_DATA_SIZE) " sectors.", - data_block_size); + if (data_block_size > DM_THIN_MAX_DATA_SIZE) { + log_error("Data block size %u is higher then %u sectors.", + data_block_size, DM_THIN_MAX_DATA_SIZE); return 0; } @@ -2768,9 +2760,9 @@ { struct load_segment *seg; - if (device_id > THIN_MAX_DEVICE_ID) { - log_error("Device id %d is higher then " QUOTE(THIN_MAX_DEVICE_ID) ".", - device_id); + if (device_id > DM_THIN_MAX_DEVICE_ID) { + log_error("Device id %u is higher then %u.", + device_id, DM_THIN_MAX_DEVICE_ID); return 0; }
reply other threads:[~2011-10-06 11:05 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20111006110557.32291.qmail@sourceware.org \ --to=zkabelac@sourceware.org \ --cc=lvm-devel@redhat.com \ --cc=lvm2-cvs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).