]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
gfs2: quota need_sync cleanup
authorAndreas Gruenbacher <agruenba@redhat.com>
Thu, 6 Jun 2024 03:37:02 +0000 (05:37 +0200)
committerAndreas Gruenbacher <agruenba@redhat.com>
Sat, 8 Jun 2024 00:35:16 +0000 (02:35 +0200)
Rename variable 'value' to 'change' as it stores a change in value.

Add new 'value' and 'limit' variables for the current value and limit.

Only fetch the tuning parameters when we need them.

Get rid of unnecessary nesting.

No change in functionality.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
fs/gfs2/quota.c

index 29a69756cc32dfaa667558dac7a868ad190ae0e1..11bd16d8f81cf340c552999ad80210a684960bac 100644 (file)
@@ -1117,34 +1117,32 @@ static bool need_sync(struct gfs2_quota_data *qd)
 {
        struct gfs2_sbd *sdp = qd->qd_sbd;
        struct gfs2_tune *gt = &sdp->sd_tune;
-       s64 value;
+       s64 value, change, limit;
        unsigned int num, den;
 
        if (!qd->qd_qb.qb_limit)
                return false;
 
        spin_lock(&qd_lock);
-       value = qd->qd_change;
+       change = qd->qd_change;
        spin_unlock(&qd_lock);
 
+       if (change <= 0)
+               return false;
+       value = (s64)be64_to_cpu(qd->qd_qb.qb_value);
+       limit = (s64)be64_to_cpu(qd->qd_qb.qb_limit);
+       if (value >= limit)
+               return false;
+
        spin_lock(&gt->gt_spin);
        num = gt->gt_quota_scale_num;
        den = gt->gt_quota_scale_den;
        spin_unlock(&gt->gt_spin);
 
-       if (value <= 0)
-               return false;
-       else if ((s64)be64_to_cpu(qd->qd_qb.qb_value) >=
-                (s64)be64_to_cpu(qd->qd_qb.qb_limit))
+       change *= gfs2_jindex_size(sdp) * num;
+       change = div_s64(change, den);
+       if (value + change < limit)
                return false;
-       else {
-               value *= gfs2_jindex_size(sdp) * num;
-               value = div_s64(value, den);
-               value += (s64)be64_to_cpu(qd->qd_qb.qb_value);
-               if (value < (s64)be64_to_cpu(qd->qd_qb.qb_limit))
-                       return false;
-       }
-
        return true;
 }