From 37500616aadfa94ab816e71a0c18df3d91b5e42f Mon Sep 17 00:00:00 2001 From: Lakshmipathi Date: Thu, 15 Sep 2011 15:07:26 +0530 Subject: gsyncd python script for checking mtab race --- python_pgms/gsyncd_mtab_race/mtab_gsync.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 python_pgms/gsyncd_mtab_race/mtab_gsync.py (limited to 'python_pgms/gsyncd_mtab_race') diff --git a/python_pgms/gsyncd_mtab_race/mtab_gsync.py b/python_pgms/gsyncd_mtab_race/mtab_gsync.py new file mode 100644 index 0000000..c2fe7e6 --- /dev/null +++ b/python_pgms/gsyncd_mtab_race/mtab_gsync.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python + +import os, sys, tempfile, select, time + +def connect(vol, sleeptime=None): + d = tempfile.mkdtemp() + try: + argv = ["glusterfs", "-LDEBUG", "-l/tmp/gl0.log", '-s', "localhost", + '--volfile-id', vol, '--client-pid=-1', d] + if os.spawnvp(os.P_WAIT, argv[0], argv): + raise RuntimeError("command failed: " + " ".join(argv)) + print >> sys.stderr, 'auxiliary glusterfs mount in place' + os.chdir(d) + argv = ['umount', '-l', d] + if sleeptime != None: + time.sleep(sleeptime) + if os.spawnvp(os.P_WAIT, argv[0], argv): + raise RuntimeError("command failed: " + " ".join(argv)) + finally: + try: + os.rmdir(d) + except: + print >> sys.stderr, 'stale mount possibly left behind on ' + d + print >> sys.stderr, 'auxiliary glusterfs mount prepared' + +args = sys.argv[1:2] +if len(sys.argv) > 2: + args.append(float(sys.argv[2])) +connect(*args) -- cgit