From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bob Peterson Date: Mon, 8 Jun 2015 12:27:05 -0400 (EDT) Subject: [Cluster-devel] [GFS2 PATCH] gfs2: s64 cast for negative quota value In-Reply-To: <1433777815-48533-1-git-send-email-adas@redhat.com> References: <1433777815-48533-1-git-send-email-adas@redhat.com> Message-ID: <124995152.12744297.1433780825016.JavaMail.zimbra@redhat.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit ----- Original Message ----- > One-line fix to cast quota value to s64 before comparison. > By default the quantity is treated as u64. > > Signed-off-by: Abhi Das > --- > fs/gfs2/quota.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/gfs2/quota.c b/fs/gfs2/quota.c > index dcd598a..c2607a2 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) { > -- > 1.8.1.4 Hi, Ack. Thanks. This patch has now been pushed to the for-next branch of the linux-gfs2 tree: https://git.kernel.org/cgit/linux/kernel/git/gfs2/linux-gfs2.git/commit/fs/gfs2?h=for-next&id=1bdf45352e1897ab02632a4ed3648db8cc183f71 Regards, Bob Peterson Red Hat File Systems