Adds ionice command permutations to rootwrap filters

When setting volume_clear_ionice, the ionice command is prepended to a dd
command before executing it.  Previously, this would have failed because it
wasn't allowed through the default rootwrap filters.  This commit fixes this
problem.

Note that due to the way that the RegExpFilter works, we need three different
expressions to cover all cases.  This is because the various options result
in a different number of arguments.  And this filter will fail immediately
if the number of arguments is incorrect.

Change-Id: Ie29f7fa21b34982ed5394c2c8f38c3e066ef0112
Closes-Bug: #1300496
This commit is contained in:
Bryan D. Payne 2014-03-31 15:50:43 -07:00
parent 6b3d177695
commit d5c74a954b
1 changed files with 3 additions and 0 deletions

View File

@ -43,6 +43,9 @@ shred: CommandFilter, shred, root
#cinder/volume/.py: utils.temporary_chown(path, 0), ...
chown: CommandFilter, chown, root
ionice_1: RegExpFilter, ionice, root, ionice, -c[0-3]( -n[0-7])?, dd, if=\S+, of=\S+, count=\d+, bs=\S+
ionice_2: RegExpFilter, ionice, root, ionice, -c[0-3]( -n[0-7])?, dd, if=\S+, of=\S+, count=\d+, bs=\S+, iflag=direct, oflag=direct
ionice_3: RegExpFilter, ionice, root, ionice, -c[0-3]( -n[0-7])?, dd, if=\S+, of=\S+, count=\d+, bs=\S+, conv=fdatasync
# cinder/volume/driver.py
dmsetup: CommandFilter, dmsetup, root