From patchwork Thu Nov 14 06:26:10 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 13874578 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 381061AF0DC; Thu, 14 Nov 2024 06:26:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731565571; cv=none; b=RB/vqWnodLcdV9Vs0mog1HHc5cmgAQKgUBLyLuaf6zAH77t40Sc8UI76hEjLRzKd9kNM+O0NbTs9FJIrahQn3hzupo7Z09HZB1WOXOZnuQyu2xX6cRyQDaV3xXCeIWzpR+PYFUgmjBtlfCAAoTI2YCT8GMccUOlLtdDhymkA2+k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731565571; c=relaxed/simple; bh=LEL3vfhFjFruTbZaqw50YGgDPZtz6jOEqNAoRSgqgNY=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=rKETORc28ApivhfYXoQaqOXkCeGh2B2CjL4sAgebXKsTwxdfBEWvzdDJGIHSzOaAkzupc/KZgr1gP5YWt/p8FV6hJ9kjB1K7yYWtPIyenr4gHa7cn4c/yW2gzJW9WON/0vkTbXoeNOxw6c6lHQrVXrKTAGpuXd7AWLf7iYctv0U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Jp0tRDRg; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Jp0tRDRg" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D6A82C4CECF; Thu, 14 Nov 2024 06:26:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1731565570; bh=LEL3vfhFjFruTbZaqw50YGgDPZtz6jOEqNAoRSgqgNY=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=Jp0tRDRgMAzqkKe7FBjeS+/MmD7hR/rV9QNAlDaB/yZvFfS+oTHz8Vov/q8Xgzd6w VDQMb95A+1X+//N98ucu0NFHYI7jsZOeTKaKgZ8Xlf+PE+h8SZA1WicbNBII3TBsoM KLs8BEM0tSD/Cbt/vnPXJcvtHXHkZYuM6OLiwfyFvVO1YkmymccO+4AjzBsg8x+lhZ EtRefylfD0qgqQrKcrN4K/5XIzhzBZ3RhtEpKrKn6TKOigiBlJHMpOh9EcO/mX6bNI XlmczGVhjBxyXvE5sqSpLGadRBYkEclazLoEMdpaWn8ohsgfBUhSNBJwKcXIsH6DqJ iX07/EIHDg7Ow== Date: Wed, 13 Nov 2024 22:26:10 -0800 Subject: [GIT PULL 01/10] xfs: convert perag to use xarrays From: "Darrick J. Wong" To: cem@kernel.org, djwong@kernel.org Cc: hch@lst.de, linux-xfs@vger.kernel.org, stable@vger.kernel.org Message-ID: <173156551067.1445256.3538147587347330676.stg-ugh@frogsfrogsfrogs> Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 In-Reply-To: <20241114062447.GO9438@frogsfrogsfrogs> References: <20241114062447.GO9438@frogsfrogsfrogs> Hi Carlos, Please pull this branch with changes for xfs for 6.13-rc1. As usual, I did a test-merge with the main upstream branch as of a few minutes ago, and didn't see any conflicts. Please let me know if you encounter any problems. --D The following changes since commit 59b723cd2adbac2a34fc8e12c74ae26ae45bf230: Linux 6.12-rc6 (2024-11-03 14:05:52 -1000) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/perag-xarray-6.13_2024-11-13 for you to fetch changes up to 612dab1887b16838b524876555ac16fccb750e77: xfs: insert the pag structures into the xarray later (2024-11-13 22:16:54 -0800) ---------------------------------------------------------------- xfs: convert perag to use xarrays [v5.7 01/10] Convert the xfs_mount perag tree to use an xarray instead of a radix tree. There should be no functional changes here. With a bit of luck, this should all go splendidly. Signed-off-by: Darrick J. Wong ---------------------------------------------------------------- Christoph Hellwig (22): xfs: fix superfluous clearing of info->low in __xfs_getfsmap_datadev xfs: remove the unused pagb_count field in struct xfs_perag xfs: remove the unused pag_active_wq field in struct xfs_perag xfs: pass a pag to xfs_difree_inode_chunk xfs: remove the agno argument to xfs_free_ag_extent xfs: add xfs_agbno_to_fsb and xfs_agbno_to_daddr helpers xfs: add a xfs_agino_to_ino helper xfs: pass a pag to xfs_extent_busy_{search,reuse} xfs: keep a reference to the pag for busy extents xfs: remove the mount field from struct xfs_busy_extents xfs: remove the unused trace_xfs_iwalk_ag trace point xfs: remove the unused xrep_bmap_walk_rmap trace point xfs: constify pag arguments to trace points xfs: pass a perag structure to the xfs_ag_resv_init_error trace point xfs: pass objects to the xfs_irec_merge_{pre,post} trace points xfs: pass the iunlink item to the xfs_iunlink_update_dinode trace point xfs: pass objects to the xrep_ibt_walk_rmap tracepoint xfs: pass the pag to the trace_xrep_calc_ag_resblks{,_btsize} trace points xfs: pass the pag to the xrep_newbt_extent_class tracepoints xfs: convert remaining trace points to pass pag structures xfs: split xfs_initialize_perag xfs: insert the pag structures into the xarray later Darrick J. Wong (1): xfs: fix simplify extent lookup in xfs_can_free_eofblocks fs/xfs/libxfs/xfs_ag.c | 135 ++++++++++++++------------ fs/xfs/libxfs/xfs_ag.h | 30 +++++- fs/xfs/libxfs/xfs_ag_resv.c | 3 +- fs/xfs/libxfs/xfs_alloc.c | 32 +++---- fs/xfs/libxfs/xfs_alloc.h | 5 +- fs/xfs/libxfs/xfs_alloc_btree.c | 2 +- fs/xfs/libxfs/xfs_btree.c | 7 +- fs/xfs/libxfs/xfs_ialloc.c | 67 ++++++------- fs/xfs/libxfs/xfs_ialloc_btree.c | 2 +- fs/xfs/libxfs/xfs_inode_util.c | 4 +- fs/xfs/libxfs/xfs_refcount.c | 11 +-- fs/xfs/libxfs/xfs_refcount_btree.c | 3 +- fs/xfs/libxfs/xfs_rmap_btree.c | 2 +- fs/xfs/scrub/agheader_repair.c | 16 +--- fs/xfs/scrub/alloc_repair.c | 10 +- fs/xfs/scrub/bmap.c | 5 +- fs/xfs/scrub/bmap_repair.c | 4 +- fs/xfs/scrub/common.c | 2 +- fs/xfs/scrub/cow_repair.c | 18 ++-- fs/xfs/scrub/ialloc.c | 8 +- fs/xfs/scrub/ialloc_repair.c | 25 ++--- fs/xfs/scrub/newbt.c | 46 ++++----- fs/xfs/scrub/reap.c | 8 +- fs/xfs/scrub/refcount_repair.c | 5 +- fs/xfs/scrub/repair.c | 13 ++- fs/xfs/scrub/rmap_repair.c | 9 +- fs/xfs/scrub/trace.h | 161 +++++++++++++++---------------- fs/xfs/xfs_bmap_util.c | 8 +- fs/xfs/xfs_buf_item_recover.c | 5 +- fs/xfs/xfs_discard.c | 20 ++-- fs/xfs/xfs_extent_busy.c | 31 +++--- fs/xfs/xfs_extent_busy.h | 14 ++- fs/xfs/xfs_extfree_item.c | 4 +- fs/xfs/xfs_filestream.c | 5 +- fs/xfs/xfs_fsmap.c | 25 ++--- fs/xfs/xfs_health.c | 8 +- fs/xfs/xfs_inode.c | 5 +- fs/xfs/xfs_iunlink_item.c | 13 ++- fs/xfs/xfs_iwalk.c | 17 ++-- fs/xfs/xfs_log_cil.c | 3 +- fs/xfs/xfs_log_recover.c | 5 +- fs/xfs/xfs_trace.c | 1 + fs/xfs/xfs_trace.h | 191 ++++++++++++++++--------------------- fs/xfs/xfs_trans.c | 2 +- 44 files changed, 459 insertions(+), 531 deletions(-) From patchwork Thu Nov 14 06:26:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 13874579 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0FCB32905 for ; Thu, 14 Nov 2024 06:26:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731565588; cv=none; b=a6czdEzBgalpqHvRlI4HXFa59xFvNDLuELv+70rVbvzqIfwbdnQNmmDx0hzxIPsyy6mm+z5mXTZOhi2K6lrKbYwwZkcDJQ5rmcTGbqhNqDDC0cHCadt5UD0Jm1aCiK9XWcKHdJJGaWvVdNTrClmmTrxWeu542wXlqpYNf6yuTQI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731565588; c=relaxed/simple; bh=XXl0eyKgIBMOdP1XlFVk8pwSjQ3V0YVcQBKF2/7bLds=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=kj5je0lvGZ3uOHol7GPHpQ43oRpB56K0odEO1OYBhKCYYJDYwzAN/V9klxIbVFjnjqpOhE8jvuTWogS7eVv8AMkyYO/YMvlCKMdmHaNjuINQB/1k1NSSjSlMRDto12kC5ArwAQLJt4piilWrOKkh2abPrmNfUCEwU/XbzVJ2vpU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=GcQmBmb/; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="GcQmBmb/" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 747CAC4CECF; Thu, 14 Nov 2024 06:26:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1731565586; bh=XXl0eyKgIBMOdP1XlFVk8pwSjQ3V0YVcQBKF2/7bLds=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=GcQmBmb/S/Yuuwmob6VZsB9Y9avcrpP700MgUKYYQmcgWiPTTH+rMRr5XDY0b6Nf5 Fus6Oe16mccf58CF0NeC7ILUiYTM1VieZlJzBt2dTGmVI8Am5U3WQzCOGzrmHmYCNz 37uPFPhsL++RqlJ+0rrvlUIvNVCkECv+Z7h99l8UgXY6LGa0Rl23WOWt20ZFsq7y36 tkx6w7L7ki5xuHkiJzBsQuvEUReo+3illT7xvPPTu7FCP5VrFCZtpgdWaZGCmirhlq 01cAzQM0lZ5/brtmefLoG9Q7PGMu0gDlF3S5M/pEUz9QGNu3iBK7QuueGp1SSP1T3j Yq4+PLanazOgQ== Date: Wed, 13 Nov 2024 22:26:26 -0800 Subject: [GIT PULL 02/10] xfs: create a generic allocation group structure From: "Darrick J. Wong" To: cem@kernel.org, djwong@kernel.org Cc: hch@lst.de, linux-xfs@vger.kernel.org Message-ID: <173156551169.1445256.15124217838321935115.stg-ugh@frogsfrogsfrogs> Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 In-Reply-To: <20241114062447.GO9438@frogsfrogsfrogs> References: <20241114062447.GO9438@frogsfrogsfrogs> Hi Carlos, Please pull this branch with changes for xfs for 6.13-rc1. As usual, I did a test-merge with the main upstream branch as of a few minutes ago, and didn't see any conflicts. Please let me know if you encounter any problems. --D The following changes since commit 612dab1887b16838b524876555ac16fccb750e77: xfs: insert the pag structures into the xarray later (2024-11-13 22:16:54 -0800) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/generic-groups-6.13_2024-11-13 for you to fetch changes up to fd293760168c36f210b699f73727535e90a4e14d: xfs: store a generic group structure in the intents (2024-11-13 22:16:57 -0800) ---------------------------------------------------------------- xfs: create a generic allocation group structure [v5.7 02/10] Soon we'll be sharding the realtime volume into separate allocation groups. These rt groups will /mostly/ behave the same as the ones on the data device, but since rt groups don't have quite the same set of struct fields as perags, let's hoist the parts that will be shared by both into a common xfs_group object. With a bit of luck, this should all go splendidly. Signed-off-by: Darrick J. Wong ---------------------------------------------------------------- Christoph Hellwig (16): xfs: factor out a xfs_iwalk_args helper xfs: factor out a generic xfs_group structure xfs: add a xfs_group_next_range helper xfs: switch perag iteration from the for_each macros to a while based iterator xfs: move metadata health tracking to the generic group structure xfs: mark xfs_perag_intent_{hold,rele} static xfs: move draining of deferred operations to the generic group structure xfs: move the online repair rmap hooks to the generic group structure xfs: return the busy generation from xfs_extent_busy_list_empty xfs: convert extent busy tracepoints to the generic group structure xfs: convert busy extent tracking to the generic group structure xfs: add a generic group pointer to the btree cursor xfs: store a generic xfs_group pointer in xfs_getfsmap_info xfs: add group based bno conversion helpers xfs: remove xfs_group_intent_hold and xfs_group_intent_rele xfs: store a generic group structure in the intents fs/xfs/Makefile | 1 + fs/xfs/libxfs/xfs_ag.c | 149 +++++------------------ fs/xfs/libxfs/xfs_ag.h | 165 +++++++++++++------------ fs/xfs/libxfs/xfs_ag_resv.c | 19 +-- fs/xfs/libxfs/xfs_alloc.c | 74 ++++++------ fs/xfs/libxfs/xfs_alloc.h | 2 +- fs/xfs/libxfs/xfs_alloc_btree.c | 30 ++--- fs/xfs/libxfs/xfs_bmap.c | 2 +- fs/xfs/libxfs/xfs_bmap.h | 2 +- fs/xfs/libxfs/xfs_btree.c | 37 ++---- fs/xfs/libxfs/xfs_btree.h | 3 +- fs/xfs/libxfs/xfs_btree_mem.c | 6 +- fs/xfs/libxfs/xfs_group.c | 225 +++++++++++++++++++++++++++++++++++ fs/xfs/libxfs/xfs_group.h | 131 ++++++++++++++++++++ fs/xfs/libxfs/xfs_health.h | 45 +++---- fs/xfs/libxfs/xfs_ialloc.c | 50 ++++---- fs/xfs/libxfs/xfs_ialloc_btree.c | 27 +++-- fs/xfs/libxfs/xfs_refcount.c | 26 ++-- fs/xfs/libxfs/xfs_refcount.h | 2 +- fs/xfs/libxfs/xfs_refcount_btree.c | 14 +-- fs/xfs/libxfs/xfs_rmap.c | 42 +++---- fs/xfs/libxfs/xfs_rmap.h | 6 +- fs/xfs/libxfs/xfs_rmap_btree.c | 28 ++--- fs/xfs/libxfs/xfs_sb.c | 28 +++-- fs/xfs/libxfs/xfs_types.c | 5 +- fs/xfs/libxfs/xfs_types.h | 8 ++ fs/xfs/scrub/agheader_repair.c | 22 ++-- fs/xfs/scrub/alloc.c | 2 +- fs/xfs/scrub/alloc_repair.c | 12 +- fs/xfs/scrub/bmap.c | 8 +- fs/xfs/scrub/bmap_repair.c | 9 +- fs/xfs/scrub/common.c | 4 +- fs/xfs/scrub/common.h | 3 +- fs/xfs/scrub/cow_repair.c | 9 +- fs/xfs/scrub/fscounters.c | 10 +- fs/xfs/scrub/health.c | 21 ++-- fs/xfs/scrub/ialloc.c | 14 +-- fs/xfs/scrub/ialloc_repair.c | 2 +- fs/xfs/scrub/inode_repair.c | 5 +- fs/xfs/scrub/iscan.c | 4 +- fs/xfs/scrub/newbt.c | 8 +- fs/xfs/scrub/reap.c | 2 +- fs/xfs/scrub/refcount.c | 3 +- fs/xfs/scrub/repair.c | 4 +- fs/xfs/scrub/rmap.c | 4 +- fs/xfs/scrub/rmap_repair.c | 16 +-- fs/xfs/scrub/trace.h | 82 ++++++------- fs/xfs/xfs_bmap_item.c | 5 +- fs/xfs/xfs_discard.c | 20 ++-- fs/xfs/xfs_drain.c | 78 +++++------- fs/xfs/xfs_drain.h | 22 ++-- fs/xfs/xfs_extent_busy.c | 201 +++++++++++++++++++------------ fs/xfs/xfs_extent_busy.h | 59 ++++----- fs/xfs/xfs_extfree_item.c | 14 ++- fs/xfs/xfs_filestream.c | 8 +- fs/xfs/xfs_fsmap.c | 49 ++++---- fs/xfs/xfs_fsops.c | 10 +- fs/xfs/xfs_health.c | 99 +++++++-------- fs/xfs/xfs_icache.c | 60 ++++------ fs/xfs/xfs_inode.c | 6 +- fs/xfs/xfs_iwalk.c | 99 +++++++-------- fs/xfs/xfs_iwalk.h | 7 +- fs/xfs/xfs_log_recover.c | 11 +- fs/xfs/xfs_mount.h | 36 +++++- fs/xfs/xfs_refcount_item.c | 9 +- fs/xfs/xfs_reflink.c | 7 +- fs/xfs/xfs_rmap_item.c | 9 +- fs/xfs/xfs_super.c | 11 +- fs/xfs/xfs_trace.c | 1 + fs/xfs/xfs_trace.h | 238 ++++++++++++++++++++++--------------- 70 files changed, 1380 insertions(+), 1050 deletions(-) create mode 100644 fs/xfs/libxfs/xfs_group.c create mode 100644 fs/xfs/libxfs/xfs_group.h From patchwork Thu Nov 14 06:26:41 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 13874580 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8F2591E884A for ; Thu, 14 Nov 2024 06:26:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731565602; cv=none; b=IZ0mr4NZRX8URPQ0o7eWMi2Waq9qRR66dnfJDw6MnXbb50Q1ZCYdKpFOs/VU5IhoMCnPUKo6137NQqXtNKDl0QLa2ptFF3qMLce5bA2uHss3skrIwUUHJxRG4craDGUrGHT30ezg+fAB6sp1IykemZ4P5XP0TcgxK82LFAgn+r4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731565602; c=relaxed/simple; bh=m5xh3gIx5IKLjrJiSJR/7Q/wWZppQd76wAm4/KUHkpo=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=rSkhTVUvF3jjBqbqLGJnq1V1VfmRNfpjqHaHnlx/6xf97L7TqkLQGKuasF1UTYg5xNyqd3UnEHqJikfpETmlBXG54qrvyJUtoRgdR7IIwgWTtZYxWGUKsN4v1rsYfMPUpI4H3RnwdAw9iFtnvobflg/ItBjzYrKd0rtMUcHBksg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=dabEHOEC; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="dabEHOEC" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 226D4C4CECF; Thu, 14 Nov 2024 06:26:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1731565602; bh=m5xh3gIx5IKLjrJiSJR/7Q/wWZppQd76wAm4/KUHkpo=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=dabEHOECBtN5e2DVCupKabvXLnnOZeT2mLJPUUYnblDdwudBkmJ+Hq3SkiXiNIzVN PhhBMQL6fBacRF1viKks3hlQTgXh67HkADz6XH0I+Ax2Q70BLneS+FgXa+p1yc8Zke 8souV6M2n+a4qJQS83gQ92UBuk1TB0S5UWBY+d7Vo0QM/ziK2Gc1E7+NzpFSzS4x5u 4RuOLUpdc0BDJWzKg6yJO5HjWMW4ydxds6xrBOtcMGIop+ujxrSjNXcK5z5d57bktQ 7XoQ5A/M/H8JVabBxHYvgxd8iqsTdKZsL/UiTK8SSTIEkh3AtAmNIooqFur612Hdnv Jkeq5sbzh7l2A== Date: Wed, 13 Nov 2024 22:26:41 -0800 Subject: [GIT PULL 03/10] xfs: metadata inode directory trees From: "Darrick J. Wong" To: cem@kernel.org, djwong@kernel.org Cc: hch@lst.de, linux-xfs@vger.kernel.org Message-ID: <173156551270.1445256.5443513550621534826.stg-ugh@frogsfrogsfrogs> Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 In-Reply-To: <20241114062447.GO9438@frogsfrogsfrogs> References: <20241114062447.GO9438@frogsfrogsfrogs> Hi Carlos, Please pull this branch with changes for xfs for 6.13-rc1. As usual, I did a test-merge with the main upstream branch as of a few minutes ago, and didn't see any conflicts. Please let me know if you encounter any problems. --D The following changes since commit fd293760168c36f210b699f73727535e90a4e14d: xfs: store a generic group structure in the intents (2024-11-13 22:16:57 -0800) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/metadata-directory-tree-6.13_2024-11-13 for you to fetch changes up to 16aa1e01ed77ca881dad0cffdeac1d33e3015d87: xfs: repair metadata directory file path connectivity (2024-11-13 22:17:01 -0800) ---------------------------------------------------------------- xfs: metadata inode directory trees [v5.7 03/10] This series delivers a new feature -- metadata inode directories. This is a separate directory tree (rooted in the superblock) that contains only inodes that contain filesystem metadata. Different metadata objects can be looked up with regular paths. Start by creating xfs_imeta{dir,file}* functions to mediate access to the metadata directory tree. By the end of this mega series, all existing metadata inodes (rt+quota) will use this directory tree instead of the superblock. Next, define the metadir on-disk format, which consists of marking inodes with a new iflag that says they're metadata. This prevents bulkstat and friends from ever getting their hands on fs metadata files. With a bit of luck, this should all go splendidly. Signed-off-by: Darrick J. Wong ---------------------------------------------------------------- Darrick J. Wong (28): xfs: constify the xfs_sb predicates xfs: constify the xfs_inode predicates xfs: rename metadata inode predicates xfs: standardize EXPERIMENTAL warning generation xfs: define the on-disk format for the metadir feature xfs: iget for metadata inodes xfs: load metadata directory root at mount time xfs: enforce metadata inode flag xfs: read and write metadata inode directory tree xfs: disable the agi rotor for metadata inodes xfs: hide metadata inodes from everyone because they are special xfs: advertise metadata directory feature xfs: allow bulkstat to return metadata directories xfs: don't count metadata directory files to quota xfs: mark quota inodes as metadata files xfs: adjust xfs_bmap_add_attrfork for metadir xfs: record health problems with the metadata directory xfs: refactor directory tree root predicates xfs: do not count metadata directory files when doing online quotacheck xfs: metadata files can have xattrs if metadir is enabled xfs: adjust parent pointer scrubber for sb-rooted metadata files xfs: fix di_metatype field of inodes that won't load xfs: scrub metadata directories xfs: check the metadata directory inumber in superblocks xfs: move repair temporary files to the metadata directory tree xfs: check metadata directory file path connectivity xfs: confirm dotdot target before replacing it during a repair xfs: repair metadata directory file path connectivity fs/xfs/Makefile | 5 +- fs/xfs/libxfs/xfs_attr.c | 5 +- fs/xfs/libxfs/xfs_bmap.c | 5 +- fs/xfs/libxfs/xfs_format.h | 121 ++++++++-- fs/xfs/libxfs/xfs_fs.h | 25 +- fs/xfs/libxfs/xfs_health.h | 6 +- fs/xfs/libxfs/xfs_ialloc.c | 58 +++-- fs/xfs/libxfs/xfs_inode_buf.c | 90 ++++++- fs/xfs/libxfs/xfs_inode_buf.h | 3 + fs/xfs/libxfs/xfs_inode_util.c | 2 + fs/xfs/libxfs/xfs_log_format.h | 2 +- fs/xfs/libxfs/xfs_metadir.c | 481 +++++++++++++++++++++++++++++++++++++ fs/xfs/libxfs/xfs_metadir.h | 47 ++++ fs/xfs/libxfs/xfs_metafile.c | 52 ++++ fs/xfs/libxfs/xfs_metafile.h | 31 +++ fs/xfs/libxfs/xfs_ondisk.h | 2 +- fs/xfs/libxfs/xfs_sb.c | 12 + fs/xfs/libxfs/xfs_types.c | 4 +- fs/xfs/libxfs/xfs_types.h | 2 +- fs/xfs/scrub/agheader.c | 5 + fs/xfs/scrub/common.c | 65 ++++- fs/xfs/scrub/common.h | 5 + fs/xfs/scrub/dir.c | 10 +- fs/xfs/scrub/dir_repair.c | 20 +- fs/xfs/scrub/dirtree.c | 32 ++- fs/xfs/scrub/dirtree.h | 12 +- fs/xfs/scrub/findparent.c | 28 ++- fs/xfs/scrub/health.c | 1 + fs/xfs/scrub/inode.c | 35 ++- fs/xfs/scrub/inode_repair.c | 34 ++- fs/xfs/scrub/metapath.c | 521 ++++++++++++++++++++++++++++++++++++++++ fs/xfs/scrub/nlinks.c | 4 +- fs/xfs/scrub/nlinks_repair.c | 4 +- fs/xfs/scrub/orphanage.c | 4 +- fs/xfs/scrub/parent.c | 39 ++- fs/xfs/scrub/parent_repair.c | 37 ++- fs/xfs/scrub/quotacheck.c | 7 +- fs/xfs/scrub/refcount_repair.c | 2 +- fs/xfs/scrub/repair.c | 14 +- fs/xfs/scrub/repair.h | 3 + fs/xfs/scrub/scrub.c | 12 +- fs/xfs/scrub/scrub.h | 2 + fs/xfs/scrub/stats.c | 1 + fs/xfs/scrub/tempfile.c | 105 ++++++++ fs/xfs/scrub/tempfile.h | 3 + fs/xfs/scrub/trace.c | 1 + fs/xfs/scrub/trace.h | 42 +++- fs/xfs/xfs_dquot.c | 1 + fs/xfs/xfs_fsops.c | 4 +- fs/xfs/xfs_health.c | 2 + fs/xfs/xfs_icache.c | 74 ++++++ fs/xfs/xfs_inode.c | 19 +- fs/xfs/xfs_inode.h | 36 ++- fs/xfs/xfs_inode_item.c | 7 +- fs/xfs/xfs_inode_item_recover.c | 2 +- fs/xfs/xfs_ioctl.c | 7 + fs/xfs/xfs_iops.c | 15 +- fs/xfs/xfs_itable.c | 33 ++- fs/xfs/xfs_itable.h | 3 + fs/xfs/xfs_message.c | 51 ++++ fs/xfs/xfs_message.h | 20 +- fs/xfs/xfs_mount.c | 31 ++- fs/xfs/xfs_mount.h | 25 +- fs/xfs/xfs_pnfs.c | 3 +- fs/xfs/xfs_qm.c | 36 ++- fs/xfs/xfs_quota.h | 5 + fs/xfs/xfs_rtalloc.c | 38 +-- fs/xfs/xfs_super.c | 13 +- fs/xfs/xfs_trace.c | 2 + fs/xfs/xfs_trace.h | 102 ++++++++ fs/xfs/xfs_trans_dquot.c | 6 + fs/xfs/xfs_xattr.c | 3 +- 72 files changed, 2333 insertions(+), 206 deletions(-) create mode 100644 fs/xfs/libxfs/xfs_metadir.c create mode 100644 fs/xfs/libxfs/xfs_metadir.h create mode 100644 fs/xfs/libxfs/xfs_metafile.c create mode 100644 fs/xfs/libxfs/xfs_metafile.h create mode 100644 fs/xfs/scrub/metapath.c From patchwork Thu Nov 14 06:26:57 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 13874581 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D77AB1EB9ED for ; Thu, 14 Nov 2024 06:26:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731565617; cv=none; b=JPrsLzWJ30h3SJFQYrwB/jlQMkOURMLa0pUxOgN+9PKaoS0PQV+i7Be3dWBNAm+ghv1KB4aJly6YVNNuOfXL3UqGVW8QrmeYaL5iU5J995xdS+q6+NpOLv1jHvdmM5GpHYqKkZZCnpjGbSg9NWBoZSx9RoRinGH4dL1YNgRENWg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731565617; c=relaxed/simple; bh=hZyA9fqcouvSWkUk4+Jt7iDQPaph1JCfZMR9Wqsx7tg=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=Rn+kBtJ/0CPViecgezJoZUC16UBpLSN7TEQJ0hZZoCWnlu5F84ULMgqRYMkaSqwLNpwiMGV/d8LWAojXFRJ5h/BI+Ir7dqPEcurrmrhnjoqo3Wz8b/1DdByFSRVsOLptqNW3f8AX8U2GIOWX/cH+uoNTEfoc1aiZW0ZMpsNONVs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Sr4kAgsx; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Sr4kAgsx" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B8513C4CECF; Thu, 14 Nov 2024 06:26:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1731565617; bh=hZyA9fqcouvSWkUk4+Jt7iDQPaph1JCfZMR9Wqsx7tg=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=Sr4kAgsx0Bxo/2kTq8XTGfo2LzL5ZyLkbbqcK5MqOB6X7LGAmOU3R0ubQIVXXh+PJ jqqUJskkhJCYkdjEBErOt0c4WcmpXbZI7p0iSPBdN8eE0aBhTRCBnbFbMhJOC0kmGF RvmtSg6z2vxk9vu6cDZX/2pGFaTts8jknZZMvBbgwQrMGGBJbh0ENoTgubfFR9HExM eS19Dx7HiTlXvKRw607WvHV2JuofxeFVzWTuWEdY8xd7KbaL704mjq2t/x+gQKsumX 0raNYyPs79OdxKm3WyeQ/uQQBi9I3vqf17Eyz04QAXRcOU4AstQCzyWFJ7BXTFbcXV x4vd34MYIUqbQ== Date: Wed, 13 Nov 2024 22:26:57 -0800 Subject: [GIT PULL 04/10] xfs: create incore rt allocation groups From: "Darrick J. Wong" To: cem@kernel.org, djwong@kernel.org Cc: hch@lst.de, linux-xfs@vger.kernel.org Message-ID: <173156551369.1445256.1153892087503510304.stg-ugh@frogsfrogsfrogs> Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 In-Reply-To: <20241114062447.GO9438@frogsfrogsfrogs> References: <20241114062447.GO9438@frogsfrogsfrogs> Hi Carlos, Please pull this branch with changes for xfs for 6.13-rc1. As usual, I did a test-merge with the main upstream branch as of a few minutes ago, and didn't see any conflicts. Please let me know if you encounter any problems. --D The following changes since commit 16aa1e01ed77ca881dad0cffdeac1d33e3015d87: xfs: repair metadata directory file path connectivity (2024-11-13 22:17:01 -0800) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/incore-rtgroups-6.13_2024-11-13 for you to fetch changes up to 9d64db093d7b4974d24af34aa3fa85a394195292: xfs: make RT extent numbers relative to the rtgroup (2024-11-13 22:17:05 -0800) ---------------------------------------------------------------- xfs: create incore rt allocation groups [v5.7 04/10] Add in-memory data structures for sharding the realtime volume into independent allocation groups. For existing filesystems, the entire rt volume is modelled as having a single large group, with (potentially) a number of rt extents exceeding 2^32 blocks, though these are not likely to exist because the codebase has been a bit broken for decades. The next series fills in the ondisk format and other supporting structures. With a bit of luck, this should all go splendidly. Signed-off-by: Darrick J. Wong ---------------------------------------------------------------- Christoph Hellwig (15): xfs: clean up xfs_getfsmap_helper arguments xfs: add a xfs_bmap_free_rtblocks helper xfs: add a xfs_qm_unmount_rt helper xfs: factor out a xfs_growfs_rt_alloc_blocks helper xfs: cleanup xfs_getfsmap_rtdev_rtbitmap xfs: split xfs_trim_rtdev_extents xfs: move RT bitmap and summary information to the rtgroup xfs: support creating per-RTG files in growfs xfs: calculate RT bitmap and summary blocks based on sb_rextents xfs: factor out a xfs_growfs_rt_alloc_fake_mount helper xfs: use xfs_growfs_rt_alloc_fake_mount in xfs_growfs_rt_alloc_blocks xfs: factor out a xfs_growfs_check_rtgeom helper xfs: refactor xfs_rtbitmap_blockcount xfs: refactor xfs_rtsummary_blockcount xfs: make RT extent numbers relative to the rtgroup Darrick J. Wong (6): xfs: create incore realtime group structures xfs: define locking primitives for realtime groups xfs: add a lockdep class key for rtgroup inodes xfs: support caching rtgroup metadata inodes xfs: add rtgroup-based realtime scrubbing context management xfs: remove XFS_ILOCK_RT* fs/xfs/Makefile | 1 + fs/xfs/libxfs/xfs_bmap.c | 46 ++-- fs/xfs/libxfs/xfs_format.h | 3 + fs/xfs/libxfs/xfs_rtbitmap.c | 199 +++++++-------- fs/xfs/libxfs/xfs_rtbitmap.h | 147 ++++++------ fs/xfs/libxfs/xfs_rtgroup.c | 484 +++++++++++++++++++++++++++++++++++++ fs/xfs/libxfs/xfs_rtgroup.h | 274 +++++++++++++++++++++ fs/xfs/libxfs/xfs_sb.c | 13 + fs/xfs/libxfs/xfs_trans_resv.c | 2 +- fs/xfs/libxfs/xfs_types.h | 8 +- fs/xfs/scrub/bmap.c | 13 + fs/xfs/scrub/common.c | 78 ++++++ fs/xfs/scrub/common.h | 30 +++ fs/xfs/scrub/fscounters.c | 25 +- fs/xfs/scrub/repair.c | 24 ++ fs/xfs/scrub/repair.h | 7 + fs/xfs/scrub/rtbitmap.c | 54 +++-- fs/xfs/scrub/rtsummary.c | 111 +++++---- fs/xfs/scrub/rtsummary_repair.c | 7 +- fs/xfs/scrub/scrub.c | 33 ++- fs/xfs/scrub/scrub.h | 13 + fs/xfs/xfs_bmap_util.c | 3 +- fs/xfs/xfs_buf_item_recover.c | 25 ++ fs/xfs/xfs_discard.c | 100 +++++--- fs/xfs/xfs_fsmap.c | 329 ++++++++++++++----------- fs/xfs/xfs_fsmap.h | 15 ++ fs/xfs/xfs_inode.c | 3 +- fs/xfs/xfs_inode.h | 13 +- fs/xfs/xfs_iomap.c | 4 +- fs/xfs/xfs_mount.c | 15 +- fs/xfs/xfs_mount.h | 26 +- fs/xfs/xfs_qm.c | 27 ++- fs/xfs/xfs_rtalloc.c | 520 +++++++++++++++++++++++++--------------- fs/xfs/xfs_super.c | 3 +- fs/xfs/xfs_trace.c | 1 + fs/xfs/xfs_trace.h | 74 ++++-- 36 files changed, 2020 insertions(+), 710 deletions(-) create mode 100644 fs/xfs/libxfs/xfs_rtgroup.c create mode 100644 fs/xfs/libxfs/xfs_rtgroup.h From patchwork Thu Nov 14 06:27:12 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 13874582 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 80BEB1E4B0; Thu, 14 Nov 2024 06:27:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731565633; cv=none; b=ia6hQxnkply138StBhmFVXu0e70dtg/sBMeOJdOnR0A/EfNsex6wjbkfUsCOzwe0ivpeXaxzzDToGjlMeZXzAs9QnhXnxfkw5HVqqzx3BJjpnDF5loIaW4j0ILCbjetk86hAuVYraU2JFUt3i3dyTF4BTrFCyBdzdiU1AqnSRq4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731565633; c=relaxed/simple; bh=B8W2Vh8Zu7YGB/xrLgeQ8sKFj8KaqifvaKvs2qYSK0M=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=t2Nup8k4SPnWyKc4Zr46VRBLAwzW0rGICkLkNgUu3oC4QhRrw/G9DWxhLv3vXoup86+nPtYr1sdTmMM7ZSkvtOATQ0R8xUWmYmOtfZmU4zZdoxgnYfaz/qe08JxcavxIgeFFLMb5yBKdqxwXAinV4hvVjJGyt+2jyFW8+4CRyaw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=HSKTElfH; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="HSKTElfH" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 59D7CC4CECF; Thu, 14 Nov 2024 06:27:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1731565633; bh=B8W2Vh8Zu7YGB/xrLgeQ8sKFj8KaqifvaKvs2qYSK0M=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=HSKTElfHhBZSjdU7Z5TXWpgbNpEvdLqd69srF1MhHvmI3ZCmeImnuYTlOnj3pjtJW JrTrZhSYPo8eeqUfuwsFrZKAl4iH9koVmsfxyOlzEA9e+7qlEztMmbgVyY2e8P4dil nizcKqUImazaYxH0ypFDmNlJYEFJ34RgUXV9qQlV0wVserC9m8AaTrRQu0IDpcrMVo Y8D4AT236N4hx65DDNWEgbJ9rFhC5PPbD9SaBlmhtLdY1o4H/j9aFvJewqNwKC8l59 QDcUR/iHyC7oYhlXhbXqla2Yhb1mhruF79lgzcYHuTO0MPiIDG/TpHTW3gQAUn7sk5 Lyxyfbl7LcoNA== Date: Wed, 13 Nov 2024 22:27:12 -0800 Subject: [GIT PULL 05/10] xfs: preparation for realtime allocation groups From: "Darrick J. Wong" To: cem@kernel.org, djwong@kernel.org Cc: hch@lst.de, linux-fsdevel@vger.kernel.org, linux-xfs@vger.kernel.org Message-ID: <173156551464.1445256.17858830260130923725.stg-ugh@frogsfrogsfrogs> Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 In-Reply-To: <20241114062447.GO9438@frogsfrogsfrogs> References: <20241114062447.GO9438@frogsfrogsfrogs> Hi Carlos, Please pull this branch with changes for xfs for 6.13-rc1. As usual, I did a test-merge with the main upstream branch as of a few minutes ago, and didn't see any conflicts. Please let me know if you encounter any problems. --D The following changes since commit 9d64db093d7b4974d24af34aa3fa85a394195292: xfs: make RT extent numbers relative to the rtgroup (2024-11-13 22:17:05 -0800) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/rtgroups-prep-6.13_2024-11-13 for you to fetch changes up to 7b91a30e441641733672f691244e5973ff1ca6de: iomap: add a merge boundary flag (2024-11-13 22:17:05 -0800) ---------------------------------------------------------------- xfs: preparation for realtime allocation groups [v5.7 05/10] Prepare for realtime groups by adding a few bug fixes and generic code that will be necessary. With a bit of luck, this should all go splendidly. Signed-off-by: Darrick J. Wong ---------------------------------------------------------------- Christoph Hellwig (1): iomap: add a merge boundary flag Darrick J. Wong (1): xfs: fix rt device offset calculations for FITRIM fs/iomap/buffered-io.c | 6 ++++++ fs/xfs/xfs_discard.c | 19 +++++++++++-------- include/linux/iomap.h | 4 ++++ 3 files changed, 21 insertions(+), 8 deletions(-) From patchwork Thu Nov 14 06:27:28 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 13874583 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2AE851E4B0 for ; Thu, 14 Nov 2024 06:27:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731565649; cv=none; b=MopaIOGNE2EhtDgc1E+Sv+d1y6mABZ7v+kB78i0ElmDLXGOw20AsDH77qEJMI43CTo2iAL8iH34VFreOicvV8AO/riF8jaBCs9z/7mY5ZoVIxI8oUJQdln/VNjlTt4AXB1JHwoyeS2gD6rmXDO55Etz6nihpwJOyVIrh9RNIj0o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731565649; c=relaxed/simple; bh=UpXe2LUpVqu3V7uq2loMjwskwgl+A4SbZuwIta7Mr+k=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=HhaiP04yNulWRcXiWN971ePA12XpVaQGq9dCV7klwDtE53ydQfrxAzT/G3DnIgu/eZMYDp1unaV/JrGdtXvtZrVrt3AynwCbU3LKbyAQC7CygDFVO93RDquqGirKs/QopAQ95NmNvwXfyIvGv5qB7tfGra/AuhxCnBZpul8YRaM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=lFvW4JjD; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="lFvW4JjD" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 04D25C4CECF; Thu, 14 Nov 2024 06:27:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1731565649; bh=UpXe2LUpVqu3V7uq2loMjwskwgl+A4SbZuwIta7Mr+k=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=lFvW4JjDaSyzxc9JhhvTYziDm7EIYT1PVj/FRTMQ6a4oEUx7k0fksSY428hdavy6J DKfWbTEKOXpAfISBVv9PFAcdLge2Oa8uYZIMpeYi4NQ+th+E+vjbPhwZ4kq7svaD24 3K6dlkfq3ScJfeDEGPmPdZvyUWAL0v3ZdxCxYPzEw3neQoNhFbLJuz3GGvZYt7Fdb0 25mv+Qe+rkF7fbiKeVIihwUSIviV2VcfYGt2jqf86GaN46BO7SokCDPC4fNyRynvLa uKX/Val0Qeg4tiybSLmJRfG0BjrZ0A+2lu/q51lFfeLoTLwoAKzKLhaM0Ter+95KTs OPoQJ3nzoopvQ== Date: Wed, 13 Nov 2024 22:27:28 -0800 Subject: [GIT PULL 06/10] xfs: shard the realtime section From: "Darrick J. Wong" To: cem@kernel.org, djwong@kernel.org Cc: hch@lst.de, linux-xfs@vger.kernel.org Message-ID: <173156551572.1445256.10783326117553183392.stg-ugh@frogsfrogsfrogs> Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 In-Reply-To: <20241114062447.GO9438@frogsfrogsfrogs> References: <20241114062447.GO9438@frogsfrogsfrogs> Hi Carlos, Please pull this branch with changes for xfs for 6.13-rc1. As usual, I did a test-merge with the main upstream branch as of a few minutes ago, and didn't see any conflicts. Please let me know if you encounter any problems. --D The following changes since commit 7b91a30e441641733672f691244e5973ff1ca6de: iomap: add a merge boundary flag (2024-11-13 22:17:05 -0800) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/realtime-groups-6.13_2024-11-13 for you to fetch changes up to 782d6a2f53677f2647513fa6b9e8584130960908: xfs: use rtgroup busy extent list for FITRIM (2024-11-13 22:17:11 -0800) ---------------------------------------------------------------- xfs: shard the realtime section [v5.7 06/10] Right now, the realtime section uses a single pair of metadata inodes to store the free space information. This presents a scalability problem since every thread trying to allocate or free rt extents have to lock these files. Solve this problem by sharding the realtime section into separate realtime allocation groups. While we're at it, define a superblock to be stamped into the start of the rt section. This enables utilities such as blkid to identify block devices containing realtime sections, and avoids the situation where anything written into block 0 of the realtime extent can be misinterpreted as file data. The best advantage for rtgroups will become evident later when we get to adding rmap and reflink to the realtime volume, since the geometry constraints are the same for rt groups and AGs. Hence we can reuse all that code directly. This is a very large patchset, but it catches us up with 20 years of technical debt that have accumulated. With a bit of luck, this should all go splendidly. Signed-off-by: Darrick J. Wong ---------------------------------------------------------------- Christoph Hellwig (3): xfs: add a helper to prevent bmap merges across rtgroup boundaries xfs: don't merge ioends across RTGs xfs: make the RT allocator rtgroup aware Darrick J. Wong (31): xfs: define the format of rt groups xfs: check the realtime superblock at mount time xfs: update realtime super every time we update the primary fs super xfs: export realtime group geometry via XFS_FSOP_GEOM xfs: check that rtblock extents do not break rtsupers or rtgroups xfs: add frextents to the lazysbcounters when rtgroups enabled xfs: convert sick_map loops to use ARRAY_SIZE xfs: record rt group metadata errors in the health system xfs: export the geometry of realtime groups to userspace xfs: add block headers to realtime bitmap and summary blocks xfs: encode the rtbitmap in big endian format xfs: encode the rtsummary in big endian format xfs: grow the realtime section when realtime groups are enabled xfs: store rtgroup information with a bmap intent xfs: force swapext to a realtime file to use the file content exchange ioctl xfs: support logging EFIs for realtime extents xfs: support error injection when freeing rt extents xfs: use realtime EFI to free extents when rtgroups are enabled xfs: don't coalesce file mappings that cross rtgroup boundaries in scrub xfs: scrub the realtime group superblock xfs: repair realtime group superblock xfs: scrub metadir paths for rtgroup metadata xfs: mask off the rtbitmap and summary inodes when metadir in use xfs: create helpers to deal with rounding xfs_fileoff_t to rtx boundaries xfs: create helpers to deal with rounding xfs_filblks_t to rtx boundaries xfs: make xfs_rtblock_t a segmented address like xfs_fsblock_t xfs: adjust min_block usage in xfs_verify_agbno xfs: move the min and max group block numbers to xfs_group xfs: port the perag discard code to handle generic groups xfs: implement busy extent tracking for rtgroups xfs: use rtgroup busy extent list for FITRIM fs/xfs/Makefile | 1 + fs/xfs/libxfs/xfs_ag.c | 22 +- fs/xfs/libxfs/xfs_ag.h | 16 +- fs/xfs/libxfs/xfs_alloc.c | 15 +- fs/xfs/libxfs/xfs_alloc.h | 12 +- fs/xfs/libxfs/xfs_bmap.c | 84 +++++- fs/xfs/libxfs/xfs_defer.c | 6 + fs/xfs/libxfs/xfs_defer.h | 1 + fs/xfs/libxfs/xfs_format.h | 74 ++++- fs/xfs/libxfs/xfs_fs.h | 28 +- fs/xfs/libxfs/xfs_group.h | 33 +++ fs/xfs/libxfs/xfs_health.h | 42 +-- fs/xfs/libxfs/xfs_ialloc_btree.c | 2 +- fs/xfs/libxfs/xfs_log_format.h | 6 +- fs/xfs/libxfs/xfs_log_recover.h | 2 + fs/xfs/libxfs/xfs_ondisk.h | 4 +- fs/xfs/libxfs/xfs_rtbitmap.c | 225 ++++++++++++--- fs/xfs/libxfs/xfs_rtbitmap.h | 114 ++++++-- fs/xfs/libxfs/xfs_rtgroup.c | 223 ++++++++++++++- fs/xfs/libxfs/xfs_rtgroup.h | 104 +++---- fs/xfs/libxfs/xfs_sb.c | 232 ++++++++++++++-- fs/xfs/libxfs/xfs_sb.h | 6 +- fs/xfs/libxfs/xfs_shared.h | 4 + fs/xfs/libxfs/xfs_types.c | 35 ++- fs/xfs/scrub/agheader.c | 15 +- fs/xfs/scrub/agheader_repair.c | 4 +- fs/xfs/scrub/bmap.c | 16 +- fs/xfs/scrub/common.h | 2 + fs/xfs/scrub/fscounters_repair.c | 9 +- fs/xfs/scrub/health.c | 32 ++- fs/xfs/scrub/metapath.c | 92 +++++++ fs/xfs/scrub/repair.c | 6 +- fs/xfs/scrub/repair.h | 3 + fs/xfs/scrub/rgsuper.c | 84 ++++++ fs/xfs/scrub/rtsummary.c | 5 + fs/xfs/scrub/rtsummary_repair.c | 15 +- fs/xfs/scrub/scrub.c | 7 + fs/xfs/scrub/scrub.h | 2 + fs/xfs/scrub/stats.c | 1 + fs/xfs/scrub/trace.h | 4 +- fs/xfs/xfs_bmap_item.c | 25 +- fs/xfs/xfs_bmap_util.c | 18 +- fs/xfs/xfs_buf_item_recover.c | 37 ++- fs/xfs/xfs_discard.c | 187 ++++++++++++- fs/xfs/xfs_exchrange.c | 2 +- fs/xfs/xfs_extent_busy.c | 6 + fs/xfs/xfs_extfree_item.c | 270 +++++++++++++++--- fs/xfs/xfs_health.c | 183 +++++++------ fs/xfs/xfs_ioctl.c | 39 ++- fs/xfs/xfs_iomap.c | 13 +- fs/xfs/xfs_log_recover.c | 2 + fs/xfs/xfs_mount.h | 15 +- fs/xfs/xfs_rtalloc.c | 577 +++++++++++++++++++++++++++++++++++---- fs/xfs/xfs_rtalloc.h | 6 + fs/xfs/xfs_super.c | 12 +- fs/xfs/xfs_trace.h | 150 +++++++--- fs/xfs/xfs_trans.c | 64 +++-- fs/xfs/xfs_trans.h | 2 + fs/xfs/xfs_trans_buf.c | 25 +- 59 files changed, 2704 insertions(+), 517 deletions(-) create mode 100644 fs/xfs/scrub/rgsuper.c From patchwork Thu Nov 14 06:27:44 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 13874584 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2115D1E9063 for ; Thu, 14 Nov 2024 06:27:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731565665; cv=none; b=MMCgG1mX1simG6bU3YYr6f1M6cXLZbgDjsfbzzjq6uyyEkmZf+ewdPelxDKkacH8fnqVtXAsSrOn7BFFuLHmotAyUVCn+SRNqt2ytCB5NT3DB0I1N3Y6qaxgeLgcUjsneCnLkwttqh/I6G2Y6Zw6VNok6rzwC1v7P6VgVWCZpXI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731565665; c=relaxed/simple; bh=Eu25UvfzNBN92J0rS+sQgmq3NXmzYEUSX1d0Vhfyiq8=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=Y8sCKDNPFLMQrIgbOhHY52c5dbrxEyT12D1j5BnoSejpPCoTnRMYEfR8BojtaMzhinkSDZ6T20yk0PENZCCscO/LVMFYqVwl3qrsygNyidwKBC9wXGOS49dE/rxr9TTmJPJRUcvAmQFVvrY3VPR60RTE9ADDiQtJsNZlsozKsCw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=PqVq5gC6; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="PqVq5gC6" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 97D34C4CECF; Thu, 14 Nov 2024 06:27:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1731565664; bh=Eu25UvfzNBN92J0rS+sQgmq3NXmzYEUSX1d0Vhfyiq8=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=PqVq5gC6ul06HDBnHPCiEh9+uawlz1ie6kOvllc5ksE/2rSi4LbvprI9n8mstgZo8 imGKjZ3a4AzRtrSey28Q+9/F30R5XIZvx6rGp5uh9TqyKm95jkfZY7h1K7w05cmXaf 2MkSsPGNLXRMUZvteAIG3Gtw7HNmfmRXCo9fRc1BVJHa+ByRbj53Cs4hrUpD1ofhDm 1NtSr0dF9qvKbWNm+wt1FycUUaivTZUxXplMgYGD14mlnDSBKMD44a7omT+T9aTdNQ azIj1mEEJ94+8p2cF+tlr97JaDOb5jHdjVKkcbQTHq2ntAaPRAFq/KTxnS6po2NwTH pwlt9S+xklmpg== Date: Wed, 13 Nov 2024 22:27:44 -0800 Subject: [GIT PULL 07/10] xfs: persist quota options with metadir From: "Darrick J. Wong" To: cem@kernel.org, djwong@kernel.org Cc: hch@lst.de, linux-xfs@vger.kernel.org Message-ID: <173156551674.1445256.14338186257234741221.stg-ugh@frogsfrogsfrogs> Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 In-Reply-To: <20241114062447.GO9438@frogsfrogsfrogs> References: <20241114062447.GO9438@frogsfrogsfrogs> Hi Carlos, Please pull this branch with changes for xfs for 6.13-rc1. As usual, I did a test-merge with the main upstream branch as of a few minutes ago, and didn't see any conflicts. Please let me know if you encounter any problems. --D The following changes since commit 782d6a2f53677f2647513fa6b9e8584130960908: xfs: use rtgroup busy extent list for FITRIM (2024-11-13 22:17:11 -0800) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/metadir-quotas-6.13_2024-11-13 for you to fetch changes up to a68492e312d9033055b0012a08f2e23ea7311654: xfs: persist quota flags with metadir (2024-11-13 22:17:12 -0800) ---------------------------------------------------------------- xfs: persist quota options with metadir [v5.7 07/10] Store the quota files in the metadata directory tree instead of the superblock. Since we're introducing a new incompat feature flag, let's also make the mount process bring up quotas in whatever state they were when the filesystem was last unmounted, instead of requiring sysadmins to remember that themselves. With a bit of luck, this should all go splendidly. Signed-off-by: Darrick J. Wong ---------------------------------------------------------------- Darrick J. Wong (4): xfs: refactor xfs_qm_destroy_quotainos xfs: use metadir for quota inodes xfs: scrub quota file metapaths xfs: persist quota flags with metadir fs/xfs/libxfs/xfs_dquot_buf.c | 190 +++++++++++++++++++++++++++++++ fs/xfs/libxfs/xfs_fs.h | 6 +- fs/xfs/libxfs/xfs_quota_defs.h | 43 +++++++ fs/xfs/libxfs/xfs_sb.c | 1 + fs/xfs/scrub/metapath.c | 76 +++++++++++++ fs/xfs/xfs_mount.c | 15 +++ fs/xfs/xfs_mount.h | 21 +++- fs/xfs/xfs_qm.c | 250 +++++++++++++++++++++++++++++++---------- fs/xfs/xfs_qm_bhv.c | 18 +++ fs/xfs/xfs_quota.h | 2 + fs/xfs/xfs_super.c | 25 ++++- 11 files changed, 586 insertions(+), 61 deletions(-) From patchwork Thu Nov 14 06:27:59 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 13874585 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5D9491632E7 for ; Thu, 14 Nov 2024 06:28:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731565680; cv=none; b=XQzNQFUiFykt/C00C53daKUWexuTb35B+wMeBEtaRnzA7X96+m1/8r+PsuaD2dGMLAhz+DSZl6gATDW5JDF/UabtfiP0ic+P1N0fsPS0Q0jTPwvUIX+dGh4UY0pRu5SBBKMTriOUPS8aqM0+zvtuJ8Edg4GE+6E8w9riIKXb0Tw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731565680; c=relaxed/simple; bh=nI74nav8Tds8dFPan82YK+zX+EDGVnkl2+eNvxhdFG8=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=R0r1Vas2YsHjJwO/g3pGIIxI0RktM4sj8G1inFjspsnAtlY+MrvTXOsCF4qv5p7LAvYkxbKFlv4wVmWtRdP+j18y4N6HyjW9ykRmprP6md39iJ5fYrkxi3ktVUEfYijqD/Oxek5b4wmYYQbjwCgIWCTDZRlqDkbtlgzfsLmsS/g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=tXFzUkQe; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="tXFzUkQe" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 399A8C4CECF; Thu, 14 Nov 2024 06:28:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1731565680; bh=nI74nav8Tds8dFPan82YK+zX+EDGVnkl2+eNvxhdFG8=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=tXFzUkQeJC0QxUsu25sko989xxSksXy/ZnLHNj0GlaTesAMwTdE8Ov4ahBW83/OeA qwb6t3DorhZ0Z2MpsJenJz1+oNtIVhtSfpR4GPXzulYkVN+jG9Ax+z8S5vG3OUesxb 4gto5h2DfX3xzEAFOK9NRpczsufi8wiCizhU6bVpF1SlV8R6JgfO3ajw2xb3MBpFSu St++0QmnaICd8JsGS0kGURCnSQxZwBE+H1AaDCHvcDHvUn9/DnC1Pl8j1RPqeOsOCF OKqvYy1Wg6LU4iRlttvrhRdafPjkqxeNeCUHKDvff30yf/pv/yZstr2zzelbBcQqQX GtPwzPXPRkWBw== Date: Wed, 13 Nov 2024 22:27:59 -0800 Subject: [GIT PULL 08/10] xfs: enable quota for realtime volumes From: "Darrick J. Wong" To: cem@kernel.org, djwong@kernel.org Cc: hch@lst.de, linux-xfs@vger.kernel.org Message-ID: <173156551772.1445256.15514711426901305678.stg-ugh@frogsfrogsfrogs> Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 In-Reply-To: <20241114062447.GO9438@frogsfrogsfrogs> References: <20241114062447.GO9438@frogsfrogsfrogs> Hi Carlos, Please pull this branch with changes for xfs for 6.13-rc1. As usual, I did a test-merge with the main upstream branch as of a few minutes ago, and didn't see any conflicts. Please let me know if you encounter any problems. --D The following changes since commit a68492e312d9033055b0012a08f2e23ea7311654: xfs: persist quota flags with metadir (2024-11-13 22:17:12 -0800) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/realtime-quotas-6.13_2024-11-13 for you to fetch changes up to 5a1557a29fb395698f8222404507d19c6f893361: xfs: enable realtime quota again (2024-11-13 22:17:13 -0800) ---------------------------------------------------------------- xfs: enable quota for realtime volumes [v5.7 08/10] At some point, I realized that I've refactored enough of the quota code in XFS that I should evaluate whether or not quota actually works on realtime volumes. It turns out that it nearly works: the only broken pieces are chown and delayed allocation, and reporting of project quotas in the statvfs output for projinherit+rtinherit directories. Fix these things and we can have realtime quotas again after 20 years. With a bit of luck, this should all go splendidly. Signed-off-by: Darrick J. Wong ---------------------------------------------------------------- Darrick J. Wong (6): xfs: fix chown with rt quota xfs: advertise realtime quota support in the xqm stat files xfs: report realtime block quota limits on realtime directories xfs: create quota preallocation watermarks for realtime quota xfs: reserve quota for realtime files correctly xfs: enable realtime quota again fs/xfs/xfs_dquot.c | 37 ++++++++++++++----------- fs/xfs/xfs_dquot.h | 18 +++++++++--- fs/xfs/xfs_iomap.c | 37 ++++++++++++++++++++----- fs/xfs/xfs_qm.c | 72 +++++++++++++++++++++++++++++++----------------- fs/xfs/xfs_qm_bhv.c | 18 ++++++++---- fs/xfs/xfs_quota.h | 12 ++++---- fs/xfs/xfs_rtalloc.c | 4 ++- fs/xfs/xfs_stats.c | 7 +++-- fs/xfs/xfs_super.c | 11 ++++---- fs/xfs/xfs_trans.c | 31 +++++++++++++++++++-- fs/xfs/xfs_trans_dquot.c | 11 ++++++++ 11 files changed, 182 insertions(+), 76 deletions(-) From patchwork Thu Nov 14 06:28:15 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 13874586 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 631901632E7 for ; Thu, 14 Nov 2024 06:28:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731565696; cv=none; b=hTuvZreNLdYO8sLsObCOlTNi/VwmqnW2O1zEZ8t1HEpKanwcvpJUl1hCVTnSasl/L3vDGC4ocj8xes495fiqVxaMqAvqOia+pxRnY1oBfPtIJ4O5mLqPGSDpcF9bK24WDZFxg6iB4hJ9wJ5Owj1PWiORVQqcyp7tt0o4pMvZTNQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731565696; c=relaxed/simple; bh=KdOpzw15x0u4KqRx5y8W143dUiOiEjESoFVtQ3GyHQE=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=bByyoIowEjaCr0iQSJ5MaE+A9XY0/6tM1nHOYyfuXL0dAFcZVijX/tSRZ3wunpQ3Nts+GSC8Qj7yXmQe1MuMJFTiOmvZKG+QwK3ce06TABSh+cBHl2pCuArWbEmkZaDlYxow8IFc+GHkNvNkzaSk9dVaeBtPHfwehqPS2QBfdJA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=usEYM2F5; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="usEYM2F5" Received: by smtp.kernel.org (Postfix) with ESMTPSA id CC6D5C4CECF; Thu, 14 Nov 2024 06:28:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1731565695; bh=KdOpzw15x0u4KqRx5y8W143dUiOiEjESoFVtQ3GyHQE=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=usEYM2F5HOZ6TKie3aAjtu7PVCI9jdwm0beGNKqA+67+/oWAzQnIxTpzLRHZZbv2J p+kgLbVpKt26HRGh4DPYWn19ouoofT8Tll3wptOmW435OmZ4DtPOFj8yIuy5XPJGgV iRkLdcv3/ZhjITz+tP5WVu6PtT3OWiihpO8gP5IsOpiJYxXk1OSVYE2+Y7jruRD8Sp iD5d2/4E1CFWqblgGg3bHFYQsQlKyEjzgG9f//NLh+6N6psvlZBr0/87jEq41VlCbo R4P7BOTZ+VHlpoeMBVKKvYhAkx1yXv+t3MPpuu+SnAxYrsYCrWiVTCS68CVGu22ayz SIpmE0o59GEvQ== Date: Wed, 13 Nov 2024 22:28:15 -0800 Subject: [GIT PULL 09/10] xfs: enable metadir From: "Darrick J. Wong" To: cem@kernel.org, djwong@kernel.org Cc: hch@lst.de, linux-xfs@vger.kernel.org Message-ID: <173156551873.1445256.9246176355935119098.stg-ugh@frogsfrogsfrogs> Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 In-Reply-To: <20241114062447.GO9438@frogsfrogsfrogs> References: <20241114062447.GO9438@frogsfrogsfrogs> Hi Carlos, Please pull this branch with changes for xfs for 6.13-rc1. As usual, I did a test-merge with the main upstream branch as of a few minutes ago, and didn't see any conflicts. Please let me know if you encounter any problems. --D The following changes since commit 5a1557a29fb395698f8222404507d19c6f893361: xfs: enable realtime quota again (2024-11-13 22:17:13 -0800) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/metadir-6.13_2024-11-13 for you to fetch changes up to 407ef7c670221fd3d67a69a4b5aac49f5d89446b: xfs: enable metadata directory feature (2024-11-13 22:17:13 -0800) ---------------------------------------------------------------- xfs: enable metadir [v5.7 09/10] Actually enable this very large feature, which adds metadata directory trees, allocation groups on the realtime volume, persistent quota options, and quota for realtime files. With a bit of luck, this should all go splendidly. Signed-off-by: Darrick J. Wong ---------------------------------------------------------------- Darrick J. Wong (2): xfs: update sb field checks when metadir is turned on xfs: enable metadata directory feature fs/xfs/libxfs/xfs_format.h | 3 ++- fs/xfs/scrub/agheader.c | 36 ++++++++++++++++++++++++------------ 2 files changed, 26 insertions(+), 13 deletions(-) From patchwork Thu Nov 14 06:28:31 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 13874587 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0CC041632E7 for ; Thu, 14 Nov 2024 06:28:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731565712; cv=none; b=C/SAaXSz+u4TmXfrwaOujN5KA//KgxYMUXpQ0M5DQ92hAUYpUTKQOuoBSUlzuigG3ACVHi1z7Ex8O09YFzna/d08RScyb2i9OZ/zZtJA7zX8zfifyyaTWYVOXfoSQqRm4MPOlthUPfvoEgi88taaBJSnjoed2pqqKpYxzcmyAKQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731565712; c=relaxed/simple; bh=IxJaJ+/P5Bu1CeUUEOP/HVj1EWOhkTVm7wUK2b8pJ3Q=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=BE6GfuKNyq1upZv8wBI1axbTZVxmu7et3KcYUDsy0jKLhrFZ4VxTmwvJi4L/T+l+10HhKxspIDqxCqyMHPMM/Ts0Fq/3IiWaScHhYjRJNUkDMVuq2MPIxnhEJ4eD4nAqxMTuTFVeV2UsLGGbqEkNiqFRbkYcfmmswmUkwbbT6Bs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Om08mgjZ; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Om08mgjZ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8DB5BC4CECF; Thu, 14 Nov 2024 06:28:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1731565711; bh=IxJaJ+/P5Bu1CeUUEOP/HVj1EWOhkTVm7wUK2b8pJ3Q=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=Om08mgjZbAt439I6I1ESNmXL+zZlInS/z8PdWFbBThdp1WzMYl68ViEBNu9PT+wtD yPd/1Pa9Tk+ppMeTLIUrBD3BIviu79isM2w754rqIspay8Nn3BVKVS0CJCMFCi6woi fxm8mv8BgF73K6yfW4mlpgJjAyOj5H+EySUPQlbH8qzUZEMgZHQ/lUXVGdRYIAvcig SsFGXq2zkHzQEGx7XzWQh0zj05K++dWgkCVWeazvq2ghOgVqqmA9p3GGldtcVmvNPC NlPoSXvXxNCGYVFVyQ7kV7CHwCzXcjql0SZ+5eA0dGnt6PMlhd8zjZEBjSRh2ZmLgR QenEwuVipe1XA== Date: Wed, 13 Nov 2024 22:28:31 -0800 Subject: [GIT PULL 10/10] xfs: improve ondisk structure checks From: "Darrick J. Wong" To: cem@kernel.org, djwong@kernel.org Cc: hch@lst.de, linux-xfs@vger.kernel.org Message-ID: <173156551969.1445256.8234868674837338084.stg-ugh@frogsfrogsfrogs> Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 In-Reply-To: <20241114062447.GO9438@frogsfrogsfrogs> References: <20241114062447.GO9438@frogsfrogsfrogs> Hi Carlos, Please pull this branch with changes for xfs for 6.13-rc1. As usual, I did a test-merge with the main upstream branch as of a few minutes ago, and didn't see any conflicts. Please let me know if you encounter any problems. --D The following changes since commit 407ef7c670221fd3d67a69a4b5aac49f5d89446b: xfs: enable metadata directory feature (2024-11-13 22:17:13 -0800) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/better-ondisk-6.13_2024-11-13 for you to fetch changes up to c70402363d6d27925f8acccff727db279b5a154d: xfs: port ondisk structure checks from xfs/122 to the kernel (2024-11-13 22:17:14 -0800) ---------------------------------------------------------------- xfs: improve ondisk structure checks [v5.7 10/10] Reorganize xfs_ondisk.h to group the build checks by type, then add a bunch of missing checks that were in xfs/122 but not the build system. With this, we can get rid of xfs/122. With a bit of luck, this should all go splendidly. Signed-off-by: Darrick J. Wong ---------------------------------------------------------------- Darrick J. Wong (3): xfs: convert struct typedefs in xfs_ondisk.h xfs: separate space btree structures in xfs_ondisk.h xfs: port ondisk structure checks from xfs/122 to the kernel fs/xfs/libxfs/xfs_ondisk.h | 186 +++++++++++++++++++++++++++++++++------------ 1 file changed, 137 insertions(+), 49 deletions(-)