Patch "xfs: attr forks require attr, not attr2" has been added to the 6.6-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    xfs: attr forks require attr, not attr2

to the 6.6-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     xfs-attr-forks-require-attr-not-attr2.patch
and it can be found in the queue-6.6 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit ffde56f454becc67a2b481926f6284a1bc8b4a9b
Author: Darrick J. Wong <djwong@xxxxxxxxxx>
Date:   Wed Dec 18 11:17:20 2024 -0800

    xfs: attr forks require attr, not attr2
    
    commit 73c34b0b85d46bf9c2c0b367aeaffa1e2481b136 upstream.
    
    It turns out that I misunderstood the difference between the attr and
    attr2 feature bits.  "attr" means that at some point an attr fork was
    created somewhere in the filesystem.  "attr2" means that inodes have
    variable-sized forks, but says nothing about whether or not there
    actually /are/ attr forks in the system.
    
    If we have an attr fork, we only need to check that attr is set.
    
    Fixes: 99d9d8d05da26 ("xfs: scrub inode block mappings")
    Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx>
    Reviewed-by: Christoph Hellwig <hch@xxxxxx>
    Signed-off-by: Chandan Babu R <chandanbabu@xxxxxxxxxx>
    Signed-off-by: Catherine Hoang <catherine.hoang@xxxxxxxxxx>
    Acked-by: Darrick J. Wong <djwong@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/fs/xfs/scrub/bmap.c b/fs/xfs/scrub/bmap.c
index 75588915572e..9dfa310df311 100644
--- a/fs/xfs/scrub/bmap.c
+++ b/fs/xfs/scrub/bmap.c
@@ -857,7 +857,13 @@ xchk_bmap(
 		}
 		break;
 	case XFS_ATTR_FORK:
-		if (!xfs_has_attr(mp) && !xfs_has_attr2(mp))
+		/*
+		 * "attr" means that an attr fork was created at some point in
+		 * the life of this filesystem.  "attr2" means that inodes have
+		 * variable-sized data/attr fork areas.  Hence we only check
+		 * attr here.
+		 */
+		if (!xfs_has_attr(mp))
 			xchk_ino_set_corrupt(sc, sc->ip->i_ino);
 		break;
 	default:




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux