From patchwork Sat Aug 29 11:45:53 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexandru Moise <00moses.alexander00@gmail.com> X-Patchwork-Id: 7094731 Return-Path: X-Original-To: patchwork-linux-btrfs@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 512C29F372 for ; Sat, 29 Aug 2015 08:46:36 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 7C2FD20A29 for ; Sat, 29 Aug 2015 08:46:35 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9266120A25 for ; Sat, 29 Aug 2015 08:46:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751879AbbH2IqM (ORCPT ); Sat, 29 Aug 2015 04:46:12 -0400 Received: from mail-wi0-f182.google.com ([209.85.212.182]:33591 "EHLO mail-wi0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751568AbbH2IqJ (ORCPT ); Sat, 29 Aug 2015 04:46:09 -0400 Received: by wicne3 with SMTP id ne3so4354038wic.0; Sat, 29 Aug 2015 01:46:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:mime-version:content-type :content-disposition:user-agent; bh=3zkJfwxbWRJ2BoEo/Ez9rFdXagjENZWIu3mwuF0S13U=; b=o6WP4Kj8C8MPaYkEDZE87LtLzoqhRrzv647onlkyqmdnyquu17vupdia70X3bhAZ8W 5z39+EoSxIYUSm3Q3A76TWzilWxZQQctZzTPR/qyekRFm0HXDd/YKkSd3nvtmpod4a5v HYwrZb0HNO2LSbehC+2sUfH8f97THZzc6nG6/o/3TWVzqZuAEKM3FT6/e9sClUhpkQQ/ wBaQzF9sjQd5X1U9Ve03aWasv3WlxbiU2/1RMKU7SAsYBPtuazWumtmykMaa5Ypd3ob+ 389MI7FCdlkhExDiQ6jm2Bj23OhGj04bvRPUP/LIYx5J2T4/9r91kcKUHm7fUWaFyKBU N7hg== X-Received: by 10.181.12.5 with SMTP id em5mr8055371wid.67.1440837967609; Sat, 29 Aug 2015 01:46:07 -0700 (PDT) Received: from gmail.com ([188.24.197.157]) by smtp.gmail.com with ESMTPSA id pg5sm11814708wjb.21.2015.08.29.01.46.06 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 29 Aug 2015 01:46:07 -0700 (PDT) Date: Sat, 29 Aug 2015 11:45:53 +0000 From: Alexandru Moise <00moses.alexander00@gmail.com> To: clm@fb.com Cc: jbacik@fb.com, dsterba@suse.com, linux-btrfs@vger.kernel.org, linux-kernel@vger.kernel.org, wangsl-fnst@cn.fujitsu.com Subject: [PATCH] btrfs: Remove unneeded cast to s64 for qgroup rfer state Message-ID: <20150829114553.GA7522@gmail.com> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.23+102 (2ca89bed6448) (2014-03-12) Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org X-Spam-Status: No, score=-7.8 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This patch reverts commit: b4fcd6be6bbd702ae1a6545c9b413681850a9814 Wang Shilong added those casts as a workaround for a bug reproduced using the following steps: Steps to reproduce: > mkfs.btrfs > mount > dd if=/dev/zero of=//data bs=1M count=10 > sync > btrfs quota enable > btrfs qgroup create 0/5 > btrfs qgroup limit 5M 0/5 > rm -f //data > sync > btrfs qgroup show > dd if=/dev/zero of=data bs=1M count=1 > > >From the perspective of users, qgroup's referenced or exclusive > is negative,but user can not continue to write data! a workaround > way is to cast u64 to s64 when doing qgroup reservation I am unable to reproduce this problem without his modification. I could be wrong in reverting this, so I'm gonna CC Wang as well so he is aware of this patch. Signed-off-by: Alexandru Moise <00moses.alexander00@gmail.com> --- fs/btrfs/qgroup.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c index 8a82029..9c75e86 100644 --- a/fs/btrfs/qgroup.c +++ b/fs/btrfs/qgroup.c @@ -2077,14 +2077,14 @@ int btrfs_qgroup_reserve(struct btrfs_root *root, u64 num_bytes) qg = u64_to_ptr(unode->aux); if ((qg->lim_flags & BTRFS_QGROUP_LIMIT_MAX_RFER) && - qg->reserved + (s64)qg->rfer + num_bytes > + qg->reserved + qg->rfer + num_bytes > qg->max_rfer) { ret = -EDQUOT; goto out; } if ((qg->lim_flags & BTRFS_QGROUP_LIMIT_MAX_EXCL) && - qg->reserved + (s64)qg->excl + num_bytes > + qg->reserved + qg->excl + num_bytes > qg->max_excl) { ret = -EDQUOT; goto out;