mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 12:18:16 +00:00 
			
		
		
		
	Enable lazy initialization of ext3/ext4 filesystems
This commit is contained in:
		@@ -68,7 +68,7 @@ function safe-format-and-mount() {
 | 
			
		||||
  # Format only if the disk is not already formatted.
 | 
			
		||||
  if ! tune2fs -l "${device}" ; then
 | 
			
		||||
    echo "Formatting '${device}'"
 | 
			
		||||
    mkfs.ext4 -F -E lazy_itable_init=0,lazy_journal_init=0,discard "${device}"
 | 
			
		||||
    mkfs.ext4 -F "${device}"
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  mkdir -p "${mountpoint}"
 | 
			
		||||
 
 | 
			
		||||
@@ -22,12 +22,9 @@
 | 
			
		||||
 | 
			
		||||
FSCK=fsck.ext4
 | 
			
		||||
MOUNT_OPTIONS="discard,defaults"
 | 
			
		||||
MKFS="mkfs.ext4 -E lazy_itable_init=0,lazy_journal_init=0 -F"
 | 
			
		||||
MKFS="mkfs.ext4 -F"
 | 
			
		||||
if [ -e /etc/redhat-release ]; then
 | 
			
		||||
    if grep -q '6\..' /etc/redhat-release; then
 | 
			
		||||
      # lazy_journal_init is not recognized in redhat 6
 | 
			
		||||
      MKFS="mkfs.ext4 -E lazy_itable_init=0 -F"
 | 
			
		||||
    elif grep -q '7\..' /etc/redhat-release; then
 | 
			
		||||
    if grep -q '7\..' /etc/redhat-release; then
 | 
			
		||||
      FSCK=fsck.xfs
 | 
			
		||||
      MKFS=mkfs.xfs
 | 
			
		||||
    fi
 | 
			
		||||
 
 | 
			
		||||
@@ -359,7 +359,7 @@ func (mounter *SafeFormatAndMount) formatAndMount(source string, target string,
 | 
			
		||||
				fstype = "ext4"
 | 
			
		||||
			}
 | 
			
		||||
			if fstype == "ext4" || fstype == "ext3" {
 | 
			
		||||
				args = []string{"-E", "lazy_itable_init=0,lazy_journal_init=0", "-F", source}
 | 
			
		||||
				args = []string{"-F", source}
 | 
			
		||||
			}
 | 
			
		||||
			glog.Infof("Disk %q appears to be unformatted, attempting to format as type: %q with options: %v", source, fstype, args)
 | 
			
		||||
			cmd := mounter.Runner.Command("mkfs."+fstype, args...)
 | 
			
		||||
 
 | 
			
		||||
@@ -109,7 +109,7 @@ func TestSafeFormatAndMount(t *testing.T) {
 | 
			
		||||
			execScripts: []ExecArgs{
 | 
			
		||||
				{"fsck", []string{"-a", "/dev/foo"}, "", nil},
 | 
			
		||||
				{"lsblk", []string{"-nd", "-o", "FSTYPE", "/dev/foo"}, "", nil},
 | 
			
		||||
				{"mkfs.ext4", []string{"-E", "lazy_itable_init=0,lazy_journal_init=0", "-F", "/dev/foo"}, "", fmt.Errorf("formatting failed")},
 | 
			
		||||
				{"mkfs.ext4", []string{"-F", "/dev/foo"}, "", fmt.Errorf("formatting failed")},
 | 
			
		||||
			},
 | 
			
		||||
			expectedError: fmt.Errorf("formatting failed"),
 | 
			
		||||
		},
 | 
			
		||||
@@ -120,7 +120,7 @@ func TestSafeFormatAndMount(t *testing.T) {
 | 
			
		||||
			execScripts: []ExecArgs{
 | 
			
		||||
				{"fsck", []string{"-a", "/dev/foo"}, "", nil},
 | 
			
		||||
				{"lsblk", []string{"-nd", "-o", "FSTYPE", "/dev/foo"}, "", nil},
 | 
			
		||||
				{"mkfs.ext4", []string{"-E", "lazy_itable_init=0,lazy_journal_init=0", "-F", "/dev/foo"}, "", nil},
 | 
			
		||||
				{"mkfs.ext4", []string{"-F", "/dev/foo"}, "", nil},
 | 
			
		||||
			},
 | 
			
		||||
			expectedError: fmt.Errorf("Still cannot mount"),
 | 
			
		||||
		},
 | 
			
		||||
@@ -131,7 +131,7 @@ func TestSafeFormatAndMount(t *testing.T) {
 | 
			
		||||
			execScripts: []ExecArgs{
 | 
			
		||||
				{"fsck", []string{"-a", "/dev/foo"}, "", nil},
 | 
			
		||||
				{"lsblk", []string{"-nd", "-o", "FSTYPE", "/dev/foo"}, "", nil},
 | 
			
		||||
				{"mkfs.ext4", []string{"-E", "lazy_itable_init=0,lazy_journal_init=0", "-F", "/dev/foo"}, "", nil},
 | 
			
		||||
				{"mkfs.ext4", []string{"-F", "/dev/foo"}, "", nil},
 | 
			
		||||
			},
 | 
			
		||||
			expectedError: nil,
 | 
			
		||||
		},
 | 
			
		||||
@@ -142,7 +142,7 @@ func TestSafeFormatAndMount(t *testing.T) {
 | 
			
		||||
			execScripts: []ExecArgs{
 | 
			
		||||
				{"fsck", []string{"-a", "/dev/foo"}, "", nil},
 | 
			
		||||
				{"lsblk", []string{"-nd", "-o", "FSTYPE", "/dev/foo"}, "", nil},
 | 
			
		||||
				{"mkfs.ext3", []string{"-E", "lazy_itable_init=0,lazy_journal_init=0", "-F", "/dev/foo"}, "", nil},
 | 
			
		||||
				{"mkfs.ext3", []string{"-F", "/dev/foo"}, "", nil},
 | 
			
		||||
			},
 | 
			
		||||
			expectedError: nil,
 | 
			
		||||
		},
 | 
			
		||||
 
 | 
			
		||||
@@ -71,7 +71,7 @@ function safe-format-and-mount() {
 | 
			
		||||
	# Format only if the disk is not already formatted.
 | 
			
		||||
	if ! tune2fs -l "${device}" ; then
 | 
			
		||||
		echo "Formatting '${device}'"
 | 
			
		||||
		mkfs.ext4 -F -E lazy_itable_init=0,lazy_journal_init=0,discard "${device}"
 | 
			
		||||
		mkfs.ext4 -F "${device}"
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	mkdir -p "${mountpoint}"
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user