From patchwork Wed Jul 5 23:36:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Boris Burkov X-Patchwork-Id: 13303046 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 89E14EB64DA for ; Wed, 5 Jul 2023 23:37:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230236AbjGEXhf (ORCPT ); Wed, 5 Jul 2023 19:37:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44304 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229537AbjGEXhe (ORCPT ); Wed, 5 Jul 2023 19:37:34 -0400 Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 823561989 for ; Wed, 5 Jul 2023 16:37:33 -0700 (PDT) Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id EAEEF5C00B4; Wed, 5 Jul 2023 19:37:32 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Wed, 05 Jul 2023 19:37:32 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bur.io; h=cc :content-transfer-encoding:content-type:date:date:from:from :in-reply-to:message-id:mime-version:reply-to:sender:subject :subject:to:to; s=fm3; t=1688600252; x=1688686652; bh=+JK4XpH13L W45KQQEiacK2s1WUzK9J4m+vOMdtaSkAc=; b=J7zhlbzbPSviWAjyEMNcRWif7i RZwTcqUk0gMIlDbviflnPOxeHQIr4+GdjDb3G5rdv1/CLrQzaADDFGPOmQx32pzX Y9gZ5bkfQynhkKJ68XMwxrCMh1F/HaxBz81ctOaK0l86v3kdaEFjzRWgEr2/0Dgy kxmDbbHa+eNVCnRAVSy7Tx4evkkMkeDg2q4ehYccKB1ifKl3W4SGm/m8dNbsyvgM 7tmzfC7TeB9w/hUrT2qJeRvh4+5g3ut9XOCAsXsWpg1qgeRyyg2D+E61XwT68k3X b6FZqbsC2q0IwkXE9A8dqohvjXI5pBijznt/kbnvWonIS/AELSKdQsFE9yoQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:date:feedback-id:feedback-id:from:from:in-reply-to :message-id:mime-version:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; t=1688600252; x=1688686652; bh=+JK4XpH13LW45KQQEiacK2s1WUzK 9J4m+vOMdtaSkAc=; b=q7WDdQcb4yHIbjaErR09wbvbDUR1jL3wo1cr6xUPS2i0 8wN0NKfyPbLItnUoNnEShYzZI6IsVktf4WzY6SMXlbpx34s0AkaLuf16cZAhA7N0 wpPdYwmR44oUbGRDM5E/4H1hRebRoG+gzAjurQlbuqzG8YksRfmBn1u6NqG7pVkH oosmIIqFoxTkHF5faqae0ALb3JXX2mAzrhBuwNrZihsRmcuoYJ8WmqMIyp1Zsh3g XJawKnfpJSJ8U6AhFWDO4g6nTBj5iTnRz0abulkF+JZy0CnZrN3WnlJITHTXRKN0 bwgj6eg3jNg7KSmVkxrhVKN3MwvWSgU2aeOvr7MEqg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrudekgddvgecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhephffvufffkffoggfgsedtkeertdertd dtnecuhfhrohhmpeeuohhrihhsuceuuhhrkhhovhcuoegsohhrihhssegsuhhrrdhioheq necuggftrfgrthhtvghrnhepudeitdelueeijeefleffveelieefgfejjeeigeekuddute efkefffeethfdvjeevnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghi lhhfrhhomhepsghorhhishessghurhdrihho X-ME-Proxy: Feedback-ID: i083147f8:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 5 Jul 2023 19:37:32 -0400 (EDT) From: Boris Burkov To: linux-btrfs@vger.kernel.org, kernel-team@fb.com Subject: [PATCH 0/8] btrfs-progs: simple quotas Date: Wed, 5 Jul 2023 16:36:19 -0700 Message-ID: X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org btrfs-progs changes for supporting simple quotas. Notably: btrfs quota can enable squota via ioctl mkfs can create an fs with squota enabled btrfstune can enable squota btrfs inspect commands dump squota fields btrfs check validates and repairs squota invariants Boris Burkov (8): btrfs-progs: document squotas btrfs-progs: simple quotas kernel definitions btrfs-progs: simple quotas dump commands btrfs-progs: simple quotas fsck btrfs-progs: simple quotas mkfs btrfs-progs: simple quotas btrfstune btrfs-progs: simple quotas enable cmd btrfs-progs: tree-checker: handle owner ref items Documentation/btrfs-quota.rst | 7 +- Documentation/ch-quota-intro.rst | 59 +++++++++++ Documentation/mkfs.btrfs.rst | 6 ++ Makefile | 2 +- check/main.c | 2 + check/qgroup-verify.c | 122 ++++++++++++++++++---- cmds/quota.c | 41 ++++++-- common/fsfeatures.c | 9 ++ kernel-shared/accessors.h | 9 ++ kernel-shared/ctree.h | 6 +- kernel-shared/print-tree.c | 27 ++++- kernel-shared/tree-checker.c | 2 + kernel-shared/uapi/btrfs.h | 4 + kernel-shared/uapi/btrfs_tree.h | 12 +++ mkfs/main.c | 63 ++++++++++-- tune/main.c | 13 ++- tune/quota.c | 169 +++++++++++++++++++++++++++++++ tune/tune.h | 3 + 18 files changed, 513 insertions(+), 43 deletions(-) create mode 100644 tune/quota.c