]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commitdiff
Adds ionice command permutations to rootwrap filters
authorBryan D. Payne <bdpayne@acm.org>
Mon, 31 Mar 2014 22:50:43 +0000 (15:50 -0700)
committerjohn-griffith <john.griffith@solidfire.com>
Fri, 4 Apr 2014 14:40:39 +0000 (08:40 -0600)
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
(cherry picked from commit d5c74a954b260567874c45c39b92904f3756b806)

etc/cinder/rootwrap.d/volume.filters

index e4259332fdf1ca0d3c2026af3e8f9f077c6d72aa..5b574040a7a86bb80c90fa8f5144183fdcecb404 100644 (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