From 235dfefedff540a113c7b1ec765c8557e96d6adf Mon Sep 17 00:00:00 2001 From: Benjamin Saller Date: Fri, 27 Jul 2007 21:47:06 +0000 Subject: logic error in delete case --- diff --git a/src/olpc/datastore/backingstore.py b/src/olpc/datastore/backingstore.py index f163755..57bd787 100644 --- a/src/olpc/datastore/backingstore.py +++ b/src/olpc/datastore/backingstore.py @@ -572,9 +572,11 @@ class InplaceFileBackingStore(FileBackingStore): c = self.indexmanager.get(uid) path = c.get_property('filename', None) self.indexmanager.delete(uid) - path = os.path.join(self.uri, path) - if path and os.path.exists(path): - os.unlink(path) + + if path: + path = os.path.join(self.uri, path) + if os.path.exists(path): + os.unlink(path) def stop(self): if self.walker and self.walker.isAlive(): diff --git a/src/olpc/datastore/datastore.py b/src/olpc/datastore/datastore.py index 34f5ba3..19342e2 100644 --- a/src/olpc/datastore/datastore.py +++ b/src/olpc/datastore/datastore.py @@ -106,7 +106,11 @@ class DataStore(dbus.service.Object): """Unmount a mountpoint by id""" if mountpoint_id not in self.mountpoints: return mp = self.mountpoints[mountpoint_id] - mp.stop() + try: + mp.stop() + except: + logger.warn("Issue with unmounting store. Trying to continue") + self.Unmounted(mp.descriptor()) del self.mountpoints[mountpoint_id] -- cgit v0.9.1