[lvm-devel] LVM2/scripts gdbinit
jbrassow at sourceware.org
jbrassow at sourceware.org
Thu Sep 1 21:01:12 UTC 2011
CVSROOT: /cvs/lvm2
Module name: LVM2
Changes by: jbrassow at sourceware.org 2011-09-01 21:01:12
Modified files:
scripts : gdbinit
Log message:
Updates to gdbinit file
1) Add more status flags for printing
2) Fix bug in lv_status_r processing for mirror segment type
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/scripts/gdbinit.diff?cvsroot=lvm2&r1=1.7&r2=1.8
--- LVM2/scripts/gdbinit 2011/07/01 16:15:25 1.7
+++ LVM2/scripts/gdbinit 2011/09/01 21:01:12 1.8
@@ -27,8 +27,8 @@
printf "Use 'help <command>' for more info\n"
printf "\n\n"
printf "Popular breakpoints:\n"
-printf "break lv_raid_change_image_count\n"
-printf "run -m1 vg/lv\n"
+printf "break _split_mirror_images\n"
+printf "run --splitmirrors 2 -n new vg/lv\n"
printf "\n\n"
set follow-fork-mode child
@@ -114,7 +114,7 @@
set $_SMI_seg = (struct lv_segment *)$arg1
set $_SMI_index= $arg2
- if ($_SMI_index < $_SMI_seg->area_count)
+ if (($_SMI_index < $_SMI_seg->area_count) && $_SMI_seg->meta_areas)
set $_SMI_area = $_SMI_seg->meta_areas[$_SMI_index]
set $_SMI_type = $_SMI_area.type
@@ -174,6 +174,21 @@
# Constants defined in metadata-exported.h
+# if ($_s_status & RAID)
+ if ($_s_status & 0x00000001U)
+ set $_s_status = $_s_status & ~0x00000001U
+ printf " RAID"
+ end
+# if ($_s_status & RAID_META)
+ if ($_s_status & 0x00000002U)
+ set $_s_status = $_s_status & ~0x00000002U
+ printf " RAID_META"
+ end
+# if ($_s_status & RAID_IMAGE)
+ if ($_s_status & 0x00000004U)
+ set $_s_status = $_s_status & ~0x00000004U
+ printf " RAID_IMAGE"
+ end
# if ($_s_status & VISIBLE_LV)
if ($_s_status & 0x00000040U)
printf " VISIBLE_LV"
@@ -186,6 +201,16 @@
set $_s_status = $_s_status & ~0x00000080U
printf " FIXED_MINOR"
end
+# if ($_s_status & LVM_READ)
+ if ($_s_status & 0x00000100U)
+ set $_s_status = $_s_status & ~0x00000100U
+ printf " LVM_READ"
+ end
+# if ($_s_status & LVM_WRITE)
+ if ($_s_status & 0x00000200U)
+ set $_s_status = $_s_status & ~0x00000200U
+ printf " LVM_WRITE"
+ end
# if ($_s_status & SNAPSHOT)
if ($_s_status & 0x00001000U)
set $_s_status = $_s_status & ~0x00001000U
@@ -216,21 +241,6 @@
set $_s_status = $_s_status & ~0x00040000U
printf " MIRROR_IMAGE"
end
-# if ($_s_status & RAID)
- if ($_s_status & 0x00000001U)
- set $_s_status = $_s_status & ~0x00000001U
- printf " RAID"
- end
-# if ($_s_status & RAID_META)
- if ($_s_status & 0x00000002U)
- set $_s_status = $_s_status & ~0x00000002U
- printf " RAID_META"
- end
-# if ($_s_status & RAID_IMAGE)
- if ($_s_status & 0x00000004U)
- set $_s_status = $_s_status & ~0x00000004U
- printf " RAID_IMAGE"
- end
# if ($_s_status & LV_NOTSYNCED)
if ($_s_status & 0x00080000U)
set $_s_status = $_s_status & ~0x00080000U
@@ -241,15 +251,10 @@
set $_s_status = $_s_status & ~0x00400000U
printf " CONVERTING"
end
-# if ($_s_status & LVM_READ)
- if ($_s_status & 0x00000100U)
- set $_s_status = $_s_status & ~0x00000100U
- printf " LVM_READ"
- end
-# if ($_s_status & LVM_WRITE)
- if ($_s_status & 0x00000200U)
- set $_s_status = $_s_status & ~0x00000200U
- printf " LVM_WRITE"
+# if ($_s_status & MERGING)
+ if ($_s_status & 0x10000000U)
+ set $_s_status = $_s_status & ~0x10000000U
+ printf " MERGING"
end
if ($_s_status)
@@ -417,7 +422,9 @@
# __lv_status_r <LV>
# Decend tree, printing LV and seg status as we go. This
# performs a depth first approach (but can't come up)
+#
# or
+#
# __lv_status_r <sub_lv> <seg using sub_lv>
# Try continuing decent of tree by first shifting to the
# next 'area' in the seg ($arg1). If no more areas, then
@@ -464,7 +471,6 @@
if (!$_area_index)
seg_status $_seg $indent
end
-
__seg_type $_type $_seg $_area_index
if ($_type == AREA_LV)
set $indent++
More information about the lvm-devel
mailing list