MountStorage: Improve mounting asserts
The asserts now differentiate between mounting on the same path and mounting over a shorter path.
This commit is contained in:
parent
255f02c486
commit
620fca5472
@ -313,13 +313,16 @@ class MountStorage(StorageInterface):
|
|||||||
|
|
||||||
print "Mounting:", repr(new_ent)
|
print "Mounting:", repr(new_ent)
|
||||||
already, rem_1, table, rem_2 = self._resolve_to_backend(new_ent, True)
|
already, rem_1, table, rem_2 = self._resolve_to_backend(new_ent, True)
|
||||||
print "===", repr(already), repr(rem_1), repr(rem_2)
|
print "===", repr(already), repr(rem_1), repr(rem_2), len(table)
|
||||||
|
|
||||||
|
assert (len(rem_2) > 0) or (None not in table), \
|
||||||
|
"That path is already mounted"
|
||||||
|
assert (len(rem_2) > 0) or (len(table)==0), \
|
||||||
|
"A longer path is already mounted here"
|
||||||
|
|
||||||
assert (already is None) or (len(rem_2) > 0), "Already mounted"
|
|
||||||
for part in rem_2:
|
for part in rem_2:
|
||||||
table[part] = {}
|
table[part] = {}
|
||||||
table = table[part]
|
table = table[part]
|
||||||
assert not table.has_key(None), "Huh? Already mounted?!"
|
|
||||||
table[None] = backend
|
table[None] = backend
|
||||||
|
|
||||||
def _resolve_to_backend(self, filepath, extra_info = False):
|
def _resolve_to_backend(self, filepath, extra_info = False):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user