Enable lazy initialization of ext3/ext4 filesystems

This commit is contained in:
Alexander Block 2016-12-18 11:08:51 +01:00
parent 01b9d49673
commit 13a2bc8afb
5 changed files with 9 additions and 12 deletions

View File

@ -68,7 +68,7 @@ function safe-format-and-mount() {
# Format only if the disk is not already formatted. # Format only if the disk is not already formatted.
if ! tune2fs -l "${device}" ; then if ! tune2fs -l "${device}" ; then
echo "Formatting '${device}'" echo "Formatting '${device}'"
mkfs.ext4 -F -E lazy_itable_init=0,lazy_journal_init=0,discard "${device}" mkfs.ext4 -F "${device}"
fi fi
mkdir -p "${mountpoint}" mkdir -p "${mountpoint}"

View File

@ -22,12 +22,9 @@
FSCK=fsck.ext4 FSCK=fsck.ext4
MOUNT_OPTIONS="discard,defaults" 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 [ -e /etc/redhat-release ]; then
if grep -q '6\..' /etc/redhat-release; then if grep -q '7\..' /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
FSCK=fsck.xfs FSCK=fsck.xfs
MKFS=mkfs.xfs MKFS=mkfs.xfs
fi fi

View File

@ -359,7 +359,7 @@ func (mounter *SafeFormatAndMount) formatAndMount(source string, target string,
fstype = "ext4" fstype = "ext4"
} }
if fstype == "ext4" || fstype == "ext3" { 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) 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...) cmd := mounter.Runner.Command("mkfs."+fstype, args...)

View File

@ -109,7 +109,7 @@ func TestSafeFormatAndMount(t *testing.T) {
execScripts: []ExecArgs{ execScripts: []ExecArgs{
{"fsck", []string{"-a", "/dev/foo"}, "", nil}, {"fsck", []string{"-a", "/dev/foo"}, "", nil},
{"lsblk", []string{"-nd", "-o", "FSTYPE", "/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"), expectedError: fmt.Errorf("formatting failed"),
}, },
@ -120,7 +120,7 @@ func TestSafeFormatAndMount(t *testing.T) {
execScripts: []ExecArgs{ execScripts: []ExecArgs{
{"fsck", []string{"-a", "/dev/foo"}, "", nil}, {"fsck", []string{"-a", "/dev/foo"}, "", nil},
{"lsblk", []string{"-nd", "-o", "FSTYPE", "/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"), expectedError: fmt.Errorf("Still cannot mount"),
}, },
@ -131,7 +131,7 @@ func TestSafeFormatAndMount(t *testing.T) {
execScripts: []ExecArgs{ execScripts: []ExecArgs{
{"fsck", []string{"-a", "/dev/foo"}, "", nil}, {"fsck", []string{"-a", "/dev/foo"}, "", nil},
{"lsblk", []string{"-nd", "-o", "FSTYPE", "/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, expectedError: nil,
}, },
@ -142,7 +142,7 @@ func TestSafeFormatAndMount(t *testing.T) {
execScripts: []ExecArgs{ execScripts: []ExecArgs{
{"fsck", []string{"-a", "/dev/foo"}, "", nil}, {"fsck", []string{"-a", "/dev/foo"}, "", nil},
{"lsblk", []string{"-nd", "-o", "FSTYPE", "/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, expectedError: nil,
}, },

View File

@ -71,7 +71,7 @@ function safe-format-and-mount() {
# Format only if the disk is not already formatted. # Format only if the disk is not already formatted.
if ! tune2fs -l "${device}" ; then if ! tune2fs -l "${device}" ; then
echo "Formatting '${device}'" echo "Formatting '${device}'"
mkfs.ext4 -F -E lazy_itable_init=0,lazy_journal_init=0,discard "${device}" mkfs.ext4 -F "${device}"
fi fi
mkdir -p "${mountpoint}" mkdir -p "${mountpoint}"