From: zkabelac@sourceware.org <zkabelac@sourceware.org>
To: lvm-devel@redhat.com
Subject: LVM2 lib/metadata/merge.c libdm/libdevmapper.h ...
Date: 6 Oct 2011 11:05:57 -0000 [thread overview]
Message-ID: <20111006110557.32291.qmail@sourceware.org> (raw)
CVSROOT: /cvs/lvm2
Module name: LVM2
Changes by: zkabelac at 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 \
/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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.