From patchwork Thu Nov 14 00:17: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: 13874397 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 06C13A954; Thu, 14 Nov 2024 00:17:49 +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=1731543470; cv=none; b=tFCgI1RESQZrrlx4ivR8LydLw8sEczgmZ/cB8ugO/Yncq9XMkzoZfhQi1FJCCJHWxF6E3aQqcT4EJGsFs2Qg4Ob1hiyCyjLbh2WqTpOWzmQ54V7dHFv0KlFxDqO5mLANAibVfBAeSXNGfUet9zkO01PqGNsNtmfTMb6LW1TDL/c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731543470; c=relaxed/simple; bh=iqUC+n3p293+BnFyEtc64ehpG3kOk0AV51k+pH0YVwc=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=rfiDTUXZH9XForTPI6amsNySSmS58Tw/0uZdSPvYaZ+edZyopptFjUJOmDH1GkmyBiYK2yepvK1qrsjCvZiJhxGaBfy2KzgKyeYMVnL8r8o61igOxVDJ7P40lGBzZ34OTProFZnE/3RHzJqLPLHQMBKT6DHQcHVRQ6zudyKt/KM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=M9Dq0PQ8; 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="M9Dq0PQ8" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 46B19C4CEC3; Thu, 14 Nov 2024 00:17:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1731543469; bh=iqUC+n3p293+BnFyEtc64ehpG3kOk0AV51k+pH0YVwc=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=M9Dq0PQ8fNdaEdTTy5ouvfv7WPAYwSfQQ3y0ODCS6XZzIZX3YRK6WJfSk/ZVqD9xm KgpmZHHueem0SCXerRf0wKm6TfnOhSqONap/ONpksDdUVZurDv6ZCHJzkYIRmqgYaC dhXfKbo4ObdhYV/omj+Hwf6NgR8k7uTjFCVi8cSr//3AwOtXVzjCRBmhpW6fUdYvB0 N6+3KrJwWBB+ItCpMr6phjzJcPVA1WL9lUAGZkOC7xTqw4x00+0Rj1DozrH3DJgTjj 7rCCBmqWcajZo2rakkWF9H6XpWsUBeinZ7wv4yss855ZT//EYPGU9ppq9YVl5r2UtX Zzn82HUtHiLRQ== Date: Wed, 13 Nov 2024 16:17:48 -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: <173154341879.1140548.17168724047038023840.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: <20241114001637.GL9438@frogsfrogsfrogs> References: <20241114001637.GL9438@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 ab2d77da259c91c00940f7638a33af57f82af0f6: xfs: insert the pag structures into the xarray later (2024-11-13 16:05:20 -0800) ---------------------------------------------------------------- xfs: convert perag to use xarrays [v5.6 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 00:18:04 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: 13874398 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 68809B640 for ; Thu, 14 Nov 2024 00:18:05 +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=1731543485; cv=none; b=tZsIhW7vbcrhhVxyPcGyDWy0epMAf5ETcfutODYiyi79r6v3cj7hE/+17R7XJU5+jpYeyP5qrOBWFE5jMPTD7vrBbMj5HPpIScpOZWLw8cx8/60iwEgHmrQCg2IOVCgkpnvutMYsxd/f3YK44DVx3Vcl4Tr9DMaW7xAe5mat1sQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731543485; c=relaxed/simple; bh=rRvc24dIvnY0Hg0PmSdGD6m8/wIRTN7htckIBMKj7nw=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=sCWAf3Z71qIiTa5s6Ed0hvbKXKttKNIzb0+G1Ft2zDr524/7h/tu4pmqHWrcs++pb2IObWbPfJMK2/fpa092wrQkqHxtZFekSHk0wedtgOV+FGWWsQ98C+LMGzKdFJdhNJSpwWDC9n/LkOEceDU5LYwGTGnJvdzrFUhzaSjY4Q4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Tk32xzrh; 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="Tk32xzrh" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E67A2C4CEC3; Thu, 14 Nov 2024 00:18:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1731543484; bh=rRvc24dIvnY0Hg0PmSdGD6m8/wIRTN7htckIBMKj7nw=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=Tk32xzrhbc47nkBBcHLiSZpn9OjzpM3+IF8akWVAQ/+wmOCDnfPs/LiJMcSfDF3em EMQQLeHbvQU28wcaBBLjoArQpr2kufhtXeFjcGSrleUeJDurLTZYeuURBe5H8IIf/J 9n3AMA/y2ZGiSmhSz2bYzQrwfuog8w9v4n1UkQFNA52e1GpZdKBPLdbWKVqWMe4nsm ftUVYxtqSM+wyLu/H51E+SDAjw576nPTbGRHVPIQsqf7SMg5u2cZZBuGC3oIXmS38V UQn19Jj4YzXKhlEyUdmcGxjVROoJ/Jgza0nEWWmftsVNVOeOUKHXTd6DtBA1LhoMyQ GyoGCKNTb6E3Q== Date: Wed, 13 Nov 2024 16:18:04 -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: <173154341984.1140548.2320671703728016877.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: <20241114001637.GL9438@frogsfrogsfrogs> References: <20241114001637.GL9438@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 ab2d77da259c91c00940f7638a33af57f82af0f6: xfs: insert the pag structures into the xarray later (2024-11-13 16:05:20 -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 59e1e288697a96f2a9b71a87868f39699a84fbe0: xfs: store a generic group structure in the intents (2024-11-13 16:05:23 -0800) ---------------------------------------------------------------- xfs: create a generic allocation group structure [v5.6 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 00:18:20 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: 13874399 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 33AC2E573 for ; Thu, 14 Nov 2024 00:18:20 +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=1731543501; cv=none; b=q+KCKnURLRa6JC1UIpto3ySp7Fx4iMzQSJtqFmkHbZCA+i0yLnydPnAbvXI2nFuYrswxgMEjhKYjAkCu9b5m1ZQevdrwYTVlmHb+/1MmRF62dy4dd6is/8hN7gpn/kpX0HHoTsIq/AwjKFE+cQWDCwlqfYebSvU5X1vNTJhpAyc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731543501; c=relaxed/simple; bh=5wevyqEf8CGuvelHxzRHO7JCXUX74jTLN+IXJM3JRLY=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=CzaZQ863jpmwjz4Wl/cIFGGsQW+HjX/8mgYjAKPYhemFS96+j7vgT56NB+zMa/PFDNSEt2FENTDkq2ZihoR0gRicrz/N7UF1R69RUPegy/oO7gpb+/nfeGKkfAN+LrTKOnRFzMpZaAc6jQg5HozspDL0ZXxr3wa7KkUXuEyRTDY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=CEIA/SO/; 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="CEIA/SO/" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A8395C4CEC3; Thu, 14 Nov 2024 00:18:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1731543500; bh=5wevyqEf8CGuvelHxzRHO7JCXUX74jTLN+IXJM3JRLY=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=CEIA/SO/+FuQSEw/S5P4xEsRxr7ankBiYgbA+hajgVzyMYNhYhcvQbVo3vxCBZkDH JLY4JxXTjuV/Vz2Pxl5X1eR76Czi0ATAyGFeeLQ9Is2b44tFXnzOKYJerIhvkENDK6 H1YvwiZxxYd0Rfw51J80SjdavhjyMZak+61Slpmky/hO18vedMxfklyuuVqh2mp3cu iov9s15hEU50QaYl/lQFLiNoqysARRFsLLMxQBFvpuiUTeHjmPtOJ/fhizUHQooY7q Wj87WV5G1BYpxdmsVlNL730B+Sw5ZX/2WM7qlA/lmGCDaR3ouvL65pnM/g7i9ni77f Av0IYQfM/E3Vg== Date: Wed, 13 Nov 2024 16:18:20 -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: <173154342091.1140548.6120840735225415087.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: <20241114001637.GL9438@frogsfrogsfrogs> References: <20241114001637.GL9438@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 59e1e288697a96f2a9b71a87868f39699a84fbe0: xfs: store a generic group structure in the intents (2024-11-13 16:05:23 -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 ffc12626fd0ee4fc7c5f1c91d33b452e6d757acd: xfs: repair metadata directory file path connectivity (2024-11-13 16:05:28 -0800) ---------------------------------------------------------------- xfs: metadata inode directory trees [v5.6 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 00:18:35 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: 13874400 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 A7E0CCA4E for ; Thu, 14 Nov 2024 00:18:36 +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=1731543516; cv=none; b=la+cm9IvFGF2sX4eWKv21FhLI6dWjaBU82AMYNFBUw6HqtxjW2FA4EyJ/LiXfXnbLJUAaTy1fennMsbTvrz9ZAnmrxtgJQk3to82BeRGT98XPoqqtVRj4rtfntUrEAnermLmxQTkv62H3PO9KGse53gaY9Y+I1XGgK3tyUB816c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731543516; c=relaxed/simple; bh=I3QMv15sYprCljNXuOfgpd0DOd4VgFB6VWGyzBYAzoA=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=qojYLKMS/bf3bNKEyrw7+IxvltR9uckhrGwfng1YyTI3QFmZWP/5aai/ygXO3W52RDXhyCXL2+VqPl8z2Di/s19FeOWfKdN17vQX18FtJJ6uobfUKKkCLxXHqzUo+BbrgKEGKIFyFG7tHIyAeU6XmjJD1IRjgb+E+k4KA+Pu3WE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ji+lLofc; 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="ji+lLofc" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7E016C4CEC3; Thu, 14 Nov 2024 00:18:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1731543516; bh=I3QMv15sYprCljNXuOfgpd0DOd4VgFB6VWGyzBYAzoA=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=ji+lLofcxqpNslSX+qfJeuZ14uA/NjrNKoX1Dh4uZCAW3VcwIQvh9X3ON/F3ts+Qg Xl9ciIuzRkye89uKxKxYm7dZM/MhiVLhQ56USLYrRfUMOpn0vSS23rBupcMmsmlL5U z5X9g7DphzcNpOXcpAag/T+aoFkswir5HPzMZQxxLTmNGia89xluGE+EVo86jTm/yC C6YPcHg9ARrQxePAinhkACZe1kNiU6HZYuHckiELurvFWlcK60c6tx4AGSRmdwgOp8 ZM9Vv2Wfcc2AoiddywTFlFh4mTiNbd6wvudSuKtiVm6rlprt0EMgiftmFjd42vHvPk EEnXXEllqFuEA== Date: Wed, 13 Nov 2024 16:18:35 -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: <173154342189.1140548.3591824391884884112.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: <20241114001637.GL9438@frogsfrogsfrogs> References: <20241114001637.GL9438@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 ffc12626fd0ee4fc7c5f1c91d33b452e6d757acd: xfs: repair metadata directory file path connectivity (2024-11-13 16:05:28 -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 dd2a92877987e615f5b62f872ee0d4f992362994: xfs: make RT extent numbers relative to the rtgroup (2024-11-13 16:05:31 -0800) ---------------------------------------------------------------- xfs: create incore rt allocation groups [v5.6 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 Thu Nov 14 00:18:51 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: 13874402 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 97503C2E0; Thu, 14 Nov 2024 00:18:52 +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=1731543532; cv=none; b=OxVL+G/TsUkpbJa1kp/GmBuYbk4DIryRCk9EneSuVDss5HSqzm9+cQ9mIEUYcS3YO+9XMgowpftp42e3JICqZTh3t3t4+yd96gRSLtgIN6zbYLOTskbByd33WkLb2XXEKqP+4IhLUAHz2rSNXVV6Gvx193wjXzRPPzsuI7v44n0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731543532; c=relaxed/simple; bh=d7FuRY31dqYNYxnener1g+KwXunx/z+tiiRMldLO6Sc=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=YxhpnOTz+yByGvgkoN29mCtMkpJKlDNhj4ofEkiP5vFX/fj1YI84i+XRb6zMIUOHRChwiGQcwUrEn3P+DHOyQWxIt2d4dyCSiLSFjm5lvk4Adgnd18S8pUhTvJIRLOH0RR46S15x9sJFwVUGnxDNS7QMewWOmcP/310G9ksFG0U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=BzuyGzah; 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="BzuyGzah" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 15CCEC4CEC3; Thu, 14 Nov 2024 00:18:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1731543532; bh=d7FuRY31dqYNYxnener1g+KwXunx/z+tiiRMldLO6Sc=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=BzuyGzahCXDKJ96/wvHx2gkLDhWHz2W7NekAuYixhuyWaJMqD5q9Z3SLQJjwnIk3c YTsdo/FCcsf0pgTr3OsNV9F9vgaNeGMLLjle9JKPjBgbxVoZZLv0ccr6jQeKUPImKl iwB3iQeCdyO4HkEFtc4PPM/eG4erkwMqAOljyCCVbn9Bb7VZlDJBxsnkVymNVxglS/ oyVPVjqDxxYvqC820e65048jtfygnzP8YTXvCXJkdbssQeaX6P7kPJA1LRU1tV6dcX +an4jnbVxuWjiHGnklIb6FZMtRRib7lLArDqqZtD8diGOWoUgUmaTkod3uKitiqn/B zvoOXJw2dCw3g== Date: Wed, 13 Nov 2024 16:18:51 -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: <173154342285.1140548.1175824791120337171.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: <20241114001637.GL9438@frogsfrogsfrogs> References: <20241114001637.GL9438@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 dd2a92877987e615f5b62f872ee0d4f992362994: xfs: make RT extent numbers relative to the rtgroup (2024-11-13 16:05:31 -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 320c28fb42f571064ddc9b769dfaa3a59c105677: iomap: add a merge boundary flag (2024-11-13 16:05:32 -0800) ---------------------------------------------------------------- xfs: preparation for realtime allocation groups [v5.6 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 00:19:07 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: 13874403 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 3ECB5F9DF for ; Thu, 14 Nov 2024 00:19:07 +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=1731543548; cv=none; b=VQf7MkhHUASk48b4qX3dmQPk7IvzWyxaIA7fViyP1gKFu9z6OpnOz9JLkWpQQ/Mn3qxu+9ByffXISxiom7CamTYXwMQ4uvpMbX+/5F/snJ0hHUnSZFVRbj2EkEdTeiVoIZ7Frzh2s8+Oz8xKkZ7GzXKGX3PRCXwCAEHdymFX5uk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731543548; c=relaxed/simple; bh=tJMPUi42rAt1ynbGcjNatYy275g4RZUQkxRj2rXfdBY=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=kOE9YiYrMm/c0puyXMqrqg1040mv9Im+v1a91CfAjPyz+P1GRBCKt9Tf5aJ22LqHg5mvXwVyQQejKmWxafWMD1e4FggyCbnZC0ca4j6nFvc9lXF9jNMuBCuz7/DaSI00s0vlBCZhWLNLtQIiU4yTWxLYTB+Qwksb3ivSviSpLjE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=jnCIs51H; 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="jnCIs51H" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B8533C4CEC3; Thu, 14 Nov 2024 00:19:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1731543547; bh=tJMPUi42rAt1ynbGcjNatYy275g4RZUQkxRj2rXfdBY=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=jnCIs51HSV/RlnBiEqW/AdrurUB9dXcllHyZ9yBK0knBLHg3BUk9nmxi0K4NJ6gdg c3qKZUOvbCB5WJR+zyADD+fmMdNXlx4uFC+UXQBZqBfS+sBuIHe0XLA/lzvKss5fQC y19U6GUS6nd+twPmMnrTPDr8UIgNKvgOLDv3+HvykZ4HzcKowlwHsMd/Yx/QjBAn+R ue147Qbi++vn/2IahTIplpk5xbUXJSP4TRnEKN2gJlejJZmtST8rO1q21A2qQYocIu etGaGcxmnx+moiCHr/nZjBhRTC6RsJRRejEz80/GlQtb9yNBQ1q4fH3YIp0jhUgWJc Wk4M9V4OQU6fg== Date: Wed, 13 Nov 2024 16:19:07 -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: <173154342386.1140548.545475601428791717.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: <20241114001637.GL9438@frogsfrogsfrogs> References: <20241114001637.GL9438@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 320c28fb42f571064ddc9b769dfaa3a59c105677: iomap: add a merge boundary flag (2024-11-13 16:05:32 -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 4e88a1158f8c167b47a0f115b74d4ffbc1c9901d: xfs: use rtgroup busy extent list for FITRIM (2024-11-13 16:05:38 -0800) ---------------------------------------------------------------- xfs: shard the realtime section [v5.6 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 Thu Nov 14 00:19:22 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: 13874404 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 D0A8B1BC49 for ; Thu, 14 Nov 2024 00:19:23 +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=1731543563; cv=none; b=oDRrxfK+uVck7Tt8XJ1e18MHHgVzaL1pPZQwsMUAqjjHurv+FPvSXoUXMs4jXM2/DXyBFh73cWovRnwHSuqQxSpJWJdkafqn85cuX20H2gLhLB6TFXbyHw6XQ8y9KgDS41Bmh2NaclzuMMDBm5grBiqEQ0+WWsUiDl+kaAAPI68= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731543563; c=relaxed/simple; bh=k0FtU4gi36I48WfG9SyHPkf8RsreSQVd7NC8jYubAlE=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=QpotGLzc2SVWp82OrH/xpWz8V+RUT5a9EnKuSQBCj6ZyHjM6avvMrXgyr+n86/1KY6s9kxgP0vHfmRDHD5sZnL0/RfKzVcX5HP3u20AeeZyr9qF6q7BY8kdQe3I0E/1Fk203QHbSN+3Vqy/QEwlvR5fynumE5z7h3z6SRkXjmUw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=S30ud34M; 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="S30ud34M" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5D715C4CEC3; Thu, 14 Nov 2024 00:19:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1731543563; bh=k0FtU4gi36I48WfG9SyHPkf8RsreSQVd7NC8jYubAlE=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=S30ud34M4Et3vdwPRbB42xQMqwuq2tjj/XlcpwkbE4jo2M6kX+HdEMo0gXP+y6rIT nAPoerEeG3lyUqIPxOOtusX6sXlUDQ0Q15Zxco0at/meGLNxdVvU00J7mW216l00QI 8UlhPppO3dYLRhpz+irIJZzhca/yfO3zUGNM+o6CtBo8iP8fdlIj/jAUg/GzIin0Dj yHUsB5qfoAr4/8FWnL2lUH5RAT5g3qCLPbsgxfI9Kt0LRDiNBfn7GBN3YHf2tVedWs oaW6yBxy1s8crDero1fpALAO7xF+j78m9C3Qqv+QwrYfG0EdyGPYXEh2kSADix8eBr 8/o6alzcy2IoA== Date: Wed, 13 Nov 2024 16:19:22 -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: <173154342485.1140548.17449607487412358951.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: <20241114001637.GL9438@frogsfrogsfrogs> References: <20241114001637.GL9438@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 4e88a1158f8c167b47a0f115b74d4ffbc1c9901d: xfs: use rtgroup busy extent list for FITRIM (2024-11-13 16:05:38 -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 7b9f1c2e842b1f493c4fd7e2c878c9fd785ec033: xfs: persist quota flags with metadir (2024-11-13 16:05:38 -0800) ---------------------------------------------------------------- xfs: persist quota options with metadir [v5.6 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 00:19:38 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: 13874405 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 838B52943F for ; Thu, 14 Nov 2024 00:19:39 +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=1731543579; cv=none; b=Dphifn96GPOk+dj/Aa2p9Do+mqMOebVC2O3T0i+bI1B66/KHxeVML7pwpKZ0mjF01S2m2+eQxnycCjChjp4CA745NFzewhWYp+77/OS656pbOUs+1IzXsIMimoUYeZ18UPLIyRjPPEdQQIS9DyE33v/cNQ3cURPjWoF7Bo14aB8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731543579; c=relaxed/simple; bh=9IldSwpY7aOWfTwQA/J94xDyExds5ntBeR9z8vjVeJI=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=kAAToFGCmSgJXTZgSB9jUwchA/vFvQYFJEIEFEIkLxAnlm1084hdydCOh0ZIqmVT5kPTftUYVb722gBqxILuAwnTf6rDmu+Cbk+kCb/Oz+tFCyfNQ+ZfnvcSzzvfMxqqcO0uXnKfFc6bU3raRlnKOTVd76zub3pLvjLZLKHeuSc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=J6bsS2Jk; 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="J6bsS2Jk" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0C71FC4CEC3; Thu, 14 Nov 2024 00:19:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1731543579; bh=9IldSwpY7aOWfTwQA/J94xDyExds5ntBeR9z8vjVeJI=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=J6bsS2Jk1bzvmhkr5/WiXu9j+fpcRnCj6iB43LKgnK/gCxCu1GmRmiLEw/o6M/oBa qyreSaFdY4TK0P91By862BP08bZlBExHHEZXPtVcqDnRD5DvFnFcvxFH+W6NorF7hX xgsslaJVGI7MSvjIdIqLnjYLwbFd0HVh5BedQy7//asFim/KbGi/I5vcysD90k/pxJ NUlVJux3pft4Qgr6UCPJJaxZq0Xw2tVq1SVAYmzg88PdpTJHzlWy1LVnqFxRHqOjcN zmqkaEnA6rimW8ViqVzmCvV4wh+PKNM3joY/rGZ12tgKIZtMVAVSwYbkNNNrhNYbii /4X+rUUw8a4Xw== Date: Wed, 13 Nov 2024 16:19:38 -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: <173154342584.1140548.16670512765123388017.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: <20241114001637.GL9438@frogsfrogsfrogs> References: <20241114001637.GL9438@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 7b9f1c2e842b1f493c4fd7e2c878c9fd785ec033: xfs: persist quota flags with metadir (2024-11-13 16:05:38 -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 72eae9ba15798bdea27ebd975323a32c3319827a: xfs: enable realtime quota again (2024-11-13 16:05:39 -0800) ---------------------------------------------------------------- xfs: enable quota for realtime volumes [v5.6 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 00:19:54 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: 13874406 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 28E94171C9 for ; Thu, 14 Nov 2024 00:19:54 +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=1731543595; cv=none; b=L0l81rSPTnSvcakS6Wyg98G8T1yHvM+gM/QxNS8rj9M0iITHBhZ+C/XGSlu3ynZH3EpGwpUZl35iheuAobEJrRobdl6YQkPlFoIH/Lo3v/ML00rI0E4dQQ6FUWo/RkoRQUGxyp9Gl54zgpESHIChm74iOxKer2ZB7hLBaIvJOf8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731543595; c=relaxed/simple; bh=5pX27+MLvHJoB7+IDcJ8wJ+0x5/Th0STWJPEQn8scqk=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=FrSFUguU6psGJ3faVvMEmI9UpX1gY3OIqgynq/TeXOX8WiwVspfPWwtVjIrGjCB0kr0H6wURp9/EKVUm0tIMyTDWp2fdGkraQLq3wXPwZloodFclzYKbKfYkblrm7hO76TFJipJXZoEA9nU8m9cSX18bUL5xUhkHt3EqEIj7dV0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=RsM9HumW; 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="RsM9HumW" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A9AA8C4CEC3; Thu, 14 Nov 2024 00:19:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1731543594; bh=5pX27+MLvHJoB7+IDcJ8wJ+0x5/Th0STWJPEQn8scqk=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=RsM9HumWv9nrUzoqpbesk66GV7Spf+xrphb+Awvm/8qiBieCKKX+IkZa32hA52ahe Q0/Blf7c77t8IR53ARdpMTuL6oCpA+ySRClfIIj6Cc1T4J/y1/S32ej9LuUdf16lFh /793peZS99QdLM1J+hasTS4cSfYGNQj++awfyEDjt7iuH33EqHqzBHDwxTov9GRcJl 5+V8uWlzv4mz7OhWuOB/s3pYfhrjf8tW9v7i7oN2cFI497KCcP0I5OVObjbY96SeaU +cu08ZUlICPpW7dMQJ9CU9EMXe4cRJIO4jrGIsUUdanm0fRx6mX9FR8T8R7QAaYaKh 3tB/J3mjElx6w== Date: Wed, 13 Nov 2024 16:19:54 -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: <173154342678.1140548.5437419680492101461.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: <20241114001637.GL9438@frogsfrogsfrogs> References: <20241114001637.GL9438@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 72eae9ba15798bdea27ebd975323a32c3319827a: xfs: enable realtime quota again (2024-11-13 16:05:39 -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 aca759a9b1afc6693cfaaafcad7546298423fd20: xfs: enable metadata directory feature (2024-11-13 16:05:40 -0800) ---------------------------------------------------------------- xfs: enable metadir [v5.6 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 00:20: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: 13874407 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 A5BF779EA for ; Thu, 14 Nov 2024 00:20:10 +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=1731543610; cv=none; b=RVcav4F4VWePsDk535X1b0B35xz43xhmfJRYJZq2AmJDrs+7lbH5njXWzXADh7F4u7/dpzl+IdtUJujmJ/FkfSRBcLNkBf3fUBDLlCMpoBi290HWJcQTCS0wlzkdi+a1t+9JWgrykXIRkvnPJ+/NRhdbatVByv0pkNfRKGtmCTQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731543610; c=relaxed/simple; bh=t3lCq37MHykzlVR68bwDReqsM+AqB1PmXkdP8YwWArs=; h=Date:Subject:From:To:Cc:Message-ID:MIME-Version:In-Reply-To: References:Content-Type; b=TTJG9bSFJP3g/No63EbF6CqimTHtbdAU/rSPOizTJ1T54g4n67uw8UhInFZythKljozGgduu80QHh4gGDLMk4N9c8Ayj/sdgUrRWhvHhjY1GMwgX9iGWqZ6ni97huzJnkGxAMivR/uuoSOpMYpqYNhrmq29pvhFKfrkhApUD4IQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=XsLzMajL; 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="XsLzMajL" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7F97EC4CEC3; Thu, 14 Nov 2024 00:20:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1731543610; bh=t3lCq37MHykzlVR68bwDReqsM+AqB1PmXkdP8YwWArs=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=XsLzMajL0JjHOEaS8ZsyAH59wKsUSQd9FNa1dtIuc0a0MpENswoU/3RRP+H487jek 6rbmd3Jah+XzQxwcLzlIPWYX10NP1pZSXCtl4naUnZVRUSQ5wq15htUMHn+kz8oCL3 ZKvPakTUFceJIp6x7lvx1yalOqWJ+n+XySqd4GQUVTuwsEVVpzjf83AanH375LFm4A l3odaQVrayvkNxwNWp9EFSWmEYMyMbL6Z3xU4m18UeTn+eXWiqCIkM6dz3KaVQlI+2 N3WirE3kvUVYHdfHrr7T5pMfehlFzll5/YlDkLHdPo2v9tzz3vAUL8MIBFHpC4zf3u Zt8Ru9CWv6qWA== Date: Wed, 13 Nov 2024 16:20:10 -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: <173154342773.1140548.909946367548269731.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: <20241114001637.GL9438@frogsfrogsfrogs> References: <20241114001637.GL9438@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 aca759a9b1afc6693cfaaafcad7546298423fd20: xfs: enable metadata directory feature (2024-11-13 16:05:40 -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 b038df088d5bf221ac4f8c7fd20d7a60c9a9ddfc: xfs: port ondisk structure checks from xfs/122 to the kernel (2024-11-13 16:05:40 -0800) ---------------------------------------------------------------- xfs: improve ondisk structure checks [v5.6 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(-)