All of lore.kernel.org
 help / color / mirror / Atom feed
From: allison.henderson@oracle.com
To: linux-xfs@vger.kernel.org
Subject: [PATCH v6 22/27] xfs: Add the parent pointer support to the  superblock version 5.
Date: Tue, 29 Nov 2022 14:12:37 -0700	[thread overview]
Message-ID: <20221129211242.2689855-23-allison.henderson@oracle.com> (raw)
In-Reply-To: <20221129211242.2689855-1-allison.henderson@oracle.com>

From: Allison Henderson <allison.henderson@oracle.com>

Signed-off-by: Mark Tinguely <tinguely@sgi.com>
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Allison Henderson <allison.henderson@oracle.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
---
 fs/xfs/libxfs/xfs_format.h | 4 +++-
 fs/xfs/libxfs/xfs_fs.h     | 1 +
 fs/xfs/libxfs/xfs_sb.c     | 4 ++++
 fs/xfs/xfs_super.c         | 4 ++++
 4 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/fs/xfs/libxfs/xfs_format.h b/fs/xfs/libxfs/xfs_format.h
index 371dc07233e0..f413819b2a8a 100644
--- a/fs/xfs/libxfs/xfs_format.h
+++ b/fs/xfs/libxfs/xfs_format.h
@@ -373,13 +373,15 @@ xfs_sb_has_ro_compat_feature(
 #define XFS_SB_FEAT_INCOMPAT_BIGTIME	(1 << 3)	/* large timestamps */
 #define XFS_SB_FEAT_INCOMPAT_NEEDSREPAIR (1 << 4)	/* needs xfs_repair */
 #define XFS_SB_FEAT_INCOMPAT_NREXT64	(1 << 5)	/* large extent counters */
+#define XFS_SB_FEAT_INCOMPAT_PARENT	(1 << 6)	/* parent pointers */
 #define XFS_SB_FEAT_INCOMPAT_ALL \
 		(XFS_SB_FEAT_INCOMPAT_FTYPE|	\
 		 XFS_SB_FEAT_INCOMPAT_SPINODES|	\
 		 XFS_SB_FEAT_INCOMPAT_META_UUID| \
 		 XFS_SB_FEAT_INCOMPAT_BIGTIME| \
 		 XFS_SB_FEAT_INCOMPAT_NEEDSREPAIR| \
-		 XFS_SB_FEAT_INCOMPAT_NREXT64)
+		 XFS_SB_FEAT_INCOMPAT_NREXT64| \
+		 XFS_SB_FEAT_INCOMPAT_PARENT)
 
 #define XFS_SB_FEAT_INCOMPAT_UNKNOWN	~XFS_SB_FEAT_INCOMPAT_ALL
 static inline bool
diff --git a/fs/xfs/libxfs/xfs_fs.h b/fs/xfs/libxfs/xfs_fs.h
index 1cfd5bc6520a..b0b4d7a3aa15 100644
--- a/fs/xfs/libxfs/xfs_fs.h
+++ b/fs/xfs/libxfs/xfs_fs.h
@@ -237,6 +237,7 @@ typedef struct xfs_fsop_resblks {
 #define XFS_FSOP_GEOM_FLAGS_BIGTIME	(1 << 21) /* 64-bit nsec timestamps */
 #define XFS_FSOP_GEOM_FLAGS_INOBTCNT	(1 << 22) /* inobt btree counter */
 #define XFS_FSOP_GEOM_FLAGS_NREXT64	(1 << 23) /* large extent counters */
+#define XFS_FSOP_GEOM_FLAGS_PARENT	(1 << 24) /* parent pointers 	    */
 
 /*
  * Minimum and maximum sizes need for growth checks.
diff --git a/fs/xfs/libxfs/xfs_sb.c b/fs/xfs/libxfs/xfs_sb.c
index 1eeecf2eb2a7..a59bf09495b1 100644
--- a/fs/xfs/libxfs/xfs_sb.c
+++ b/fs/xfs/libxfs/xfs_sb.c
@@ -173,6 +173,8 @@ xfs_sb_version_to_features(
 		features |= XFS_FEAT_NEEDSREPAIR;
 	if (sbp->sb_features_incompat & XFS_SB_FEAT_INCOMPAT_NREXT64)
 		features |= XFS_FEAT_NREXT64;
+	if (sbp->sb_features_incompat & XFS_SB_FEAT_INCOMPAT_PARENT)
+		features |= XFS_FEAT_PARENT;
 
 	return features;
 }
@@ -1189,6 +1191,8 @@ xfs_fs_geometry(
 		geo->flags |= XFS_FSOP_GEOM_FLAGS_BIGTIME;
 	if (xfs_has_inobtcounts(mp))
 		geo->flags |= XFS_FSOP_GEOM_FLAGS_INOBTCNT;
+	if (xfs_has_parent(mp))
+		geo->flags |= XFS_FSOP_GEOM_FLAGS_PARENT;
 	if (xfs_has_sector(mp)) {
 		geo->flags |= XFS_FSOP_GEOM_FLAGS_SECTOR;
 		geo->logsectsize = sbp->sb_logsectsize;
diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c
index 0c4b73e9b29d..8f1e9b9ed35d 100644
--- a/fs/xfs/xfs_super.c
+++ b/fs/xfs/xfs_super.c
@@ -1663,6 +1663,10 @@ xfs_fs_fill_super(
 		xfs_warn(mp,
 	"EXPERIMENTAL Large extent counts feature in use. Use at your own risk!");
 
+	if (xfs_has_parent(mp))
+		xfs_alert(mp,
+	"EXPERIMENTAL parent pointer feature enabled. Use at your own risk!");
+
 	error = xfs_mountfs(mp);
 	if (error)
 		goto out_filestream_unmount;
-- 
2.25.1


  parent reply	other threads:[~2022-11-29 21:14 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-29 21:12 [PATCH v6 00/27] Parent Pointers allison.henderson
2022-11-29 21:12 ` [PATCH v6 01/27] xfs: Add new name to attri/d allison.henderson
2022-11-29 21:12 ` [PATCH v6 02/27] xfs: Increase XFS_DEFER_OPS_NR_INODES to 5 allison.henderson
2022-11-29 21:12 ` [PATCH v6 03/27] xfs: Increase XFS_QM_TRANS_MAXDQS " allison.henderson
2022-11-29 21:12 ` [PATCH v6 04/27] xfs: Hold inode locks in xfs_ialloc allison.henderson
2022-11-29 21:12 ` [PATCH v6 05/27] xfs: Hold inode locks in xfs_trans_alloc_dir allison.henderson
2022-11-29 21:12 ` [PATCH v6 06/27] xfs: Hold inode locks in xfs_rename allison.henderson
2022-11-29 21:12 ` [PATCH v6 07/27] xfs: Expose init_xattrs in xfs_create_tmpfile allison.henderson
2022-11-29 21:12 ` [PATCH v6 08/27] xfs: get directory offset when adding directory name allison.henderson
2022-11-29 21:12 ` [PATCH v6 09/27] xfs: get directory offset when removing " allison.henderson
2022-11-29 21:12 ` [PATCH v6 10/27] xfs: get directory offset when replacing a " allison.henderson
2022-11-29 21:12 ` [PATCH v6 11/27] xfs: add parent pointer support to attribute code allison.henderson
2022-11-29 21:12 ` [PATCH v6 12/27] xfs: define parent pointer xattr format allison.henderson
2022-11-29 21:12 ` [PATCH v6 13/27] xfs: Add xfs_verify_pptr allison.henderson
2022-11-29 21:12 ` [PATCH v6 14/27] xfs: extend transaction reservations for parent attributes allison.henderson
2022-11-29 21:12 ` [PATCH v6 15/27] xfs: parent pointer attribute creation allison.henderson
2022-11-29 21:12 ` [PATCH v6 16/27] xfs: add parent attributes to link allison.henderson
2022-11-29 21:12 ` [PATCH v6 17/27] xfs: add parent attributes to symlink allison.henderson
2022-11-29 21:12 ` [PATCH v6 18/27] xfs: remove parent pointers in unlink allison.henderson
2022-11-29 21:12 ` [PATCH v6 19/27] xfs: Indent xfs_rename allison.henderson
2022-11-29 21:12 ` [PATCH v6 20/27] xfs: Add parent pointers to rename allison.henderson
2022-11-29 21:12 ` [PATCH v6 21/27] xfs: Add parent pointers to xfs_cross_rename allison.henderson
2022-11-29 21:12 ` allison.henderson [this message]
2022-11-29 21:12 ` [PATCH v6 23/27] xfs: Add helper function xfs_attr_list_context_init allison.henderson
2022-11-29 21:12 ` [PATCH v6 24/27] xfs: Filter XFS_ATTR_PARENT for getfattr allison.henderson
2022-11-29 21:12 ` [PATCH v6 25/27] xfs: Add parent pointer ioctl allison.henderson
2022-12-02  5:59   ` kernel test robot
2022-11-29 21:12 ` [PATCH v6 26/27] xfs: fix unit conversion error in xfs_log_calc_max_attrsetm_res allison.henderson
2022-11-29 21:12 ` [PATCH v6 27/27] xfs: drop compatibility minimum log size computations for reflink allison.henderson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221129211242.2689855-23-allison.henderson@oracle.com \
    --to=allison.henderson@oracle.com \
    --cc=linux-xfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.