equal
deleted
inserted
replaced
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 |