mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-02 01:18:26 +03:00
Propagate nosync flag around cluster.
This commit is contained in:
parent
532dae4854
commit
526a3c2186
@ -1,5 +1,6 @@
|
|||||||
Version 2.02.06 -
|
Version 2.02.06 -
|
||||||
=================================
|
=================================
|
||||||
|
Propagate nosync flag around cluster.
|
||||||
Allow vgreduce to handle mirror log failures.
|
Allow vgreduce to handle mirror log failures.
|
||||||
Add --corelog to lvcreate and lvconvert.
|
Add --corelog to lvcreate and lvconvert.
|
||||||
Create a log header for replacement in-sync mirror log.
|
Create a log header for replacement in-sync mirror log.
|
||||||
|
@ -306,6 +306,9 @@ int do_lock_lv(unsigned char command, unsigned char lock_flags, char *resource)
|
|||||||
if (lock_flags & LCK_PARTIAL_MODE)
|
if (lock_flags & LCK_PARTIAL_MODE)
|
||||||
init_partial(1);
|
init_partial(1);
|
||||||
|
|
||||||
|
if (lock_flags & LCK_MIRROR_NOSYNC_MODE)
|
||||||
|
init_mirror_in_sync(1);
|
||||||
|
|
||||||
switch (command) {
|
switch (command) {
|
||||||
case LCK_LV_EXCLUSIVE:
|
case LCK_LV_EXCLUSIVE:
|
||||||
status = do_activate_lv(resource, lock_flags, LKM_EXMODE);
|
status = do_activate_lv(resource, lock_flags, LKM_EXMODE);
|
||||||
|
@ -333,6 +333,9 @@ static int _lock_for_cluster(unsigned char cmd, unsigned int flags, char *name)
|
|||||||
if (partial_mode())
|
if (partial_mode())
|
||||||
args[1] |= LCK_PARTIAL_MODE;
|
args[1] |= LCK_PARTIAL_MODE;
|
||||||
|
|
||||||
|
if (mirror_sync())
|
||||||
|
args[1] |= LCK_MIRROR_NOSYNC_MODE;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* VG locks are just that: locks, and have no side effects
|
* VG locks are just that: locks, and have no side effects
|
||||||
* so we only need to do them on the local node because all
|
* so we only need to do them on the local node because all
|
||||||
|
@ -74,6 +74,7 @@ int check_lvm1_vg_inactive(struct cmd_context *cmd, const char *vgname);
|
|||||||
* Additional lock bits for cluster communication
|
* Additional lock bits for cluster communication
|
||||||
*/
|
*/
|
||||||
#define LCK_PARTIAL_MODE 0x00000001 /* Running in partial mode */
|
#define LCK_PARTIAL_MODE 0x00000001 /* Running in partial mode */
|
||||||
|
#define LCK_MIRROR_NOSYNC_MODE 0x00000002 /* Mirrors don't require sync */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Common combinations
|
* Common combinations
|
||||||
|
@ -235,7 +235,7 @@ int reconfigure_mirror_images(struct lv_segment *mirrored_seg, uint32_t num_mirr
|
|||||||
{
|
{
|
||||||
int r;
|
int r;
|
||||||
int insync = 0;
|
int insync = 0;
|
||||||
int mirror_dev_failed = (mirrored_seg->area_count != num_mirrors);
|
// int mirror_dev_failed = (mirrored_seg->area_count != num_mirrors);
|
||||||
float sync_percent = 0;
|
float sync_percent = 0;
|
||||||
|
|
||||||
/* was the mirror in-sync before problems? */
|
/* was the mirror in-sync before problems? */
|
||||||
|
Loading…
Reference in New Issue
Block a user