Re: [PATCH] Better naming for LVM volume groups and logical volumes (#461682)

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

 





David Cantrell wrote:
Try to name volume groups as vg_HOSTNAME and logical volumes as
lv_MOUNTPOINT, if we can.  Swap partitions will be lv_swapNN where
NN is a unique number in the instance where more than one swap
partition in use.  The / partition will get the name lv_root.
---
 autopart.py |   23 +++++++++++++++--
 lvm.py      |   76 +++++++++++++++++++++++++++++++++++++++++-----------------
 2 files changed, 74 insertions(+), 25 deletions(-)


See my comments below.

diff --git a/autopart.py b/autopart.py
index f335602..544c403 100644
--- a/autopart.py
+++ b/autopart.py
@@ -1463,7 +1463,7 @@ def doAutoPartition(anaconda):
                     # FIXME: this is a hack so that autopartition'd vgs
                     # can have a unique name
                     if req.autoname == 1 and req.volumeGroupName == "lvm":
-                        n = lvm.createSuggestedVGName(partitions)
+                        n = lvm.createSuggestedVGName(partitions, anaconda.id.network)
                         req.volumeGroupName = n
if (isinstance(req, partRequests.LogicalVolumeRequestSpec)):
@@ -1663,17 +1663,34 @@ def autoCreateLVMPartitionRequests(autoreq):
                                                     grow = grow,
                                                     format = format)
         else:
+            # try to incorporate the mount point in to the logical volume name
+            if mntpt is not None and mntpt != '':
+                if mntpt == '/':
+                    lvtemplate = 'lv_root'
+                else:
+                    tmp = string.strip(mntpt)
+                    tmp = tmp.replace('/', '_')
+
+                    while not tmp.startswith('_'):
+                        tmp = tmp[1:]
+

Shouldn't that be:
                    while tmp.startswith('_'):
                        tmp = tmp[1:]

I assume the purpose is to strip any prefixed / replaced now by _ ?

+                    lvtemplate = "lv_%s" % (tmp,)
+            else:
+                if ptype == fsset.fileSystemTypeGet("swap"):
+                    lvtemplate = "lv_swap"
+                else:
+                    lvtemplate = "LogVol"
+

Ok, so if we don't know what todo we fallback to the old behavior.

             newrequest = partRequests.LogicalVolumeRequestSpec(ptype,
                                                                mountpoint = mntpt,
                                                                size = minsize,
                                                                maxSizeMB = maxsize,
                                                                grow = grow,
                                                                format = format,
-                                                               lvname = "LogVol%02d" %(volnum,),
+                                                               lvname = "%s" %(lvtemplate,),
                                                                volgroup = "lvm")
             volnum += 1

I notice that the appending of 00 01, etc. is gone here, what then if we
fallback to the old behavior twice, then we get 2 identical names.

<snip>

 def createSuggestedLVName(logreqs):
     """Given list of LV requests, come up with a reasonable LV name
partitions - list of LV requests for this VG
     """
+
+    # try to incorporate the mount point in to the logical volume name
+    if lv.mountpoint is not None and lv.mountpoint != '':
+        if lv.mountpoint == '/':
+            lvtemplate = 'lv_root'
+        else:
+            tmp = string.strip(lv.mountpoint)
+            tmp = tmp.replace('/', '_')
+
+            while not tmp.startswith('_'):
+                tmp = tmp[1:]
+

Same as above, also this seems a copy and paste job, shouldn't this be put in a shared function somewhere then ?

<snip>

Regards,

Hans

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list

[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux