]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-disk: handle /dev/foo/bar devices throughout
authorSage Weil <sage@inktank.com>
Tue, 18 Jun 2013 23:21:48 +0000 (16:21 -0700)
committerSage Weil <sage@inktank.com>
Wed, 24 Jul 2013 22:46:37 +0000 (15:46 -0700)
Assume the last component is the unique device name, even if it appears
under a subdir of /dev.

Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit cb97338b1186939deecb78e9d949c38c3ef59026)

src/ceph-disk

index 643eb588a4083d99b1c88d6ecf04ea97d9853cdd..cb9d510cf97362e28c9ac55435bd0c8514237e26 100755 (executable)
@@ -288,7 +288,7 @@ def is_held(dev):
     """
     assert os.path.exists(dev)
     dev = os.path.realpath(dev)
-    base = dev[5:]
+    base = dev.split('/')[-1]
 
     # full disk?
     directory = '/sys/block/{base}/holders'.format(base=base)
@@ -1978,7 +1978,7 @@ def is_suppressed(path):
     try:
         if not disk.startswith('/dev/') or not stat.S_ISBLK(os.lstat(path).st_mode):
             return False
-        base = disk[5:]
+        base = disk.split('/')[-1]
         while len(base):
             if os.path.exists(SUPPRESS_PREFIX + base):
                 return True
@@ -1992,7 +1992,7 @@ def set_suppress(path):
         raise Error('does not exist', path)
     if not stat.S_ISBLK(os.lstat(path).st_mode):
         raise Error('not a block device', path)
-    base = disk[5:]
+    base = disk.split('/')[-1]
 
     with file(SUPPRESS_PREFIX + base, 'w') as f:
         pass
@@ -2005,7 +2005,7 @@ def unset_suppress(path):
     if not stat.S_ISBLK(os.lstat(path).st_mode):
         raise Error('not a block device', path)
     assert disk.startswith('/dev/')
-    base = disk[5:]
+    base = disk.split('/')[-1]
 
     fn = SUPPRESS_PREFIX + base
     if not os.path.exists(fn):