From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Whitehouse Date: Fri, 11 Jul 2008 15:26:05 +0100 Subject: [Cluster-devel] Re: [PATCH] Fix GFS2's use of do_div() in its quota calculations In-Reply-To: <20080711133955.17306.16816.stgit@warthog.procyon.org.uk> References: <20080711133955.17306.16816.stgit@warthog.procyon.org.uk> Message-ID: <1215786365.4011.227.camel@quoit> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hi, Now in the GFS2 -nmw git tree. Thanks, Steve. On Fri, 2008-07-11 at 14:39 +0100, David Howells wrote: > 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 > --- > > fs/gfs2/quota.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > > diff --git a/fs/gfs2/quota.c b/fs/gfs2/quota.c > index 56aaf91..3e073f5 100644 > --- a/fs/gfs2/quota.c > +++ b/fs/gfs2/quota.c > @@ -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; >