From patchwork Tue Nov 5 23:50:17 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: 13863761 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 3B7EE149C53; Tue, 5 Nov 2024 23:50:18 +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=1730850618; cv=none; b=GSpqT+dUHZ4uw6b6KaetmKm2+HtmKtPBQheGNHZtJ4benIDWyqQvv+izRuAEB3iPBldXKYA6nN7Fb5TjpbUkZwfLG+QMGIe53WJqod4HB3vNgTATFMoEjzcdTMgdXQ/ocCpcEfexw+/qKI8cUcMXjDG9Pa/5XrsJP2+ncpQQ/vA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730850618; c=relaxed/simple; bh=11QYskxSrOKpO01eCvEYDEOAEFwLKvxx51MElH/CaX8=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=GXmOmSGIGkgLfwVEgpUfV7rUVhSWhr0nw2ZOU4O8MAlEJ0a2ZDkpCyh4VZ2se5YcZUiBGFotUijYfBsXGep15vW9oaR508E/+OwfaTkvXi3IvsDiP+GaHV/VS0DghXfxXZ+04+izB6wzLJcS30B3bkzu7+bZXNTsou9vcPsFpOs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=JktmTDu8; 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="JktmTDu8" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DFAD4C4CECF; Tue, 5 Nov 2024 23:50:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1730850617; bh=11QYskxSrOKpO01eCvEYDEOAEFwLKvxx51MElH/CaX8=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=JktmTDu8nTA6HU8XCHbNpcG0QZzdaJvXeZEYBayiOJwscHXvPNmmUchRYpq3ufOFD g7CASd88fQZRm1Q9E/6wm7h5dyOiipRemrOwOX9q0qg0OyPn/H1WcgTAD711+ENnIC jiqyfh4J4UisF3aMLbT1tWgBq9KlJ2Hp1Rcu5r+34/QRFAv35oKK9FOfwdyAC2h4LL qiM81I7hXH2j9qi8ECKJR09oKTKfGleTDRs5Wy0Vqdv5vyHKi8wXPIGV2xMYuabUZE N+yOqeJhKJwUzyoHindH6f7w29KYsZfsUFZS0uHNWElxrcOg6BgjZBc5bDEQAZ2XLO HReqN8PlRC0QQ== Date: Tue, 05 Nov 2024 15:50:17 -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: <173085053887.1980968.4568095337033968708.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: <20241105234839.GL2386201@frogsfrogsfrogs> References: <20241105234839.GL2386201@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-05 for you to fetch changes up to d66496578b2a099ea453f56782f1cd2bf63a8029: xfs: insert the pag structures into the xarray later (2024-11-05 13:38:27 -0800) ---------------------------------------------------------------- xfs: convert perag to use xarrays [v5.5 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 Tue Nov 5 23:50:33 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: 13863762 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 AB8F0149C53 for ; Tue, 5 Nov 2024 23:50:33 +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=1730850633; cv=none; b=qHSm/W/WbFDqqQ/P363yT4vm8PASPxeyvT9rb2O2oZg2V0rQLglnQL0zlZdInYBbd8y27qXUe90+Hy4ra/asE68FGcpIkEpDJVLEDJ1XPJXUg3xkBGJye//PoM7+Lbz9h9L/eZmETxM9kp37J6EBGJFM07wHRwb5GGYYu0y7SiY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730850633; c=relaxed/simple; bh=JUxYLAJx0lVV8OwCUBEmjOgly9d363m8FLS6UnCXPkg=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=DSRHzzre4qEVXa/NBEoYv5lxY9mPMbIiV4NZuv84WeIdy6twQYVk7djHl5EH1fDj3cfqCuYleTpcX3JDwMimva6aIzaRn0jWMbbonYnzmjF4sCd/GQY239HnaZp3QtlMAuC/TsnMgG19XiFXzprhEFovWKGIEY2/ZwK3GBhgRtE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=UHhrZesJ; 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="UHhrZesJ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8CA45C4CECF; Tue, 5 Nov 2024 23:50:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1730850633; bh=JUxYLAJx0lVV8OwCUBEmjOgly9d363m8FLS6UnCXPkg=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=UHhrZesJFRMSl6FbW2VKcIZBmcoUCqRboy4z56BT6b2trRxDkoyJ0Bc4cvOYLxSOU NBG5DSbljSO05iEv/6tm2S2zJhERHF7de2igifxe5P1OABW2ha44tlKJK2VqbNwj1F akBskbV5J6XBmrpY5g6O+QHv4k4fVEqVY8iQh4B60OkQGPRErM4u88K3hjK0ZtHyMb /k8qQiEnfbadu0nYVFNYedIb/857NwtTkbF2zZQuOVUKT0VZVu/fxVrACd4Xe/Y+08 NTGJdZN98moSJL6QxkqR6NuQmR7udz7uAJU70x+99rrQPysapjruqxxbowcZZhIbeR JapkvLZn1AHAQ== Date: Tue, 05 Nov 2024 15:50:33 -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: <173085053989.1980968.5150082829166393141.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: <20241105234839.GL2386201@frogsfrogsfrogs> References: <20241105234839.GL2386201@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 d66496578b2a099ea453f56782f1cd2bf63a8029: xfs: insert the pag structures into the xarray later (2024-11-05 13:38:27 -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-05 for you to fetch changes up to e5e5cae05b71aa5b5e291c0e74b4e4d98a0b05d4: xfs: store a generic group structure in the intents (2024-11-05 13:38:30 -0800) ---------------------------------------------------------------- xfs: create a generic allocation group structure [v5.5 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 Tue Nov 5 23:50:48 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: 13863763 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 2662B149C53 for ; Tue, 5 Nov 2024 23:50:50 +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=1730850650; cv=none; b=oOhkiWZKSDYS6+pbMPKT7UTv/8qU8y1cDS38htwgUyd8YWAcxyOBFums8QFv4zTCLYlkxK/daX3DQBnUSQ7WBIrt/3D9QM+c5eTx1XKJVN0fydF3HZjWz0u9oaMMhZb01VJXWLZMhBkJus4VV8ZbLh62Ppz6eg8d1ZBmQgAT76k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730850650; c=relaxed/simple; bh=rHheNqPXCR5brOXzlRLIMrlXOyKDv+RlajZT2wlXDXM=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=Aa9LAHisWFpXsogJC1/H3Dq835lFWrAH2UwCNgyrccbJtseRsvkGLHe/gjgZGq4PB4OtIcUViCNxo08Lwsd19cBxBeVzfwupHIUfKFvINlsyWo48cf3+BOdTm1qQvRO4Mm/u4tNmdobMnYhkfCCZcdvh1rV7oB8PMMlmJeIDe6c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=hBL55Mit; 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="hBL55Mit" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DBE15C4CECF; Tue, 5 Nov 2024 23:50:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1730850650; bh=rHheNqPXCR5brOXzlRLIMrlXOyKDv+RlajZT2wlXDXM=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=hBL55MitXjB/eX05L+NadzMkx847Nwqkla1xeoUGIZcZMT7zNgo6frv7tFachBoVk oKb2/64LBdTWZTuK0tcZVfyGe9L39M/YEGDWVcphKjUOVlkXI4kUE8OEoo0PWhPEDe hBDrt3ncXOuNWYnA6tDyYnlVtmgfN4uIIELKCHX53VjYIbkHCpSFEdpqjVFi1G8Jpf p8Eq+nDqIBdidvqAAYwZT8+O9ZLspeovjTWDqKUwZAPxqcubB+ui0LlZJRSayRI+MH sJzPBO520UWN7SI39MJmI3LdSQ1wB35yrnNmGsZF7z9QC/i07cpTJlOmnUiRqRBUlF HbCuEB1KKQQJQ== Date: Tue, 05 Nov 2024 15:50:48 -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: <173085054092.1980968.4671578441138510827.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: <20241105234839.GL2386201@frogsfrogsfrogs> References: <20241105234839.GL2386201@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 e5e5cae05b71aa5b5e291c0e74b4e4d98a0b05d4: xfs: store a generic group structure in the intents (2024-11-05 13:38:30 -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-05 for you to fetch changes up to 0d2c636e489c115add86bd66952880f92b5edab7: xfs: repair metadata directory file path connectivity (2024-11-05 13:38:35 -0800) ---------------------------------------------------------------- xfs: metadata inode directory trees [v5.5 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 Tue Nov 5 23:51:05 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: 13863764 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 9E84E1D1748 for ; Tue, 5 Nov 2024 23:51:06 +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=1730850666; cv=none; b=ERpE99t2OiwiV0LDsjzPXuH1ou6sb6bw/9m89P3Ct/M+/YDvLNq6EksatITqFGGUv1PgwEjOXfMa2Me1pygy2oluhP22ZkFnxyGiMm8AONG4CliDuDVZK5csvQj9M9nJmYjn8S/x1fcj8wz5sQJCbqaQcYiD5dJ4gU3G7Qm2l7U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730850666; c=relaxed/simple; bh=4hzEQWIlqf9Fc2MVK5ZbMboksLcHYfHybnSOuetnF34=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=gN5sdwQPyEc1IIuUGE5+7wLRXO4+F2ZquaTzwVJQ2UXbV+qmlkMnlT423CrJ3FMoXbuHjCyB884kL8wT4VVIKp73FvMvDh0pURcUl5/FlHM+C/2zldDRr5qXvoxPZ3sZ7QYWM/FLZrrX6jCzcZHSUxsjGoyBEHBeI/3wVSlGsUw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=uhWxi6uy; 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="uhWxi6uy" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 166F7C4CECF; Tue, 5 Nov 2024 23:51:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1730850666; bh=4hzEQWIlqf9Fc2MVK5ZbMboksLcHYfHybnSOuetnF34=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=uhWxi6uycemERn8RiTBllScT0AAUmvVZ5jsSQfdIPUjGQTOwpRRnBWwI9eXUBzpQ1 +aqKPRSszA25AiLbJBmgJVA+kbBbTFHbq+k/3caBDQtTthfXUHomYBP4znYZlVlCQg 0Mj+1DAfariFA7CWpsmEyg/oRsE6kLaFwAQcPETyAHNy3w+by7Swt4l4PsPO/C09tP axiGR3KgRGvMSSPbfsaggY39VUQCQerb+XnKPgr/FfEdV/TqATYLxJEL/vjIFPrC+i d+Xbqx5MQ718fmH8o15ItQLGyGmCmUHtPoJ6pVBjnTQPvIZZ8EKafZ0b6o6OPPkm7i jUIgrDk9tDJ3g== Date: Tue, 05 Nov 2024 15:51:05 -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: <173085054192.1980968.18037248267154179650.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: <20241105234839.GL2386201@frogsfrogsfrogs> References: <20241105234839.GL2386201@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 0d2c636e489c115add86bd66952880f92b5edab7: xfs: repair metadata directory file path connectivity (2024-11-05 13:38:35 -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-05 for you to fetch changes up to f220f6da5f4ad7da538c39075cf57e829d5202f7: xfs: make RT extent numbers relative to the rtgroup (2024-11-05 13:38:38 -0800) ---------------------------------------------------------------- xfs: create incore rt allocation groups [v5.5 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 (14): 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: 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 (7): 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* xfs: factor out a xfs_growfs_rt_alloc_fake_mount helper 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 Tue Nov 5 23:51:21 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: 13863765 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 46C28149C53; Tue, 5 Nov 2024 23:51:21 +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=1730850682; cv=none; b=aArzNX27jFYZT2sf9MqB6jZMcVsXJJb+ze/TzjAH3JlX7fOEy1BwN44eQWJGXL+5NpGmtNrA6HtPAkWuu7RhtRp7MFy34GEjsdgPSJNMzU2OEk4f81l+/nJA4cf36cMiyU6a1/NtU8STf4PhsiwYMX7EyNxP5PM7c+eJOK5YIds= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730850682; c=relaxed/simple; bh=9S/OXKxDElD8GDOo9yWkcKMxYL74jEBz2evuABLzlc0=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=roGyHKFZLyFP2mUgqz2a2AjVJ+l3jG6/yu3k0aMijYWMvfW34ENBgr+8dnNH7MeNPdQQEcJIUNC5LwM+/5maQNYGNm6FAAxPXFEIsoD7XuBzUtjTSpIlR/+3eCLhz+V+y5FsjFpI5ALNubEF2hio/rlrwEXCbqzluyBTeQUpvHk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=S1RUsryb; 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="S1RUsryb" Received: by smtp.kernel.org (Postfix) with ESMTPSA id CBEABC4CECF; Tue, 5 Nov 2024 23:51:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1730850681; bh=9S/OXKxDElD8GDOo9yWkcKMxYL74jEBz2evuABLzlc0=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=S1RUsrybDE43/DCX+dhcFnbAWJhIpQtptukBr23zZZBo7ldfViEaDMySXOqCZKaR0 OEQ6ygjp2VPaYYGd0cMXaotsgmpoFve21M8QHXMHTcaGlsxngk6+YntwB/XQxlZa0P CRgcar/WRjmpPECkpo86kTvwOAJzZePcZnnTiCcuXs3Xs7PU0bUhuSqBKBOdn2/W+0 nUYKhooT5bh5TypuwwCOhAjvprXv+hfBCuFaomrcgIhst6dqiRxRO2Kb/Q+noQgZqq ULpD7+2566p9hDBDW2qZbmKsqr0tcnChJJ+Y1gOu+CS8EHJLCeINitYo5k/PqslD35 JPVXWKTK8C36g== Date: Tue, 05 Nov 2024 15:51:21 -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: <173085054289.1980968.4851664328873752187.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: <20241105234839.GL2386201@frogsfrogsfrogs> References: <20241105234839.GL2386201@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 f220f6da5f4ad7da538c39075cf57e829d5202f7: xfs: make RT extent numbers relative to the rtgroup (2024-11-05 13:38:38 -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-05 for you to fetch changes up to 64c58d7c99343a910edf995e15d8037e19ec5777: iomap: add a merge boundary flag (2024-11-05 13:38:39 -0800) ---------------------------------------------------------------- xfs: preparation for realtime allocation groups [v5.5 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 Tue Nov 5 23:51:37 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: 13863766 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 D74C7149C53 for ; Tue, 5 Nov 2024 23:51:37 +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=1730850697; cv=none; b=rpsXSDgxxMQ7gx3HSDDoFQ/X9Q/BujqNWueYd+bMKcshwDfkxJoRy/T6iF/rOGD3xlw1iDn9MOZxhBWS45VOVsZcv4cXKEb/x/hwHD6W1RxtVys9kduhw3Tau1UDJzt4lWX9O8sj9k8q0Ckzfic1SOItZt5SCxfiHldunaAxPE8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730850697; c=relaxed/simple; bh=b7es/6kOPGufhV+/8pXyMKiQMyVPjjtIv1afBnaSRCg=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=oqkACd8JFxwV5/VLzMJ5YikUwBDTJ/xtU45wbZgkNKV5WfsGaDq3l6Uf7n615X8if1LDV2wY5hgicrgIgvOM1oQ7YJiAhGD86CDmf5m3fM9ArHxD4uT5ihKI76+mx9AVEnAyOPZVIDoFkF6Ru1ubqWtQ9FVjuFZ3L9ey/xmEjGQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=CR01ldJi; 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="CR01ldJi" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6FEEDC4CECF; Tue, 5 Nov 2024 23:51:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1730850697; bh=b7es/6kOPGufhV+/8pXyMKiQMyVPjjtIv1afBnaSRCg=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=CR01ldJij2pkKyCkPt/tKaSl3FCpiR3/88HR0O/R5BQCNkuRBc/OKcrCqK46b7gLD zz8lY4VXXDcoRZdmiiYwFYbwDGrIe070Ajg5IqBybsyR3Oroit4PGtaAByBCnRo6if E7YhO0g0LWuXSgjtHoUQpQf66yVp9n6HSkNBLZrp6lRDYRQxk7bJKCTD8uyNJu8BIZ 1PV8abwHYUAQwYokAcxQvZ+xj1bYjbbl+R5FCIU5+j2HPno1WL9WaSiRUwWVBPFunP JHUSN8UvetGPFljAJBOzyn8q/gLpbJlSHyPJzS5+CoS+c68d5iDp6Aqz34AhSH4Chy OZb+m6+WvADBw== Date: Tue, 05 Nov 2024 15:51:37 -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: <173085054392.1980968.17940314938964656340.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: <20241105234839.GL2386201@frogsfrogsfrogs> References: <20241105234839.GL2386201@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 64c58d7c99343a910edf995e15d8037e19ec5777: iomap: add a merge boundary flag (2024-11-05 13:38:39 -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-05 for you to fetch changes up to a3315d11305f5c2d82fcb00e3df34775adff4084: xfs: use rtgroup busy extent list for FITRIM (2024-11-05 13:38:44 -0800) ---------------------------------------------------------------- xfs: shard the realtime section [v5.5 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 (2): xfs: add a helper to prevent bmap merges across rtgroup boundaries xfs: make the RT allocator rtgroup aware Darrick J. Wong (32): 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 merge ioends across RTGs 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 Tue Nov 5 23:51:52 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: 13863767 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 42F84149C53 for ; Tue, 5 Nov 2024 23:51:53 +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=1730850713; cv=none; b=ZdZhZOi8NnffzDZYUFbAWux11r3kyfTAl5CyVIHsG/v1lpJd6/2UOJawf9GVQtMR9nPeUBLMz0cUPbJtm1cP9ATTc+/nGD0q7KCzwZWUiNgeiijBHNl4Bho9Et+vfrcqH0h1e/dveVjWVLW6NXx7U1D6GTaGCkLJfgT/kANE3Pw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730850713; c=relaxed/simple; bh=j1P5+9Bh2lzE4pMBAPAaCslwq7yI9YBNA/Z/QOmUfj4=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=ZybThGK9wsGVri/96C+aW6ohW3ZvPI+UB256gfEZgHPyJsKKLmTWoVdavwMMgwq5bzxqP/MgG7qtMWYecl7q8Sp9nxlZ1C178xheBT7qThZOOejLEL5Vml6JtkNZrJlJefTsThmQW1K8vdZ27jgg/CmXN7MxuRw3RAH9+vZaO2s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ocuYkaZq; 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="ocuYkaZq" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1ADAFC4CECF; Tue, 5 Nov 2024 23:51:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1730850713; bh=j1P5+9Bh2lzE4pMBAPAaCslwq7yI9YBNA/Z/QOmUfj4=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=ocuYkaZqBPVzmlxSXXnDHfx5jIzsrG0rPYjm3CpSIIsQuEkNb13+0ilWx2sptp9XK r+lU9RU2WoTQtMSmbclnfvFcDbuXJadzZyKNNPqgaIDZTudMMcqTIx/mD0BOwX5OgO 3Bw2ykl0Bc9N0MNRoizqf+ZHv+LILAt5WQPRoQvTBbS4+bmjha7cvaTqhfM8LFJF2W e3+Kfq+7FEgoIMJJ0664Q9RJxSCjeQ4I3nFWvpowu5As0WSzB3TFySRBPzsMJB02w1 SqiGUe93JD0WImyju5zP0cC9Tz22JpG2df0SaL630ZabN2SyQ4hf60PL9Bjj9M4kJO NvMFKDd+TrH/A== Date: Tue, 05 Nov 2024 15:51:52 -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: <173085054493.1980968.6373683620938526057.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: <20241105234839.GL2386201@frogsfrogsfrogs> References: <20241105234839.GL2386201@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 a3315d11305f5c2d82fcb00e3df34775adff4084: xfs: use rtgroup busy extent list for FITRIM (2024-11-05 13:38:44 -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-05 for you to fetch changes up to d5d9dd5b3026a8bf58f21228b47df9e9942a9c42: xfs: persist quota flags with metadir (2024-11-05 13:38:45 -0800) ---------------------------------------------------------------- xfs: persist quota options with metadir [v5.5 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 Tue Nov 5 23:52:08 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: 13863768 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 E0F9D149C53 for ; Tue, 5 Nov 2024 23:52:08 +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=1730850729; cv=none; b=H4e6JP/wCcaqkyQeMJ17E9a/kcDwTvtiFppHQYFle2tKJRkKDtUcwzs66Fqr8+csvJk0UVvmCDyHcjm7/7mIEKXqg/zzao/SY4pKmJAqn1OXH85HlLj9Pla55EGk0d8KS/lo/sPnGP6AuKnFDG4yJS+UlEep1ybT5MEtyOM4uLs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730850729; c=relaxed/simple; bh=eK6ZqrPvZY0r/36nCzOipTu+pYj7uLtkjz9azgIHv5s=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=Z37jlBi0LRfKXMh0wtRQXEKC+56OypxNJw5cccWt4FIpETIHuLpqF4LGeAousZ45eIGDeuTryaxeoyZB744hmFk2xp6QMOS0BQN/0ntwR7OgXhJIT/v55VzyzZYXs39jFLiYnHCDq9SLMAwmww03NLBiiBf7E+5ZitM2MKLvePc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=nwYfHbgq; 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="nwYfHbgq" Received: by smtp.kernel.org (Postfix) with ESMTPSA id BE617C4CECF; Tue, 5 Nov 2024 23:52:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1730850728; bh=eK6ZqrPvZY0r/36nCzOipTu+pYj7uLtkjz9azgIHv5s=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=nwYfHbgqFQmT8MrIrwpzds0YJNP8Rabd9fEadNVGXHsrFlcIlBwimSNSAUGYXEP6y rr7eFerilpZqtv4NFxASDhghk4Y1q7nzEP2iRuPKC9SfCO78JY2/xBgA1MnXyyUbys 0c94vG5trVGWbXo8TJLzCYWa4w+G+mlxKiVHp0uc+UBReqS4nT+vZan4GsUUKfvUfi zXNOafttob9FjF3DyZdAs20YA1dnQSApdCjnvCgdcbjQKfr+vgcVT/4a22RvZR3/+Q HfwkrRSHLkVxe27zj4mCLIb9hETV1BZMhv8aHejXP8eCURZXkDCehjbdpyWT7L0XV/ 3iuJrw9csFstg== Date: Tue, 05 Nov 2024 15:52:08 -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: <173085054588.1980968.17737309475189632112.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: <20241105234839.GL2386201@frogsfrogsfrogs> References: <20241105234839.GL2386201@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 d5d9dd5b3026a8bf58f21228b47df9e9942a9c42: xfs: persist quota flags with metadir (2024-11-05 13:38:45 -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-05 for you to fetch changes up to edc038f7f3860911d4fc2574e63cedfe56603f1b: xfs: enable realtime quota again (2024-11-05 13:38:46 -0800) ---------------------------------------------------------------- xfs: enable quota for realtime volumes [v5.5 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 Tue Nov 5 23:52:23 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: 13863769 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 E5754149C53 for ; Tue, 5 Nov 2024 23:52:24 +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=1730850745; cv=none; b=ts+ofTv+J0sG1HeyvNdFgOSofIHS84bM/SUc/PMU35GJGWETkAEaU6Ibt5v4pYXVxxUR2h5IvYHvY7JSs8L0JE0Qr5RdoTzjGU/esjXylNYIzXsQ9GhPhw/FjyxsLxKOs11fo44ZHGC9FxXswG7tyFpia6VNfhS7A3AWeUwsGs0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730850745; c=relaxed/simple; bh=+OtOQiDV5O9nySeMJuygQhU6AsSqdXZbwR9LBK9wblg=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=GJTWRPflT5Cc5adKUmGr2IDC3u4ABYeIZ7ynaQBsdeFH4Pkegn08umzq4fFT/bLQkB2ZYan+5bXMEByORt3uPJF/Z8M1uwV4NQmWfbTQ8TTYquLxHFIU1nfr2YvdBa8tcQeM/0Gulr8JYw8jHn0Ya5izRUlTcN0qXVj4DI19lAU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=EjVVk5TU; 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="EjVVk5TU" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 61BCFC4CECF; Tue, 5 Nov 2024 23:52:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1730850744; bh=+OtOQiDV5O9nySeMJuygQhU6AsSqdXZbwR9LBK9wblg=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=EjVVk5TUXEzncRRUucKv3RTY77F12lTYAGN3RoEUsvrLSai7vG54MWBE3yIiXNvzS GAJDN+Wr7v0EgELb1DMoVT1jvHzPJaQeBM1YdkjOgExfirpT3p6hyGHTD9d12QoT1q w+y25ULf/hKMR49pt5T09eDkTDcrgaYmxQrMZ8KKSAA5hhZlj8F5Mr7mazyxJhbvez Rl6KLZU2F59ptgAUboTFYfBo4iABnzohEdQ9J9kHngtIT0H2cBj2koG4a39nTXTr8A Xf+crdHRgbiO12NDgpu5rw/uWw4wiaihoEZ4KICvg4zkZ8y9zjVyUar9DuyRZz6LHv +Et+eMgrvIq2w== Date: Tue, 05 Nov 2024 15:52:23 -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: <173085054684.1980968.3118969438406362583.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: <20241105234839.GL2386201@frogsfrogsfrogs> References: <20241105234839.GL2386201@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 edc038f7f3860911d4fc2574e63cedfe56603f1b: xfs: enable realtime quota again (2024-11-05 13:38:46 -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-05 for you to fetch changes up to ea079efd365e60aa26efea24b57ced4c64640e75: xfs: enable metadata directory feature (2024-11-05 13:38:46 -0800) ---------------------------------------------------------------- xfs: enable metadir [v5.5 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 Tue Nov 5 23:52:39 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: 13863770 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 3154D149C53 for ; Tue, 5 Nov 2024 23:52:40 +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=1730850760; cv=none; b=ndpDnRLruWTOSHhB7aTYIZ5b84VG196fSByPz37C7rpSVu9cZPE5YXOZjYbpivQlDsazbM4JEGplxO4j3AJ9QqtyekX1WagRKsaHRRiY2Ndoo2eKZ1R8pCLHxruWX7q4nBMiOjHmG2XdVPi7yKOE556CJDciygAtD9ximAIkAwI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730850760; c=relaxed/simple; bh=jRJGOf31T9uPOodbPxdI+udSSMjLARlP372KnmVg7Ts=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=fR52jaJrIdtL40yZL1CMhbC5xPmu9m2r3M58GJc3UX1cPIjhpitFS7xxga5UHt4er4H8VoqWAUpjnIoaslef6cCcP10l8KIYRIaBhBC4+Qby8Dni2j5GgW2OYBSG3/G7Ole3MS2YvVnp6TTlSIwPVfnigPRQ+z+UoM5dSg7Lba8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=payvT1qM; 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="payvT1qM" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 09E82C4CECF; Tue, 5 Nov 2024 23:52:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1730850760; bh=jRJGOf31T9uPOodbPxdI+udSSMjLARlP372KnmVg7Ts=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=payvT1qMijczo3iSH5FHNRjP+J2LiL2EUtYOmSoOtFepdYZmgmrRb9xX3VwL94Ca1 05HfugjX61H+tJBMXBcAijiynyt/zgMyytM26kVaYuTSBGW/mGb91EKRMy2TZ6ybQt 2Q6nZhAuxccjo6fskRRm39W/CnxXVW5gdXvLwht7z70kDru1nW0PN+ddZzazASCAVi vHcanuLlP0+pJrjNTqXOCwiabyjyWC1jUwjYuYXinh10EC8hpODvvuLDPYkkV3bSC1 sjzCHoQ8w9O9/Da5DQv2NNm1cHFF3RCu+2XkB/Q5D2iAtYfCNNIxwRShLJoGZ51OXU KyMPHR/GpKw8A== Date: Tue, 05 Nov 2024 15:52:39 -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: <173085054782.1980968.5008642841097262386.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: <20241105234839.GL2386201@frogsfrogsfrogs> References: <20241105234839.GL2386201@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 ea079efd365e60aa26efea24b57ced4c64640e75: xfs: enable metadata directory feature (2024-11-05 13:38:46 -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-05 for you to fetch changes up to 13877bc79d81354c53e91f3c86ac0f7bafe3ba7b: xfs: port ondisk structure checks from xfs/122 to the kernel (2024-11-05 13:38:47 -0800) ---------------------------------------------------------------- xfs: improve ondisk structure checks [v5.5 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(-)