From 9413a5196ea1e2b6f50218afb0aa5684d287c48b Mon Sep 17 00:00:00 2001 From: Yehuda Sadeh Date: Fri, 24 Jan 2014 15:33:57 -0800 Subject: [PATCH] rgw: simplify a code path remove some duplicate code. Signed-off-by: Yehuda Sadeh --- src/rgw/rgw_quota.cc | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/src/rgw/rgw_quota.cc b/src/rgw/rgw_quota.cc index 7a967cbe88a06..6487b1f8badbe 100644 --- a/src/rgw/rgw_quota.cc +++ b/src/rgw/rgw_quota.cc @@ -694,35 +694,34 @@ public: virtual int check_quota(const string& user, rgw_bucket& bucket, RGWQuotaInfo& user_quota, RGWQuotaInfo& bucket_quota, uint64_t num_objs, uint64_t size) { + + if (!bucket_quota.enabled && !user_quota.enabled) + return 0; + uint64_t size_kb = rgw_rounded_objsize_kb(size); - if (bucket_quota.enabled) { - RGWStorageStats bucket_stats; + RGWStorageStats bucket_stats; - int ret = bucket_stats_cache.get_stats(user, bucket, bucket_stats, bucket_quota); - if (ret < 0) - return ret; + /* + * we need to fetch bucket stats if the user quota is enabled, because the whole system relies + * on us periodically updating the user's bucket stats in the user's header, this happens in + * get_stats() if we actually fetch that info and not rely on cached data + */ + + int ret = bucket_stats_cache.get_stats(user, bucket, bucket_stats, bucket_quota); + if (ret < 0) + return ret; + if (bucket_quota.enabled) { ret = check_quota("bucket", bucket_quota, bucket_stats, num_objs, size_kb); if (ret < 0) return ret; - } else if (user_quota.enabled) { - /* - * we need to fetch bucket stats if the user quota is enabled, because the whole system relies - * on us periodically updating the user's bucket stats in the user's header, this happens in - * get_stats() if we actually fetch that info and not rely on cached data - */ - RGWStorageStats bucket_stats; - - int ret = bucket_stats_cache.get_stats(user, bucket, bucket_stats, bucket_quota); - if (ret < 0) - return ret; } if (user_quota.enabled) { RGWStorageStats user_stats; - int ret = user_stats_cache.get_stats(user, bucket, user_stats, user_quota); + ret = user_stats_cache.get_stats(user, bucket, user_stats, user_quota); if (ret < 0) return ret; -- 2.39.5