From patchwork Fri Mar 28 14:24:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Filipe Manana X-Patchwork-Id: 14032080 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 101C41B415F for ; Fri, 28 Mar 2025 14:24: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=1743171849; cv=none; b=efzrByaynOS7NI3VYluuujgTINTfNezNGjBspWdVtk9SihAh74MkmZSmhcGqqNeF6FZfbHkKpruJG2mJFauvoH4Mih8l0z3tTK6l60MHnhdAwFCGMUcM0hnLnk2VTBRlcPDdbDhBjh7RDWP9PUDe28LJkYcCWA9HsG4bvpGu1m4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743171849; c=relaxed/simple; bh=ePZO1L03vuaSEqn+nr+cIWraxlwUOvcINYqAn6Iz1+A=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=CEXaqXQKmY5PcOhGhsV8noBHEiiqD5g4r+VkGtP+zyJ7J092+vq261J84Jimy5sbU52/ll51gCTvqXzfsNdzYhCvZ3SXENIYcT73lnIsfq0dVHC8no94qdTf2vNR8qK/iivwQjcsnmQ9fQ+y1GGo9CI3S+Y5sOAwGGvU1RMYs0U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=D4F/0FGF; 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="D4F/0FGF" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0A98BC4CEEA for ; Fri, 28 Mar 2025 14:24:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1743171848; bh=ePZO1L03vuaSEqn+nr+cIWraxlwUOvcINYqAn6Iz1+A=; h=From:To:Subject:Date:In-Reply-To:References:From; b=D4F/0FGFVoIxYDUzeJCEggGY+vqOBPeTQ0u4K10LIRdkk3V0pi6I+makVA+4hGZ+T /YedAJxatUpBl25USCGUl9BefGJvepJN7kOUmKdBxR1rgXlLPrZsXbaIDociT2g6A9 4cnLuAXNTcnd2cSEBX+SrhZv1WW/aPLWH/zO86C4/gfwRh89KuL9y1Zy6s5DjaDbcK g1ZeCfxJNixh+xOyC5xNAIJj5m8CA7I+qbXph3NR7xrYGGNdR6I5ZKUJ0t0nD80dEa tpbkoPA6JXvuNis+3iKwyGB1wtl6tF5/alfkpD1HxXYixBRiJscKjlkw6xV4Jggh0s BV7pTmmAoVWoQ== From: fdmanana@kernel.org To: linux-btrfs@vger.kernel.org Subject: [PATCH 1/3] btrfs: remove leftover EXTENT_UPTODATE clear from an inode's io_tree Date: Fri, 28 Mar 2025 14:24:02 +0000 Message-Id: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-btrfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Filipe Manana After commit 52b029f42751 ("btrfs: remove unnecessary EXTENT_UPTODATE state in buffered I/O path") we never set EXTENT_UPTODATE in an inode's io_tree anymore, but we still have some code attempting to clear that bit from an inode's io_tree. Remove that code as it doesn't do anything anymore. The sole use of the EXTENT_UPTODATE bit is for the excluded extents io_tree (fs_info->excluded_extents), which is used to track the locations of super blocks, so that their ranges are neved marked as free, making them unavailable for extent allocation. Signed-off-by: Filipe Manana --- fs/btrfs/extent-io-tree.h | 7 ------- fs/btrfs/inode.c | 22 ++++++++++------------ fs/btrfs/relocation.c | 3 --- fs/btrfs/tests/inode-tests.c | 12 ++++-------- 4 files changed, 14 insertions(+), 30 deletions(-) diff --git a/fs/btrfs/extent-io-tree.h b/fs/btrfs/extent-io-tree.h index cf83e094b00e..ac1a59bd2f95 100644 --- a/fs/btrfs/extent-io-tree.h +++ b/fs/btrfs/extent-io-tree.h @@ -203,13 +203,6 @@ int set_record_extent_bits(struct extent_io_tree *tree, u64 start, u64 end, int set_extent_bit(struct extent_io_tree *tree, u64 start, u64 end, u32 bits, struct extent_state **cached_state); -static inline int clear_extent_uptodate(struct extent_io_tree *tree, u64 start, - u64 end, struct extent_state **cached_state) -{ - return __clear_extent_bit(tree, start, end, EXTENT_UPTODATE, - cached_state, NULL); -} - static inline int clear_extent_dirty(struct extent_io_tree *tree, u64 start, u64 end, struct extent_state **cached) { diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 469b3fd64f17..95d29b9282ba 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -3237,8 +3237,6 @@ int btrfs_finish_one_ordered(struct btrfs_ordered_extent *ordered_extent) btrfs_end_transaction(trans); if (ret || truncated) { - u64 unwritten_start = start; - /* * If we failed to finish this ordered extent for any reason we * need to make sure BTRFS_ORDERED_IOERR is set on the ordered @@ -3250,10 +3248,6 @@ int btrfs_finish_one_ordered(struct btrfs_ordered_extent *ordered_extent) if (ret) btrfs_mark_ordered_extent_error(ordered_extent); - if (truncated) - unwritten_start += logical_len; - clear_extent_uptodate(io_tree, unwritten_start, end, NULL); - /* * Drop extent maps for the part of the extent we didn't write. * @@ -3268,9 +3262,15 @@ int btrfs_finish_one_ordered(struct btrfs_ordered_extent *ordered_extent) * we don't mess with the extent map tree in the NOCOW case, but * for now simply skip this if we are the free space inode. */ - if (!btrfs_is_free_space_inode(inode)) + if (!btrfs_is_free_space_inode(inode)) { + u64 unwritten_start = start; + + if (truncated) + unwritten_start += logical_len; + btrfs_drop_extent_map_range(inode, unwritten_start, end, false); + } /* * If the ordered extent had an IOERR or something else went @@ -7483,12 +7483,10 @@ static void btrfs_invalidate_folio(struct folio *folio, size_t offset, * Since the IO will never happen for this page. */ btrfs_qgroup_free_data(inode, NULL, cur, range_end + 1 - cur, NULL); - if (!inode_evicting) { + if (!inode_evicting) clear_extent_bit(tree, cur, range_end, EXTENT_LOCKED | - EXTENT_DELALLOC | EXTENT_UPTODATE | - EXTENT_DO_ACCOUNTING | EXTENT_DEFRAG | - extra_flags, &cached_state); - } + EXTENT_DELALLOC | EXTENT_DO_ACCOUNTING | + EXTENT_DEFRAG | extra_flags, &cached_state); cur = range_end + 1; } /* diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c index f948f4f6431c..ddcd98c59d33 100644 --- a/fs/btrfs/relocation.c +++ b/fs/btrfs/relocation.c @@ -2706,9 +2706,6 @@ static noinline_for_stack int prealloc_file_extent_cluster(struct reloc_control if (ret < 0) return ret; - clear_extent_bits(&inode->io_tree, i_size, - round_up(i_size, PAGE_SIZE) - 1, - EXTENT_UPTODATE); folio = filemap_lock_folio(mapping, i_size >> PAGE_SHIFT); /* * If page is freed we don't need to do anything then, as we diff --git a/fs/btrfs/tests/inode-tests.c b/fs/btrfs/tests/inode-tests.c index 3ea3bc2225fe..8142a84129b6 100644 --- a/fs/btrfs/tests/inode-tests.c +++ b/fs/btrfs/tests/inode-tests.c @@ -952,8 +952,7 @@ static int test_extent_accounting(u32 sectorsize, u32 nodesize) ret = clear_extent_bit(&BTRFS_I(inode)->io_tree, BTRFS_MAX_EXTENT_SIZE >> 1, (BTRFS_MAX_EXTENT_SIZE >> 1) + sectorsize - 1, - EXTENT_DELALLOC | EXTENT_DELALLOC_NEW | - EXTENT_UPTODATE, NULL); + EXTENT_DELALLOC | EXTENT_DELALLOC_NEW, NULL); if (ret) { test_err("clear_extent_bit returned %d", ret); goto out; @@ -1020,8 +1019,7 @@ static int test_extent_accounting(u32 sectorsize, u32 nodesize) ret = clear_extent_bit(&BTRFS_I(inode)->io_tree, BTRFS_MAX_EXTENT_SIZE + sectorsize, BTRFS_MAX_EXTENT_SIZE + 2 * sectorsize - 1, - EXTENT_DELALLOC | EXTENT_DELALLOC_NEW | - EXTENT_UPTODATE, NULL); + EXTENT_DELALLOC | EXTENT_DELALLOC_NEW, NULL); if (ret) { test_err("clear_extent_bit returned %d", ret); goto out; @@ -1053,8 +1051,7 @@ static int test_extent_accounting(u32 sectorsize, u32 nodesize) /* Empty */ ret = clear_extent_bit(&BTRFS_I(inode)->io_tree, 0, (u64)-1, - EXTENT_DELALLOC | EXTENT_DELALLOC_NEW | - EXTENT_UPTODATE, NULL); + EXTENT_DELALLOC | EXTENT_DELALLOC_NEW, NULL); if (ret) { test_err("clear_extent_bit returned %d", ret); goto out; @@ -1069,8 +1066,7 @@ static int test_extent_accounting(u32 sectorsize, u32 nodesize) out: if (ret) clear_extent_bit(&BTRFS_I(inode)->io_tree, 0, (u64)-1, - EXTENT_DELALLOC | EXTENT_DELALLOC_NEW | - EXTENT_UPTODATE, NULL); + EXTENT_DELALLOC | EXTENT_DELALLOC_NEW, NULL); iput(inode); btrfs_free_dummy_root(root); btrfs_free_dummy_fs_info(fs_info); From patchwork Fri Mar 28 14:24:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Filipe Manana X-Patchwork-Id: 14032081 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 1C9811C3BE6 for ; Fri, 28 Mar 2025 14:24:09 +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=1743171850; cv=none; b=sZaiTaMxrFlbo+20LEP8xXurUxiZcQ5BjsbikRrOeRqeTV1TfaeLK6pu6Hm5b/nXGGe0Gaty235bYMjq7lDxf2NNgMu+VoqV+qVeh5OJ/qe+dKOSqFEdu4sh9CCs7+nawZ3Je1Ft4T9RX7bQsRVy9dXpbQ+89MFDHH8uWkOZTEY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743171850; c=relaxed/simple; bh=tuvugG7qQ+JweFTru5TE8UFqT+VL4/eovAI1gyn/PJU=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=FBRudy9Ls9fveJ3DAe3aWJ4vOcZHRHP6d/DTcTf55Y/MwwnuPUvKXFOcYZbcKgxux1Z0V5Br1xeo5ABnd+pnhe8FeZ4ki4qLS2Pt9s6X09S9wnWH7W5XsN0CZ41JaJ2fGQc8QmW5H/lIpNgBda6teHh4OFuaioRHqJ39KM+JRzU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ED59C6OR; 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="ED59C6OR" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0E116C4CEE4 for ; Fri, 28 Mar 2025 14:24:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1743171849; bh=tuvugG7qQ+JweFTru5TE8UFqT+VL4/eovAI1gyn/PJU=; h=From:To:Subject:Date:In-Reply-To:References:From; b=ED59C6ORghKwQOLf4dt7Fm9Eg0ODdBV/UzUSUkMRwwzlMg3gWDwIFGeQfshDs1EXz aSQLbhoNt1D0nyB5oxZZmFIVt/kafhxC1wXJ5/phfliBmlsCi4BHVQcTcDG3HhY6+a TyJL6L2i8Zc+INApm5YM5ybbACZRnkhTw4mrso5RSHoGaqHa4NBJEFWOKL6X07E50m V3vTq2LQkD9LBgeALBTLKUPhz2iuZ0amVR3bK48yWffeF26G3RZRzyx0i3l2LnnKVl M0HTwurUeIm8S3A7uHaVRYRuTJFJlhXnmUJxQDB7l5yOGh5NgLm/Ey29rAUFNo104N MLbisCtTGPePw== From: fdmanana@kernel.org To: linux-btrfs@vger.kernel.org Subject: [PATCH 2/3] btrfs: stop searching for EXTENT_DIRTY bit in the excluded extents io tree Date: Fri, 28 Mar 2025 14:24:03 +0000 Message-Id: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-btrfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Filipe Manana At btrfs_add_new_free_space() we keep searching for ranges in the excluded extents io tree that have the EXTENT_DIRTY bit set, however we never ever set that bit for ranges in that tree. That is a leftover from when that function used the global freed extents trees (fs_info->freed_extents[2]), where we used both the EXTENT_DIRTY and EXTENT_UPTODATE bits, but those trees are gone with commit fe119a6eeb67 ("btrfs: switch to per-transaction pinned extents"), which introduced the fs_info->excluded_extents io tree, where only EXTENT_UPTODATE is set. So remove the EXTENT_DIRTY bit search at btrfs_add_new_free_space(). Signed-off-by: Filipe Manana --- fs/btrfs/block-group.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/fs/btrfs/block-group.c b/fs/btrfs/block-group.c index a8129f1ce78c..8a02375f27e8 100644 --- a/fs/btrfs/block-group.c +++ b/fs/btrfs/block-group.c @@ -527,8 +527,7 @@ int btrfs_add_new_free_space(struct btrfs_block_group *block_group, u64 start, while (start < end) { if (!find_first_extent_bit(&info->excluded_extents, start, &extent_start, &extent_end, - EXTENT_DIRTY | EXTENT_UPTODATE, - NULL)) + EXTENT_UPTODATE, NULL)) break; if (extent_start <= start) { From patchwork Fri Mar 28 14:24:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Filipe Manana X-Patchwork-Id: 14032082 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 37F171BE86E for ; Fri, 28 Mar 2025 14:24: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=1743171851; cv=none; b=B/IVmwRE+GXmzUy4rQMTUvhyxUbR066pKm1SX+Pn1H9Lu/1th57F943T3MG7BgqcnCeKwSTz4y0QyDVTUS74zGPS7BOTtwzCIiMqVYpscv/XvuhqyBW9E+6mT5zA+Mq51MfUnO29dVhrdyCUFp/7TW2pMsqe0CMuroN2V+1TO5c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743171851; c=relaxed/simple; bh=53dGBWT4MXLOQ6tfkNr7SS6HiwxJfe/+b/mKJNy9zxU=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ouQFYl/XflcjtamPogRaMkg11Z6OhGIdetcJdL5LGJNMJWDRloXG0FIFKD3NOdYO4WUgjBlQ/K+JOjFrvx8qpMZObd78kKTQ6EwkYyXn5Fg2/Fak5pP81wuvkOKrlufL3bl652GmyJeVuTcs2fXeLd34P8qve+vbEQ2YJB4fhMI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=QND5upp0; 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="QND5upp0" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 117E5C4CEEA for ; Fri, 28 Mar 2025 14:24:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1743171850; bh=53dGBWT4MXLOQ6tfkNr7SS6HiwxJfe/+b/mKJNy9zxU=; h=From:To:Subject:Date:In-Reply-To:References:From; b=QND5upp0R9AzqOmpE8/GLBqMCxuHEUl/zzsOBYYTuzVNCpePJe4f5YR+rRgxYNY29 8X/jN/rNzU3SwPXr7zOAjQMcpWSgwqo0KRY5KTPrjo84jFaGH3jKuWurNSmDrxAy3I w9IHo+qqtaO/2wnp2U8AqYLTx9bsKzWpFbTkztvQ6MCb/Yn4mqtZ96iMpJFM2R4J9B x6s+YHhTPxCsTLvbpY0N+VhA4v+ofeNeDsST8WBluNt8UWmg//eirdydjEfoTg9I01 15I3TterJ9S/5/RFwPordeqNK86zCPlVMq/vDJuSxawb5X/+cOEU12ZbGc+fGgWVXC AUpEhBUY8mBag== From: fdmanana@kernel.org To: linux-btrfs@vger.kernel.org Subject: [PATCH 3/3] btrfs: remove EXTENT_UPTODATE io tree flag Date: Fri, 28 Mar 2025 14:24:04 +0000 Message-Id: <698231f2fb51a7c578f575ef4c1539d7b340acdd.1743166248.git.fdmanana@suse.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-btrfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Filipe Manana The EXTENT_UPTODATE io tree flag is now used only to mark ranges in the fs_info->excluded_extents as used by super blocks and not available for extent allocation (to prevent adding those ranges as free space in the in memory space caches). As we can use any flag for that purpose, and we are using EXTENT_DIRTY for the pinned extents io tree for example, remove the EXTENT_UPTODATE flag and use instead EXTENT_DIRTY for the excluded extents io tree. Signed-off-by: Filipe Manana --- fs/btrfs/block-group.c | 8 ++++---- fs/btrfs/extent-io-tree.h | 1 - fs/btrfs/tests/extent-io-tests.c | 1 - include/trace/events/btrfs.h | 1 - 4 files changed, 4 insertions(+), 7 deletions(-) diff --git a/fs/btrfs/block-group.c b/fs/btrfs/block-group.c index 8a02375f27e8..a38578c60f34 100644 --- a/fs/btrfs/block-group.c +++ b/fs/btrfs/block-group.c @@ -527,7 +527,7 @@ int btrfs_add_new_free_space(struct btrfs_block_group *block_group, u64 start, while (start < end) { if (!find_first_extent_bit(&info->excluded_extents, start, &extent_start, &extent_end, - EXTENT_UPTODATE, NULL)) + EXTENT_DIRTY, NULL)) break; if (extent_start <= start) { @@ -834,7 +834,7 @@ static int load_extent_tree_free(struct btrfs_caching_control *caching_ctl) static inline void btrfs_free_excluded_extents(const struct btrfs_block_group *bg) { clear_extent_bits(&bg->fs_info->excluded_extents, bg->start, - bg->start + bg->length - 1, EXTENT_UPTODATE); + bg->start + bg->length - 1, EXTENT_DIRTY); } static noinline void caching_thread(struct btrfs_work *work) @@ -2219,7 +2219,7 @@ static int exclude_super_stripes(struct btrfs_block_group *cache) cache->bytes_super += stripe_len; ret = set_extent_bit(&fs_info->excluded_extents, cache->start, cache->start + stripe_len - 1, - EXTENT_UPTODATE, NULL); + EXTENT_DIRTY, NULL); if (ret) return ret; } @@ -2247,7 +2247,7 @@ static int exclude_super_stripes(struct btrfs_block_group *cache) cache->bytes_super += len; ret = set_extent_bit(&fs_info->excluded_extents, logical[nr], logical[nr] + len - 1, - EXTENT_UPTODATE, NULL); + EXTENT_DIRTY, NULL); if (ret) { kfree(logical); return ret; diff --git a/fs/btrfs/extent-io-tree.h b/fs/btrfs/extent-io-tree.h index ac1a59bd2f95..6dfe8b097d93 100644 --- a/fs/btrfs/extent-io-tree.h +++ b/fs/btrfs/extent-io-tree.h @@ -17,7 +17,6 @@ struct btrfs_inode; /* Bits for the extent state */ enum { ENUM_BIT(EXTENT_DIRTY), - ENUM_BIT(EXTENT_UPTODATE), ENUM_BIT(EXTENT_LOCKED), ENUM_BIT(EXTENT_DIO_LOCKED), ENUM_BIT(EXTENT_NEW), diff --git a/fs/btrfs/tests/extent-io-tests.c b/fs/btrfs/tests/extent-io-tests.c index 74aca7180a5a..8773758a8cc7 100644 --- a/fs/btrfs/tests/extent-io-tests.c +++ b/fs/btrfs/tests/extent-io-tests.c @@ -74,7 +74,6 @@ static void extent_flag_to_str(const struct extent_state *state, char *dest) dest[0] = 0; PRINT_ONE_FLAG(state, dest, cur, DIRTY); - PRINT_ONE_FLAG(state, dest, cur, UPTODATE); PRINT_ONE_FLAG(state, dest, cur, LOCKED); PRINT_ONE_FLAG(state, dest, cur, NEW); PRINT_ONE_FLAG(state, dest, cur, DELALLOC); diff --git a/include/trace/events/btrfs.h b/include/trace/events/btrfs.h index 549ab3b41961..60f279181ae2 100644 --- a/include/trace/events/btrfs.h +++ b/include/trace/events/btrfs.h @@ -143,7 +143,6 @@ FLUSH_STATES #define EXTENT_FLAGS \ { EXTENT_DIRTY, "DIRTY"}, \ - { EXTENT_UPTODATE, "UPTODATE"}, \ { EXTENT_LOCKED, "LOCKED"}, \ { EXTENT_NEW, "NEW"}, \ { EXTENT_DELALLOC, "DELALLOC"}, \