Hello Saggi Mizrahi, Antoni Segura Puimedon, Dan Kenigsberg,
I'd like you to do a code review. Please visit
http://gerrit.ovirt.org/13810
to review the following change.
Change subject: Don't user sudo in fuser
......................................................................
Don't user sudo in fuser
Change-Id: I74842ffda1bc1d5ebb54de5e1933fedd851e745b
Signed-off-by: Saggi Mizrahi <smizrahi(a)redhat.com>
Reviewed-on:
http://gerrit.ovirt.org/13779
Reviewed-by: Dan Kenigsberg <danken(a)redhat.com>
Tested-by: Antoni Segura Puimedon <asegurap(a)redhat.com>
---
M vdsm/storage/blockSD.py
M vdsm/storage/fuser.py
M vdsm/sudoers.vdsm.in
M vdsm/supervdsmServer.py
4 files changed, 9 insertions(+), 4 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/10/13810/1
diff --git a/vdsm/storage/blockSD.py b/vdsm/storage/blockSD.py
index e66256d..e22a1e2 100644
--- a/vdsm/storage/blockSD.py
+++ b/vdsm/storage/blockSD.py
@@ -48,7 +48,7 @@
from storage_mailbox import MAILBOX_SIZE
import resourceManager as rm
import mount
-from fuser import fuser
+import supervdsm as svdsm
STORAGE_DOMAIN_TAG = "RHAT_storage_domain"
STORAGE_UNREADY_DOMAIN_TAG = STORAGE_DOMAIN_TAG + "_UNREADY"
@@ -1122,7 +1122,8 @@
masterMount.umount()
except mount.MountError:
# umount failed, try to kill that processes holding mount point
- pids = fuser(masterMount.fs_file, mountPoint=True)
+ svdsmp = svdsm.getProxy()
+ pids = svdsmp.fuser(masterMount.fs_file, mountPoint=True)
# It was unmounted while I was checking no need to do anything
if not masterMount.isMounted():
diff --git a/vdsm/storage/fuser.py b/vdsm/storage/fuser.py
index 135dad6..0f235ee 100644
--- a/vdsm/storage/fuser.py
+++ b/vdsm/storage/fuser.py
@@ -27,7 +27,7 @@
cmd.append("-m")
cmd.append(path)
- (rc, out, err) = misc.execCmd(cmd, raw=True, sudo=True)
+ (rc, out, err) = misc.execCmd(cmd, raw=True, sudo=False)
if rc != 0:
return []
diff --git a/vdsm/sudoers.vdsm.in b/vdsm/sudoers.vdsm.in
index 4fc75f9..70628f8 100644
--- a/vdsm/sudoers.vdsm.in
+++ b/vdsm/sudoers.vdsm.in
@@ -12,7 +12,6 @@
@FSCK_PATH@ -p *, \
@TUNE2FS_PATH@ -j *, \
@MKFS_PATH@ -q -j *, \
- @FUSER_PATH@ -m *, \
@KILL_PATH@, \
@CHOWN_PATH@ @VDSMUSER@\:@QEMUGROUP@ *, \
@CHOWN_PATH@ @METADATAUSER@\:@METADATAGROUP@ *, \
diff --git a/vdsm/supervdsmServer.py b/vdsm/supervdsmServer.py
index 21e7c94..3f7ce1c 100755
--- a/vdsm/supervdsmServer.py
+++ b/vdsm/supervdsmServer.py
@@ -26,6 +26,7 @@
import errno
import threading
import re
+import fuser
from time import sleep
import signal
from multiprocessing import Pipe, Process
@@ -307,6 +308,10 @@
def removeFs(self, path):
return mkimage.removeFs(path)
+ @logDecorator
+ def fuser(self, *args):
+ return fuser.fuser(*args)
+
def __udevReloadRules(self, guid):
if self.__udevOperationReload():
reload = "--reload"
--
To view, visit
http://gerrit.ovirt.org/13810
To unsubscribe, visit
http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I74842ffda1bc1d5ebb54de5e1933fedd851e745b
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: ovirt-3.2
Gerrit-Owner: Federico Simoncelli <fsimonce(a)redhat.com>
Gerrit-Reviewer: Antoni Segura Puimedon <asegurap(a)redhat.com>
Gerrit-Reviewer: Dan Kenigsberg <danken(a)redhat.com>
Gerrit-Reviewer: Saggi Mizrahi <smizrahi(a)redhat.com>