Revision 263d27d9 snf-pithos-app/pithos/api/functions.py
b/snf-pithos-app/pithos/api/functions.py | ||
---|---|---|
983 | 983 |
# badRequest (400) |
984 | 984 |
# requestentitytoolarge (413) |
985 | 985 |
|
986 |
# lock container path for concurrent updates |
|
987 |
request.backend.lock_path('/'.join([v_account, v_container])) |
|
988 |
|
|
986 | 989 |
# Evaluate conditions. |
987 | 990 |
if (request.META.get('HTTP_IF_MATCH') |
988 | 991 |
or request.META.get('HTTP_IF_NONE_MATCH')): |
... | ... | |
1157 | 1160 |
raise faults.BadRequest('Missing X-Object-Data field') |
1158 | 1161 |
file = request.FILES['X-Object-Data'] |
1159 | 1162 |
|
1163 |
# lock container path for concurrent updates |
|
1164 |
request.backend.lock_path('/'.join([v_account, v_container])) |
|
1165 |
|
|
1160 | 1166 |
checksum = file.etag |
1161 | 1167 |
try: |
1162 | 1168 |
version_id = \ |
... | ... | |
1200 | 1206 |
except ValueError: |
1201 | 1207 |
raise faults.BadRequest('Invalid Destination header') |
1202 | 1208 |
|
1209 |
# lock container path for concurrent updates |
|
1210 |
request.backend.lock_path('/'.join([v_account, v_container])) |
|
1211 |
|
|
1203 | 1212 |
# Evaluate conditions. |
1204 | 1213 |
if (request.META.get('HTTP_IF_MATCH') |
1205 | 1214 |
or request.META.get('HTTP_IF_NONE_MATCH')): |
... | ... | |
1244 | 1253 |
except ValueError: |
1245 | 1254 |
raise faults.BadRequest('Invalid Destination header') |
1246 | 1255 |
|
1256 |
# lock container path for concurrent updates |
|
1257 |
request.backend.lock_path('/'.join([v_account, v_container])) |
|
1258 |
|
|
1247 | 1259 |
# Evaluate conditions. |
1248 | 1260 |
if (request.META.get('HTTP_IF_MATCH') |
1249 | 1261 |
or request.META.get('HTTP_IF_NONE_MATCH')): |
... | ... | |
1278 | 1290 |
|
1279 | 1291 |
content_type, meta, permissions, public = get_object_headers(request) |
1280 | 1292 |
|
1293 |
# lock container path for concurrent updates |
|
1294 |
request.backend.lock_path('/'.join([v_account, v_container])) |
|
1295 |
|
|
1281 | 1296 |
try: |
1282 | 1297 |
prev_meta = request.backend.get_object_meta( |
1283 | 1298 |
request.user_uniq, v_account, |
... | ... | |
1504 | 1519 |
until = get_int_parameter(request.GET.get('until')) |
1505 | 1520 |
delimiter = request.GET.get('delimiter') |
1506 | 1521 |
|
1522 |
# lock container path for concurrent updates |
|
1523 |
request.backend.lock_path('/'.join([v_account, v_container])) |
|
1524 |
|
|
1507 | 1525 |
try: |
1508 | 1526 |
request.backend.delete_object( |
1509 | 1527 |
request.user_uniq, v_account, v_container, |
Also available in: Unified diff