linux-lvm.redhat.com archive mirror
 help / color / mirror / Atom feed
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 --]

             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).