5
print >>sys.stderr, "Invalid arguments"
9
for arg in sys.argv[1:]:
10
for opt in ['if','of']:
11
if arg.startswith(opt+'='):
13
print >>sys.stderr, "Option '%s' repeated" % (opt)
15
opts.setdefault(opt,arg.split('=',1)[1])
16
if 'if' not in opts or 'of' not in opts:
17
print >>sys.stderr, "Missing 'if' or 'of' arguments"
23
# Targets are currently unlimited
24
if opts['if'] != '/dev/zero':
26
src = os.stat(opts['if'])
27
for dm in glob.glob('/dev/mapper/*'):
28
if dm.endswith('/control'):
30
if os.stat(dm).st_rdev == src.st_rdev:
34
print >>sys.stderr, "Source is not /dev/zero or a devmapper device"
37
args = ['/bin/dd'] + sys.argv[1:]
38
os.execl('/bin/dd', *args)