X-Git-Url: https://code.grnet.gr/git/pithos/blobdiff_plain/7ed99da8da65ef3016ae241132fa909e89b423a6..90311d9858e100e464064a56ab105af70a823172:/snf-pithos-backend/pithos/backends/modular.py diff --git a/snf-pithos-backend/pithos/backends/modular.py b/snf-pithos-backend/pithos/backends/modular.py index 7b48c8a..8956ecc 100644 --- a/snf-pithos-backend/pithos/backends/modular.py +++ b/snf-pithos-backend/pithos/backends/modular.py @@ -109,14 +109,25 @@ def backend_method(func=None, autocommit=1): def fn(self, *args, **kw): self.wrapper.execute() + serials = [] + self.serials = serials + self.messages = [] try: - self.messages = [] ret = func(self, *args, **kw) for m in self.messages: self.queue.send(*m) + if serials: + self.quotaholder.accept_commission( + context = {}, + clientkey = 'pithos', + serials = serials) self.wrapper.commit() return ret except: + self.quotaholder.reject_commission( + context = {}, + clientkey = 'pithos', + serials = serials) self.wrapper.rollback() raise return fn @@ -189,6 +200,7 @@ class ModularBackend(BaseBackend): self.quotaholder_url = quotaholder_url self.quotaholder = QuotaholderHTTP(quotaholder_url) self.serials = [] + self.messages = [] def close(self): self.wrapper.close() @@ -1244,7 +1256,8 @@ class ModularBackend(BaseBackend): key = '1', clientkey = 'pithos', ownerkey = '', - provisions = () + name = details['path'] if 'path' in details else '', + provisions = (('pithos+', 'pithos+.diskspace', size),) ) self.serials.append(serial)