mirror of
https://github.com/ceph/ceph
synced 2025-02-24 11:37:37 +00:00
cls/user: cls_user_remove_bucket writes modified header
if cls_user_remove_bucket() modifies the header with dec_header_stats(), it should write the updated header back Fixes: http://tracker.ceph.com/issues/36496 Signed-off-by: Casey Bodley <cbodley@redhat.com>
This commit is contained in:
parent
8e2ed7796c
commit
dac26de1fa
@ -254,17 +254,23 @@ static int cls_user_remove_bucket(cls_method_context_t hctx, bufferlist *in, buf
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (entry.user_stats_sync) {
|
||||
dec_header_stats(&header.stats, entry);
|
||||
}
|
||||
|
||||
CLS_LOG(20, "removing entry at %s", key.c_str());
|
||||
|
||||
ret = remove_entry(hctx, key);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
return 0;
|
||||
|
||||
if (!entry.user_stats_sync) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
dec_header_stats(&header.stats, entry);
|
||||
|
||||
CLS_LOG(20, "header: total bytes=%lld entries=%lld", (long long)header.stats.total_bytes, (long long)header.stats.total_entries);
|
||||
|
||||
bufferlist bl;
|
||||
encode(header, bl);
|
||||
return cls_cxx_map_write_header(hctx, &bl);
|
||||
}
|
||||
|
||||
static int cls_user_list_buckets(cls_method_context_t hctx, bufferlist *in, bufferlist *out)
|
||||
|
Loading…
Reference in New Issue
Block a user