[GFS2] Fix GFS2's use of do_div() in its quota calculations
authorDavid Howells <dhowells@redhat.com>
Fri, 11 Jul 2008 13:39:56 +0000 (14:39 +0100)
committerSteven Whitehouse <swhiteho@redhat.com>
Fri, 11 Jul 2008 13:35:01 +0000 (14:35 +0100)
Fix GFS2's need_sync()'s use of do_div() on an s64 by using div_s64() instead.

This does assume that gt_quota_scale_den can be cast to an s32.

This was introduced by patch b3b94faa5fe5968827ba0640ee9fba4b3e7f736e.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
fs/gfs2/quota.c

index 56aaf91..3e073f5 100644 (file)
@@ -904,7 +904,7 @@ static int need_sync(struct gfs2_quota_data *qd)
                do_sync = 0;
        else {
                value *= gfs2_jindex_size(sdp) * num;
-               do_div(value, den);
+               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))
                        do_sync = 0;