Re: [libvirt] [PATCH] storage: Skips backingStore of virtual snapshot lv

2011-11-20 Thread Osier Yang
On 2011年11月19日 02:45, Eric Blake wrote:
 On 11/18/2011 04:15 AM, Osier Yang wrote:
 lvs outputs [$lvname_vorigin] for the virtual snapshot lv
 (created with --virtualsize), and the original device pointed
 by $lvname_vorigin is just for lvm internal use, one should
 never use it.

 Per lvm's nameing rules, [ is not valid as part of the vg/lv name.
 (man 8 lvm).
 ACK.


Pushed. Thanks

Osier

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [PATCH] storage: Skips backingStore of virtual snapshot lv

2011-11-20 Thread Osier Yang
On 2011年11月19日 02:45, Eric Blake wrote:
 On 11/18/2011 04:15 AM, Osier Yang wrote:
 lvs outputs [$lvname_vorigin] for the virtual snapshot lv
 (created with --virtualsize), and the original device pointed
 by $lvname_vorigin is just for lvm internal use, one should
 never use it.

 Per lvm's nameing rules, [ is not valid as part of the vg/lv name.
 (man 8 lvm).
 ACK.


Pushed. Thanks

Osier

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [PATCH] storage: Skips backingStore of virtual snapshot lv

2011-11-18 Thread Osier Yang

于 2011年11月18日 19:15, Osier Yang 写道:

lvs outputs [$lvname_vorigin] for the virtual snapshot lv
(created with --virtualsize), and the original device pointed
by $lvname_vorigin is just for lvm internal use, one should
never use it.


Forgot to mention the problem. If one creates a virtual snapshot lv,
the pool won't be abled to started or refreshed.



Per lvm's nameing rules, [ is not valid as part of the vg/lv name.
(man 8 lvm).

quote
VALID NAMES
The following characters are valid for VG and LV names: a-z A-Z 0-9 + _
. -

VG and LV names cannot begin with a hyphen.   There  are  also  various
reserved  names that are used internally by lvm that can not be used as
LV or VG names.  A VG cannot be called anything that exists in /dev/ at
the time of creation, nor can it be called '.' or '..'.  A LV cannot be
called '.' '..' 'snapshot' or 'pvmove'. The LV name may also  not  con‐
tain the strings '_mlog' or '_mimage'
/quote

So we can skip the set the lv's backingStore by checking if the name
begins with a [.
---
  src/storage/storage_backend_logical.c |9 -
  1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/src/storage/storage_backend_logical.c 
b/src/storage/storage_backend_logical.c
index 3c3e736..8118d08 100644
--- a/src/storage/storage_backend_logical.c
+++ b/src/storage/storage_backend_logical.c
@@ -121,7 +121,14 @@ virStorageBackendLogicalMakeVol(virStoragePoolObjPtr pool,
  }
  }

-if (groups[1]  !STREQ(groups[1], )) {
+/* Skips the backingStore of lv created with --virtualsize,
+ * its original device /dev/$vgname/$lvname_vorigin is
+ * just for lvm internal use, one should never use it.
+ *
+ * (lvs outputs [$lvname_vorigin] for field origin if the
+ *  lv is created with --virtualsize).
+ */
+if (groups[1]  !STREQ(groups[1], )  (groups[1][0] != '[')) {
  if (virAsprintf(vol-backingStore.path, %s/%s,
  pool-def-target.path, groups[1])  0) {
  virReportOOMError();


--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [PATCH] storage: Skips backingStore of virtual snapshot lv

2011-11-18 Thread Eric Blake
On 11/18/2011 04:15 AM, Osier Yang wrote:
 lvs outputs [$lvname_vorigin] for the virtual snapshot lv
 (created with --virtualsize), and the original device pointed
 by $lvname_vorigin is just for lvm internal use, one should
 never use it.
 
 Per lvm's nameing rules, [ is not valid as part of the vg/lv name.
 (man 8 lvm).

ACK.

-- 
Eric Blake   ebl...@redhat.com+1-919-301-3266
Libvirt virtualization library http://libvirt.org



signature.asc
Description: OpenPGP digital signature
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list