lvm_lv_deactivate seems to have no effect, LV is still available in lvdisplay

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello everybody,
I am using stock ubuntu natty with lvmlib 2.02.66:
root@11:/mnt/work/alex# uname -a
Linux 11 2.6.38-8-server #42-Ubuntu SMP Mon Apr 11 03:49:04 UTC 2011
x86_64 x86_64 x86_64 GNU/Linux

In my code I open a VG, iterate over all the LVs and then call
lvm_lv_deactivate() on each LV. The return value is 0, and also
immediately after that, I call lvm_lv_is_active() for each LV and
assert that it returns 0 (not-active).
Later in the code, I close the VG handle.

However, when I issue lvdisplay from command-line, I still see:
LV Status              available
and the dm device files for the LVs are also present (/dev/dm-0 etc).

As a result I cannot later stop the underlying md devices (PVs) using
'mdadm --stop'.
If I do lvchange -an from the command line later, it succeeds, LV
status becomes 'NOT available' and I am able to stop the md arrays.

>From looking at the code of lvmlib, it looks like lvm_lv_deactivate()
does not require lvm_vg_write(); I see that lvchange implementation
does not seem to call this when de-activating LVs. Still, I have tried
to call lvm_vg_write() with same effect.

No other application on the machine uses the same VG (at least not
that I know of).

Can anybody please advise what I might be missing.

Thanks,
  Alex.

_______________________________________________
linux-lvm mailing list
linux-lvm@redhat.com
https://www.redhat.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/


[Index of Archives]     [Gluster Users]     [Kernel Development]     [Linux Clusters]     [Device Mapper]     [Security]     [Bugtraq]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]

  Powered by Linux