1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-02-06 01:58:01 +03:00

Add device/md_chunk_alignment to lvm.conf

This commit is contained in:
Alasdair Kergon 2008-09-19 05:33:37 +00:00
parent 3c2086efdd
commit 86fb36e2b0
4 changed files with 11 additions and 1 deletions

View File

@ -1,5 +1,6 @@
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.

View File

@ -93,6 +93,11 @@ devices {
# 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

View File

@ -32,6 +32,7 @@
#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"

View File

@ -27,6 +27,7 @@
#include "display.h"
#include "locking.h"
#include "archiver.h"
#include "defaults.h"
#include <sys/param.h>
@ -74,7 +75,9 @@ unsigned long pe_align(struct physical_volume *pv)
/*
* 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));