Hello community, here is the log from the commit of package lvm2 for openSUSE:Factory checked in at 2014-05-23 08:05:13 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/lvm2 (Old) and /work/SRC/openSUSE:Factory/.lvm2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "lvm2" Changes: -------- --- /work/SRC/openSUSE:Factory/lvm2/lvm2.changes 2014-04-26 17:01:51.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.lvm2.new/lvm2.changes 2014-05-23 08:05:15.000000000 +0200 @@ -1,0 +2,5 @@ +Mon May 12 08:11:08 UTC 2014 - lwang@suse.com + +-bnc#871176, 0001-RAID-Make-RAID-4-5-6-display-sync-status-under-headi.patch + +------------------------------------------------------------------- New: ---- 0001-RAID-Make-RAID-4-5-6-display-sync-status-under-headi.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ lvm2.spec ++++++ --- /var/tmp/diff_new_pack.tliayr/_old 2014-05-23 08:05:17.000000000 +0200 +++ /var/tmp/diff_new_pack.tliayr/_new 2014-05-23 08:05:17.000000000 +0200 @@ -100,6 +100,10 @@ # Never upstream Patch90: cmirrord_remove_date_time_from_compilation.patch + +#upstream, bnc#871176 +Patch91: 0001-RAID-Make-RAID-4-5-6-display-sync-status-under-headi.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-build # Not a real replacement but we drop evms Provides: evms = 2.5.5 @@ -154,6 +158,7 @@ %patch88 -p1 %patch89 -p1 %patch90 -p1 +%patch91 -p1 %build #set path so that thin_check can be found ++++++ 0001-RAID-Make-RAID-4-5-6-display-sync-status-under-headi.patch ++++++
From e1917809477c4850cc1094121001d61a2b70ef26 Mon Sep 17 00:00:00 2001 From: Jonathan Brassow
Date: Tue, 23 Oct 2012 21:19:27 -0500 Subject: [PATCH 1/1] RAID: Make RAID 4/5/6 display sync status under heading s/Copy%/Cpy%Sync
The heading 'Copy%' is specific to PVMOVE volumes, but can be generalized to apply to LVM mirrors also. It is a bit awkward to use 'Copy%' for RAID 4/5/6, however - 'Sync%' would be more appropriate. This is why RAID 4/5/6 have not displayed their sync status by any means available to 'lvs' yet. Example (old): [root@hayes-02 lvm2]# lvs vg LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sy Convert lv vg -wi-a---- 1.00g raid1 vg rwi-a-r-- 1.00g 100.00 raid4 vg rwi-a-r-- 1.01g raid5 vg rwi-a-r-- 1.01g raid6 vg rwi-a-r-- 1.01g This patch changes the heading to 'Cpy%Sync' and allows RAID 4/5/6 to print their sync percent in this field. Example (new): [root@hayes-02 lvm2]# lvs vg LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert lv vg -wi-a---- 1.00g raid1 vg rwi-a-r-- 1.00g 100.00 raid4 vg rwi-a-r-- 1.01g 100.00 raid5 vg rwi-a-r-- 1.01g 100.00 raid6 vg rwi-a-r-- 1.01g 100.00 --- lib/report/columns.h | 3 ++- lib/report/properties.c | 2 ++ lib/report/report.c | 20 +++++++++++++------- man/lvs.8.in | 1 + 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/lib/report/columns.h b/lib/report/columns.h index 6299a2b..c83a086 100644 --- a/lib/report/columns.h +++ b/lib/report/columns.h @@ -78,7 +78,8 @@ FIELD(LVS, lv, NUM, "OSize", lvid, 5, originsize, origin_size, "For snapshots, t FIELD(LVS, lv, NUM, "Data%", lvid, 6, datapercent, data_percent, "For snapshot and thin pools and volumes, the percentage full if LV is active.", 0) FIELD(LVS, lv, NUM, "Snap%", lvid, 6, snpercent, snap_percent, "For snapshots, the percentage full if LV is active.", 0) FIELD(LVS, lv, NUM, "Meta%", lvid, 6, metadatapercent, metadata_percent, "For thin pools, the percentage of metadata full if LV is active.", 0) -FIELD(LVS, lv, NUM, "Copy%", lvid, 6, copypercent, copy_percent, "For mirrors and pvmove, current percentage in-sync.", 0) +FIELD(LVS, lv, NUM, "Cpy%Sync", lvid, 8, copypercent, copy_percent, "For RAID, mirrors and pvmove, current percentage in-sync.", 0) +FIELD(LVS, lv, NUM, "Cpy%Sync", lvid, 8, copypercent, sync_percent, "For RAID, mirrors and pvmove, current percentage in-sync.", 0) FIELD(LVS, lv, STR, "Move", lvid, 4, movepv, move_pv, "For pvmove, Source PV of temporary LV created by pvmove.", 0) FIELD(LVS, lv, STR, "Convert", lvid, 7, convertlv, convert_lv, "For lvconvert, Name of temporary LV created by lvconvert.", 0) FIELD(LVS, lv, STR, "Log", lvid, 3, loglv, mirror_log, "For mirrors, the LV holding the synchronisation log.", 0) diff --git a/lib/report/properties.c b/lib/report/properties.c index c4f6ab9..fe197f5 100644 --- a/lib/report/properties.c +++ b/lib/report/properties.c @@ -189,6 +189,8 @@ GET_LV_NUM_PROPERTY_FN(snap_percent, _snap_percent(lv)) #define _snap_percent_set _not_implemented_set GET_LV_NUM_PROPERTY_FN(copy_percent, _copy_percent(lv)) #define _copy_percent_set _not_implemented_set +GET_LV_NUM_PROPERTY_FN(sync_percent, _copy_percent(lv)) +#define _sync_percent_set _not_implemented_set GET_LV_STR_PROPERTY_FN(move_pv, lv_move_pv_dup(lv->vg->vgmem, lv)) #define _move_pv_set _not_implemented_set GET_LV_STR_PROPERTY_FN(convert_lv, lv_convert_lv_dup(lv->vg->vgmem, lv)) diff --git a/lib/report/report.c b/lib/report/report.c index b1e2bc1..1833458 100644 --- a/lib/report/report.c +++ b/lib/report/report.c @@ -898,13 +898,14 @@ static int _copypercent_disp(struct dm_report *rh __attribute__((unused)), return 0; } - if ((!(lv->status & PVMOVE) && !(lv->status & MIRRORED)) || - !lv_mirror_percent(lv->vg->cmd, lv, 0, &percent, - NULL) || (percent == PERCENT_INVALID)) { - *sortval = UINT64_C(0); - dm_report_field_set_value(field, "", sortval); - return 1; - } + if (lv->status & RAID) { + if (!lv_raid_percent(lv, &percent) || + (percent == PERCENT_INVALID)) + goto no_copypercent; + } else if ((!(lv->status & PVMOVE) && !(lv->status & MIRRORED)) || + !lv_mirror_percent(lv->vg->cmd, lv, 0, &percent, NULL) || + (percent == PERCENT_INVALID)) + goto no_copypercent; percent = copy_percent(lv); @@ -922,6 +923,11 @@ static int _copypercent_disp(struct dm_report *rh __attribute__((unused)), dm_report_field_set_value(field, repstr, sortval); return 1; + +no_copypercent: + *sortval = UINT64_C(0); + dm_report_field_set_value(field, "", sortval); + return 1; } static int _dtpercent_disp(int metadata, struct dm_report *rh, diff --git a/man/lvs.8.in b/man/lvs.8.in index f31256c..d4d77b0 100644 --- a/man/lvs.8.in +++ b/man/lvs.8.in @@ -113,6 +113,7 @@ seg_tags, snap_percent, stripes, stripe_size, +sync_percent, thin_count, transaction_id, zero. -- 1.9.0 -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org