xfs: constify xfs_name_dotdot
authorDarrick J. Wong <djwong@kernel.org>
Wed, 9 Mar 2022 18:16:12 +0000 (10:16 -0800)
committerDarrick J. Wong <djwong@kernel.org>
Mon, 14 Mar 2022 17:23:17 +0000 (10:23 -0700)
The symbol xfs_name_dotdot is a global variable that the xfs codebase
uses here and there to look up directory dotdot entries.  Currently it's
a non-const variable, which means that it's a mutable global variable.
So far nobody's abused this to cause problems, but let's use the
compiler to enforce that.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
fs/xfs/libxfs/xfs_dir2.c
fs/xfs/libxfs/xfs_dir2.h

index 6b531a6..5f1e479 100644 (file)
 #include "xfs_error.h"
 #include "xfs_trace.h"
 
-struct xfs_name xfs_name_dotdot = { (unsigned char *)"..", 2, XFS_DIR3_FT_DIR };
+const struct xfs_name xfs_name_dotdot = {
+       .name   = (const unsigned char *)"..",
+       .len    = 2,
+       .type   = XFS_DIR3_FT_DIR,
+};
 
 /*
  * Convert inode mode to directory entry filetype
index 55e0557..b6df3c3 100644 (file)
@@ -21,7 +21,7 @@ struct xfs_dir2_data_unused;
 struct xfs_dir3_icfree_hdr;
 struct xfs_dir3_icleaf_hdr;
 
-extern struct xfs_name xfs_name_dotdot;
+extern const struct xfs_name   xfs_name_dotdot;
 
 /*
  * Convert inode mode to directory entry filetype