summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbhi Das <adas@redhat.com>2015-06-08 11:20:50 -0500
committerBob Peterson <rpeterso@redhat.com>2015-06-08 11:20:50 -0500
commit1bdf45352e1897ab02632a4ed3648db8cc183f71 (patch)
treec608f14fb0eec5b1bedfbb547efd7e3a6425e54d
parent9cde2898d04595c3bf24828822b3ea7acff181dd (diff)
gfs2: s64 cast for negative quota value
One-line fix to cast quota value to s64 before comparison. By default the quantity is treated as u64. Signed-off-by: Abhi Das <adas@redhat.com> Signed-off-by: Bob Peterson <rpeterso@redhat.com> Acked-by: Steven Whitehouse <swhiteho@redhat.com>
-rw-r--r--fs/gfs2/quota.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/gfs2/quota.c b/fs/gfs2/quota.c
index dcd598aa2691..c2607a26be89 100644
--- a/fs/gfs2/quota.c
+++ b/fs/gfs2/quota.c
@@ -798,7 +798,7 @@ static int gfs2_adjust_quota(struct gfs2_inode *ip, loff_t loc,
loc -= sizeof(q); /* gfs2_internal_read would've advanced the loc ptr */
err = -EIO;
be64_add_cpu(&q.qu_value, change);
- if (be64_to_cpu(q.qu_value) < 0)
+ if (((s64)be64_to_cpu(q.qu_value)) < 0)
q.qu_value = 0; /* Never go negative on quota usage */
qd->qd_qb.qb_value = q.qu_value;
if (fdq) {