Version 2.02.40 -
================================
+ Add device/md_chunk_alignment to lvm.conf.
Pass struct physical_volume to pe_align and adjust for md chunk size.
Store sysfs location in struct cmd_context.
Avoid shuffling remaining mirror images when removing one, retaining primary.
# 1 enables; 0 disables.
md_component_detection = 1
+ # By default, if a PV is placed directly upon an md device, LVM2
+ # will align its data blocks with the the chunk_size exposed in sysfs.
+ # 1 enables; 0 disables.
+ md_chunk_alignment = 1
+
# If, while scanning the system for PVs, LVM2 encounters a device-mapper
# device that has its I/O suspended, it waits for it to become accessible.
# Set this to 1 to skip such devices. This should only be needed
#define DEFAULT_PROC_DIR "/proc"
#define DEFAULT_SYSFS_SCAN 1
#define DEFAULT_MD_COMPONENT_DETECTION 1
+#define DEFAULT_MD_CHUNK_ALIGNMENT 1
#define DEFAULT_IGNORE_SUSPENDED_DEVICES 1
#define DEFAULT_LOCK_DIR "/var/lock/lvm"
#include "display.h"
#include "locking.h"
#include "archiver.h"
+#include "defaults.h"
#include <sys/param.h>
/*
* Align to chunk size of underlying md device if present
*/
- if (pv->dev)
+ if (pv->dev &&
+ find_config_tree_bool(pv->fmt->cmd, "devices/md_chunk_alignment",
+ DEFAULT_MD_CHUNK_ALIGNMENT))
pv->pe_align = MAX(pv->pe_align,
dev_md_chunk_size(pv->fmt->cmd->sysfs_dir,
pv->dev));