Blame SOURCES/xfsprogs-4.5.0-change-mkfs-options.patch

e59f31
Disable finobt by default for compatibility w/ old RHEL7 kernels.
e59f31
e59f31
Disable experimental sparse inode support entirely.
e59f31
e59f31
Index: xfsprogs-4.5.0/man/man8/mkfs.xfs.8
e59f31
===================================================================
e59f31
--- xfsprogs-4.5.0.orig/man/man8/mkfs.xfs.8
e59f31
+++ xfsprogs-4.5.0/man/man8/mkfs.xfs.8
e59f31
@@ -167,9 +167,10 @@ filesystems age.
e59f31
 .IP
e59f31
 By default,
e59f31
 .B mkfs.xfs
e59f31
-will create free inode btrees for filesystems created with the (default)
e59f31
-.B \-m crc=1
e59f31
-option set. When the option
e59f31
+will not create free inode btrees for filesystems.  This is for backwards
e59f31
+compatibility with older RHEL7 kernels.  If the free inode btree is enabled,
e59f31
+older RHEL7 kernels will not be able to mount the created filesystem.
e59f31
+When the option
e59f31
 .B \-m crc=0
e59f31
 is used, the free inode btree feature is not supported and is disabled.
e59f31
 .TP
e59f31
@@ -419,21 +420,8 @@ If the value is omitted, 1 is assumed.  
e59f31
 in release version 3.2.0.)
e59f31
 .TP
e59f31
 .BI sparse[= value ]
e59f31
-Enable sparse inode chunk allocation. The
e59f31
-.I value
e59f31
-is either 0 or 1, with 1 signifying that sparse allocation is enabled.
e59f31
-If the value is omitted, 1 is assumed. Sparse inode allocation is
e59f31
-disabled by default. This feature is only available for filesystems
e59f31
-formatted with
e59f31
-.B \-m crc=1.
e59f31
-.IP
e59f31
-When enabled, sparse inode allocation allows the filesystem to allocate
e59f31
-smaller than the standard 64-inode chunk when free space is severely
e59f31
-limited. This feature is useful for filesystems that might fragment free
e59f31
-space over time such that no free extents are large enough to
e59f31
-accommodate a chunk of 64 inodes. Without this feature enabled, inode
e59f31
-allocations can fail with out of space errors under severe fragmented
e59f31
-free space conditions.
e59f31
+Enable sparse inode chunk allocation. This experimental option is not
e59f31
+available in RHEL7.
e59f31
 .RE
e59f31
 .TP
e59f31
 .BI \-l " log_section_options"
e59f31
Index: xfsprogs-4.5.0/mkfs/xfs_mkfs.c
e59f31
===================================================================
e59f31
--- xfsprogs-4.5.0.orig/mkfs/xfs_mkfs.c
e59f31
+++ xfsprogs-4.5.0/mkfs/xfs_mkfs.c
e59f31
@@ -105,8 +105,6 @@ char	*iopts[] = {
e59f31
 	"attr",
e59f31
 #define	I_PROJID32BIT	6
e59f31
 	"projid32bit",
e59f31
-#define I_SPINODES	7
e59f31
-	"sparse",
e59f31
 	NULL
e59f31
 };
e59f31
 
e59f31
@@ -1019,7 +1017,7 @@ main(
e59f31
 	worst_freelist = 0;
e59f31
 	lazy_sb_counters = 1;
e59f31
 	crcs_enabled = 1;
e59f31
-	finobt = 1;
e59f31
+	finobt = 0;
e59f31
 	finobtflag = false;
e59f31
 	spinodes = 0;
e59f31
 	memset(&fsx, 0, sizeof(fsx));
e59f31
@@ -1343,6 +1341,7 @@ main(
e59f31
 						illegal(value, "i projid32bit");
e59f31
 					projid16bit = c ? 0 : 1;
e59f31
 					break;
e59f31
+#if 0
e59f31
 				case I_SPINODES:
e59f31
 					if (!value || *value == '\0')
e59f31
 						value = "1";
e59f31
@@ -1350,6 +1349,7 @@ main(
e59f31
 					if (spinodes < 0 || spinodes > 1)
e59f31
 						illegal(value, "i spinodes");
e59f31
 					break;
e59f31
+#endif
e59f31
 				default:
e59f31
 					unknown('i', value);
e59f31
 				}
e59f31
@@ -3213,7 +3213,7 @@ usage( void )
e59f31
 			    sectlog=n|sectsize=num\n\
e59f31
 /* force overwrite */	[-f]\n\
e59f31
 /* inode size */	[-i log=n|perblock=n|size=num,maxpct=n,attr=0|1|2,\n\
e59f31
-			    projid32bit=0|1,sparse=0|1]\n\
e59f31
+			    projid32bit=0|1]\n\
e59f31
 /* no discard */	[-K]\n\
e59f31
 /* log subvol */	[-l agnum=n,internal,size=num,logdev=xxx,version=n\n\
e59f31
 			    sunit=value|su=num,sectlog=n|sectsize=num,\n\