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

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