pvl/backup/rsync.py
changeset 49 0a329ac17083
parent 48 c8aea2558f16
child 50 d23cba8064fe
equal deleted inserted replaced
48:c8aea2558f16 49:0a329ac17083
   262         log.info("filesystem: %s", path)
   262         log.info("filesystem: %s", path)
   263 
   263 
   264         return RSyncFSServer(path)
   264         return RSyncFSServer(path)
   265 
   265 
   266     elif path.startswith('lvm:') :
   266     elif path.startswith('lvm:') :
       
   267         _, lvm = path.split(':', 1)
       
   268 
   267         # LVM LV
   269         # LVM LV
   268         try :
   270         try :
   269             lvm, vg, lv = path.split(':')
   271             if ':' in lvm :
       
   272                 vg, lv = lvm.split(':', 1)
       
   273 
       
   274                 log.warn("old lvm: syntax: lvm:%s; use: lvm:%s/%s", path, vg, lv)
       
   275 
       
   276             elif '/' in lvm:
       
   277                 vg, lv = lvm.split('/', 1)
       
   278 
       
   279             else :
       
   280                 raise RSyncCommandFormatError("Invalid lvm pseudo-path: {lvm}: unrecognized vg/lv separator".format(lvm=lvm))
   270 
   281 
   271         except ValueError, e:
   282         except ValueError, e:
   272             raise RSyncCommandFormatError("Invalid lvm pseudo-path: {error}".format(error=e))
   283             raise RSyncCommandFormatError("Invalid lvm pseudo-path: {lvm}: {error}".format(lvm=lvm, error=e))
   273         
   284         
   274         # XXX: validate?
   285         # XXX: validate?
   275         log.info("LVM: %s/%s", vg, lv)
   286         log.info("LVM: %s/%s", vg, lv)
   276 
   287 
   277         # open
   288         # open