From: Kyle Manna <kyle@kylemanna.com>
To: linux-lvm@redhat.com
Subject: [linux-lvm] lvchange seg faults after switching cache policy mq->cleaner->mq
Date: Sat, 2 May 2015 20:32:11 -0700 [thread overview]
Message-ID: <20150503033210.GA14087@kylemanna.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 3390 bytes --]
Hi,
I (attempted to) change the cache policy on a LV to write the changes
out to the disk.
# lvchange --cachepolicy cleaner vg0/home
Verified the expected setting with:
# lvs -o +cache_policy,cache_settings vg0/home
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Cache Policy Cache Settings
home vg0 Cwi-aoC--- 2.61t [cache0] [home_corig] 100.00 13.25 0.00 cleaner
After doing some tasks (i.e. reflashing the firmware of my broken
Samsung 840 EVO), I wanted to re-enable the mq cache policy with:
# lvchange --cachepolicy mq vg0/home
However, now lvchange segmentation faults on me. I started with lvm2 on
Arch Linux at version 2.02.116-1. I just compiled the git head
(75aa3e951f2) and still have the seg fault.
Recompiled with debug flags and have this stack trace:
#0 0x00007ffff756c8ef in _clone_config_value (mem=0x5555559543a0, v=0x0) at libdm-config.c:1261
#1 0x00007ffff756cfde in _override_path (path=0x555555954330 "/policy_settings", node=0x555555983e18, baton=0x555555997420) at libdm-config.c:1343
#2 0x00007ffff756d1e3 in _enumerate (path=0x7ffff7580d2a "", cn=0x555555983e18, cb=0x7ffff756cf08 <_override_path>, baton=0x555555997420) at libdm-config.c:1360
#3 0x00007ffff756d36b in dm_config_flatten (cft=0x55555594ae60) at libdm-config.c:1382
#4 0x00005555555f5bfc in lv_cache_setpolicy (lv=0x5555559830b0, policy=0x55555597a6d0) at metadata/cache_manip.c:417
#5 0x000055555557bb62 in _lvchange_cachepolicy (cmd=0x555555900000, lv=0x5555559830b0) at lvchange.c:685
#6 0x000055555557d736 in _lvchange_single (cmd=0x555555900000, lv=0x5555559830b0, handle=0x555555940558) at lvchange.c:1102
#7 0x00005555555aa61f in process_each_lv_in_vg (cmd=0x555555900000, vg=0x555555982b80, arg_lvnames=0x7fffffffdbd0, tags_in=0x7fffffffdcc0, stop_on_error=0,
handle=0x555555940558, process_single_lv=0x55555557c836 <_lvchange_single>) at toollib.c:2072
#8 0x00005555555aaec0 in _process_lv_vgnameid_list (cmd=0x555555900000, flags=1048576, vgnameids_to_process=0x7fffffffdc80, arg_vgnames=0x7fffffffdcb0,
arg_lvnames=0x7fffffffdca0, arg_tags=0x7fffffffdcc0, handle=0x555555940558, process_single_lv=0x55555557c836 <_lvchange_single>) at toollib.c:2280
#9 0x00005555555ab27b in process_each_lv (cmd=0x555555900000, argc=1, argv=0x7fffffffdee0, flags=1048576, handle=0x555555940558,
process_single_lv=0x55555557c836 <_lvchange_single>) at toollib.c:2356
#10 0x000055555557e136 in lvchange (cmd=0x555555900000, argc=1, argv=0x7fffffffdee0) at lvchange.c:1260
#11 0x0000555555597bca in lvm_run_command (cmd=0x555555900000, argc=1, argv=0x7fffffffdee0) at lvmcmdline.c:1521
#12 0x000055555559921e in lvm2_main (argc=4, argv=0x7fffffffdec8) at lvmcmdline.c:1985
#13 0x00005555555b6cc0 in main (argc=4, argv=0x7fffffffdec8) at lvm.c:21
(gdb) frame 1
#1 0x00007ffff756cfde in _override_path (path=0x555555954330 "/policy_settings", node=0x555555983e18, baton=0x555555997420) at libdm-config.c:1343
1343 if (!(target->v = _clone_config_value(cft->mem, node->v)))
More readable @ https://gist.github.com/fb7a054e6c3f77332b85
I didn't have enough time to dig in deeper, but the v=0 in the
_clone_config_value() is where things appear to go off the rails.
Hoping this means more to someone who is more familiar with this code.
[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]
next reply other threads:[~2015-05-03 3:39 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-03 3:32 Kyle Manna [this message]
-- strict thread matches above, loose matches on Subject: below --
2015-05-06 18:15 [linux-lvm] lvchange seg faults after switching cache policy mq->cleaner->mq Kyle Manna
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150503033210.GA14087@kylemanna.com \
--to=kyle@kylemanna.com \
--cc=linux-lvm@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).