def mount(device, location, fstype="ext2", readOnly=0, bindMount=0, remount=0, options="defaults"): flags = None location = os.path.normpath(location) opts = string.split(options) # We don't need to create device nodes for devices that start with '/' # (like '/usbdevfs') and also some special fake devices like 'proc'. # First try to make a device node and if that fails, assume we can # mount without making a device node. If that still fails, the caller # will have to deal with the exception. # We note whether or not we created a node so we can clean up later. if mountCount.has_key(location) and mountCount[location] > 0: mountCount[location] = mountCount[location] + 1 return if readOnly or bindMount or remount: if readOnly: opts.append("ro") if bindMount: opts.append("bind") if remount: opts.append("remount") flags = ",".join(opts) log.debug("isys.py:mount()- going to mount %s on %s with options %s" % (device, location, flags)) rc = _isys.mount(fstype, device, location, flags) if not rc: mountCount[location] = 1 return rc
def mount(device, location, fstype = "ext2", readOnly = 0, bindMount = 0, remount = 0): location = os.path.normpath(location) # We don't need to create device nodes for devices that start with '/' # (like '/usbdevfs') and also some special fake devices like 'proc'. # First try to make a device node and if that fails, assume we can # mount without making a device node. If that still fails, the caller # will have to deal with the exception. # We note whether or not we created a node so we can clean up later. createdNode = 0 if device and device != "none" and device[0] != "/": devName = "/tmp/%s" % device try: makeDevInode (device, devName) device = devName createdNode = 1 except SystemError: pass if mountCount.has_key(location) and mountCount[location] > 0: mountCount[location] = mountCount[location] + 1 return log.debug("isys.py:mount()- going to mount %s on %s" %(device, location)) rc = _isys.mount(fstype, device, location, readOnly, bindMount, remount) if not rc: mountCount[location] = 1 # did we create a node, if so remove if createdNode: os.unlink(device) return rc
def mount(device, location, fstype="ext2", readOnly=False, bindMount=False, remount=False, options=None): flags = None location = os.path.normpath(location) if not options: opts = ["defaults"] else: opts = options.split(",") # We don't need to create device nodes for devices that start with '/' # (like '/usbdevfs') and also some special fake devices like 'proc'. # First try to make a device node and if that fails, assume we can # mount without making a device node. If that still fails, the caller # will have to deal with the exception. # We note whether or not we created a node so we can clean up later. if mountCount.has_key( location) and mountCount[location] > 0 and not remount: mountCount[location] = mountCount[location] + 1 return if readOnly or bindMount or remount: if readOnly: opts.append("ro") if bindMount: opts.append("bind") if remount: opts.append("remount") flags = ",".join(opts) log.debug( "isys.py:mount()- going to mount %s on %s as %s with options %s" % (device, location, fstype, flags)) rc = _isys.mount(fstype, device, location, flags) if not rc: mountCount[location] = 1 return rc