fe6f0ed0da
In this round, we've tuned f2fs to improve general performance by serializing block allocation and enhancing discard flows like fstrim which avoids user IO contention. And we've added fsync_mode=nobarrier which gives an option to user where it skips issuing cache_flush commands to underlying flash storage. And there are many bug fixes related to fuzzed images, revoked atomic writes, quota ops, and minor direct IO. Enhancement: - add fsync_mode=nobarrier which bypasses cache_flush command - enhance the discarding flow which avoids user IOs and issues in LBA order - readahead some encrypted blocks during GC - enable in-memory inode checksum to verify the blocks if F2FS_CHECK_FS is set - enhance nat_bits behavior - set -o discard by default - set REQ_RAHEAD to bio in ->readpages Bug fixes: - fix a corner case to corrupt atomic_writes revoking flow - revisit i_gc_rwsem to fix race conditions - fix some dio behaviors captured by xfstests - correct handling errors given by quota-related failures - add many sanity check flows to avoid fuzz test failures - add more error number propagation to their callers - fix several corner cases to continue fault injection w/ shutdown loop -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE00UqedjCtOrGVvQiQBSofoJIUNIFAlt82U4ACgkQQBSofoJI UNJTLQ/+PhewnNa5tDfUgWdFnUFz3h9/NcC677l0OplOOUNxA8iSa1xamlKf/nf9 sB5ey0I7oBF8zQGxfndhHQfi6fpfUcNMr14hm+TS/3+d54xLJmiVShD5fjNSV2vB Ur0xoozuQDwYF1e3QKdBQjFqaCf78VheTr3aWxyv22/Sg+PYylZJ2K8rHTB7mGPU UG0aRnKrP3FPRjL7Q3m0Vm6b6eZ5uNdNrFfjgn/8yuQQ9V197K8vwSbPAsR5/pOh miCQXyM708NgEYJRWkWmC/rDSQdU0/h/mGnJWrBrbceW62QefGOgd2jcVfmthHJa ZXpj+BEG5bYpCCxGxF6N+u0e28OKonCwO/uvL8YAd5icN7yXtsKzoF1CCuXxOYf1 9K5SMylCTSyrs/+LV8CJoT2ya8w0l0w+R/txUYn8UT+4AgqU+chS2kJeXqw9tcHB WLFs/rnAyofWCI/8frVBmJY+zA1ZZvTqs/lmVYrtJUkiOcMTq34WICBUAEFKV452 BM5dcu21bSIkapYispEt4Rr7o4P4HHMQ+N1i2yUZMFCz5T0RyzdybeS5THk2yVzd L0kxfYU+zHigNX51ez8+Z7DyDLDBp6jkD0e66x73bUK9TGPH+ZbnAL6gwLikmD3M +VxYl5nyW/3bxx1HdfK1Xwd4/wYMNBmdtn5NC50oZ+jpB0h8YCE= =zgbL -----END PGP SIGNATURE----- Merge tag 'f2fs-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs Pull f2fs updates from Jaegeuk Kim: "In this round, we've tuned f2fs to improve general performance by serializing block allocation and enhancing discard flows like fstrim which avoids user IO contention. And we've added fsync_mode=nobarrier which gives an option to user where it skips issuing cache_flush commands to underlying flash storage. And there are many bug fixes related to fuzzed images, revoked atomic writes, quota ops, and minor direct IO. Enhancements: - add fsync_mode=nobarrier which bypasses cache_flush command - enhance the discarding flow which avoids user IOs and issues in LBA order - readahead some encrypted blocks during GC - enable in-memory inode checksum to verify the blocks if F2FS_CHECK_FS is set - enhance nat_bits behavior - set -o discard by default - set REQ_RAHEAD to bio in ->readpages Bug fixes: - fix a corner case to corrupt atomic_writes revoking flow - revisit i_gc_rwsem to fix race conditions - fix some dio behaviors captured by xfstests - correct handling errors given by quota-related failures - add many sanity check flows to avoid fuzz test failures - add more error number propagation to their callers - fix several corner cases to continue fault injection w/ shutdown loop" * tag 'f2fs-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (89 commits) f2fs: readahead encrypted block during GC f2fs: avoid fi->i_gc_rwsem[WRITE] lock in f2fs_gc f2fs: fix performance issue observed with multi-thread sequential read f2fs: fix to skip verifying block address for non-regular inode f2fs: rework fault injection handling to avoid a warning f2fs: support fault_type mount option f2fs: fix to return success when trimming meta area f2fs: fix use-after-free of dicard command entry f2fs: support discard submission error injection f2fs: split discard command in prior to block layer f2fs: wake up gc thread immediately when gc_urgent is set f2fs: fix incorrect range->len in f2fs_trim_fs() f2fs: refresh recent accessed nat entry in lru list f2fs: fix avoid race between truncate and background GC f2fs: avoid race between zero_range and background GC f2fs: fix to do sanity check with block address in main area v2 f2fs: fix to do sanity check with inline flags f2fs: fix to reset i_gc_failures correctly f2fs: fix invalid memory access f2fs: fix to avoid broken of dnode block list ... |
||
---|---|---|
.. | ||
configfs-acpi | ||
configfs-iio | ||
configfs-rdma_cm | ||
configfs-spear-pcie-gadget | ||
configfs-stp-policy | ||
configfs-usb-gadget | ||
configfs-usb-gadget-acm | ||
configfs-usb-gadget-ecm | ||
configfs-usb-gadget-eem | ||
configfs-usb-gadget-ffs | ||
configfs-usb-gadget-hid | ||
configfs-usb-gadget-loopback | ||
configfs-usb-gadget-mass-storage | ||
configfs-usb-gadget-midi | ||
configfs-usb-gadget-ncm | ||
configfs-usb-gadget-obex | ||
configfs-usb-gadget-phonet | ||
configfs-usb-gadget-printer | ||
configfs-usb-gadget-rndis | ||
configfs-usb-gadget-serial | ||
configfs-usb-gadget-sourcesink | ||
configfs-usb-gadget-subset | ||
configfs-usb-gadget-tcm | ||
configfs-usb-gadget-uac1 | ||
configfs-usb-gadget-uac1_legacy | ||
configfs-usb-gadget-uac2 | ||
configfs-usb-gadget-uvc | ||
debugfs-cec-error-inj | ||
debugfs-driver-genwqe | ||
debugfs-ec | ||
debugfs-ideapad | ||
debugfs-olpc | ||
debugfs-pfo-nx-crypto | ||
debugfs-pktcdvd | ||
dell-smbios-wmi | ||
dev-kmsg | ||
devlink-resource-mlxsw | ||
evm | ||
gpio-cdev | ||
ima_policy | ||
ppc-memtrace | ||
procfs-diskstats | ||
procfs-smaps_rollup | ||
pstore | ||
rtc-cdev | ||
sysfs-ata | ||
sysfs-block | ||
sysfs-block-aoe | ||
sysfs-block-bcache | ||
sysfs-block-device | ||
sysfs-block-dm | ||
sysfs-block-loop | ||
sysfs-block-rssd | ||
sysfs-block-zram | ||
sysfs-bus-acpi | ||
sysfs-bus-amba | ||
sysfs-bus-bcma | ||
sysfs-bus-coresight-devices-etb10 | ||
sysfs-bus-coresight-devices-etm3x | ||
sysfs-bus-coresight-devices-etm4x | ||
sysfs-bus-coresight-devices-funnel | ||
sysfs-bus-coresight-devices-stm | ||
sysfs-bus-coresight-devices-tmc | ||
sysfs-bus-css | ||
sysfs-bus-event_source-devices-events | ||
sysfs-bus-event_source-devices-format | ||
sysfs-bus-event_source-devices-hv_24x7 | ||
sysfs-bus-event_source-devices-hv_gpci | ||
sysfs-bus-fcoe | ||
sysfs-bus-fsi | ||
sysfs-bus-fsl-mc | ||
sysfs-bus-hsi | ||
sysfs-bus-i2c-devices-bq32k | ||
sysfs-bus-i2c-devices-fsa9480 | ||
sysfs-bus-i2c-devices-hm6352 | ||
sysfs-bus-i2c-devices-lm3533 | ||
sysfs-bus-iio | ||
sysfs-bus-iio-accel-bmc150 | ||
sysfs-bus-iio-adc-envelope-detector | ||
sysfs-bus-iio-adc-hi8435 | ||
sysfs-bus-iio-adc-max9611 | ||
sysfs-bus-iio-adc-stm32 | ||
sysfs-bus-iio-chemical-vz89x | ||
sysfs-bus-iio-counter-104-quad-8 | ||
sysfs-bus-iio-cros-ec | ||
sysfs-bus-iio-dac-dpot-dac | ||
sysfs-bus-iio-dfsdm-adc-stm32 | ||
sysfs-bus-iio-distance-srf08 | ||
sysfs-bus-iio-frequency-ad9523 | ||
sysfs-bus-iio-frequency-adf4350 | ||
sysfs-bus-iio-gyro-bmg160 | ||
sysfs-bus-iio-health-afe440x | ||
sysfs-bus-iio-humidity-hdc100x | ||
sysfs-bus-iio-ina2xx-adc | ||
sysfs-bus-iio-isl29501 | ||
sysfs-bus-iio-light-isl29018 | ||
sysfs-bus-iio-light-lm3533-als | ||
sysfs-bus-iio-light-si1133 | ||
sysfs-bus-iio-light-tsl2583 | ||
sysfs-bus-iio-lptimer-stm32 | ||
sysfs-bus-iio-magnetometer-hmc5843 | ||
sysfs-bus-iio-meas-spec | ||
sysfs-bus-iio-mpu6050 | ||
sysfs-bus-iio-potentiometer-mcp4531 | ||
sysfs-bus-iio-proximity-as3935 | ||
sysfs-bus-iio-timer-stm32 | ||
sysfs-bus-iio-trigger-sysfs | ||
sysfs-bus-iio-vf610 | ||
sysfs-bus-intel_th-devices-gth | ||
sysfs-bus-intel_th-devices-msc | ||
sysfs-bus-intel_th-devices-pti | ||
sysfs-bus-intel_th-output-devices | ||
sysfs-bus-mcb | ||
sysfs-bus-mdio | ||
sysfs-bus-media | ||
sysfs-bus-mei | ||
sysfs-bus-mmc | ||
sysfs-bus-nfit | ||
sysfs-bus-pci | ||
sysfs-bus-pci-devices-aer_stats | ||
sysfs-bus-pci-devices-cciss | ||
sysfs-bus-pci-drivers-ehci_hcd | ||
sysfs-bus-pci-drivers-janz-cmodio | ||
sysfs-bus-pci-drivers-xhci_hcd | ||
sysfs-bus-platform | ||
sysfs-bus-rapidio | ||
sysfs-bus-rbd | ||
sysfs-bus-rpmsg | ||
sysfs-bus-siox | ||
sysfs-bus-thunderbolt | ||
sysfs-bus-typec | ||
sysfs-bus-umc | ||
sysfs-bus-usb | ||
sysfs-bus-usb-devices-usbsevseg | ||
sysfs-bus-usb-lvstest | ||
sysfs-bus-vfio-mdev | ||
sysfs-c2port | ||
sysfs-cfq-target-latency | ||
sysfs-class | ||
sysfs-class-backlight-adp5520 | ||
sysfs-class-backlight-adp8860 | ||
sysfs-class-backlight-driver-adp8870 | ||
sysfs-class-backlight-driver-lm3533 | ||
sysfs-class-backlight-lm3639 | ||
sysfs-class-bdi | ||
sysfs-class-bsr | ||
sysfs-class-cxl | ||
sysfs-class-devfreq | ||
sysfs-class-devfreq-event | ||
sysfs-class-extcon | ||
sysfs-class-fpga-bridge | ||
sysfs-class-fpga-manager | ||
sysfs-class-fpga-region | ||
sysfs-class-gnss | ||
sysfs-class-iommu | ||
sysfs-class-iommu-amd-iommu | ||
sysfs-class-iommu-intel-iommu | ||
sysfs-class-lcd | ||
sysfs-class-lcd-s6e63m0 | ||
sysfs-class-led | ||
sysfs-class-led-driver-lm3533 | ||
sysfs-class-led-flash | ||
sysfs-class-led-trigger-netdev | ||
sysfs-class-led-trigger-oneshot | ||
sysfs-class-led-trigger-usbport | ||
sysfs-class-leds-gt683r | ||
sysfs-class-mei | ||
sysfs-class-mic.txt | ||
sysfs-class-mtd | ||
sysfs-class-mux | ||
sysfs-class-net | ||
sysfs-class-net-batman-adv | ||
sysfs-class-net-cdc_ncm | ||
sysfs-class-net-grcan | ||
sysfs-class-net-janz-ican3 | ||
sysfs-class-net-mesh | ||
sysfs-class-net-phydev | ||
sysfs-class-net-qmi | ||
sysfs-class-net-queues | ||
sysfs-class-net-statistics | ||
sysfs-class-ocxl | ||
sysfs-class-pktcdvd | ||
sysfs-class-power | ||
sysfs-class-power-twl4030 | ||
sysfs-class-powercap | ||
sysfs-class-pwm | ||
sysfs-class-rapidio | ||
sysfs-class-rc | ||
sysfs-class-rc-nuvoton | ||
sysfs-class-regulator | ||
sysfs-class-remoteproc | ||
sysfs-class-rtc | ||
sysfs-class-rtc-rtc0-device-rtc_calibration | ||
sysfs-class-scsi_host | ||
sysfs-class-scsi_tape | ||
sysfs-class-stm | ||
sysfs-class-stm_source | ||
sysfs-class-switchtec | ||
sysfs-class-typec | ||
sysfs-class-usb_role | ||
sysfs-class-uwb_rc | ||
sysfs-class-uwb_rc-wusbhc | ||
sysfs-class-watchdog | ||
sysfs-class-zram | ||
sysfs-dev | ||
sysfs-devices | ||
sysfs-devices-coredump | ||
sysfs-devices-edac | ||
sysfs-devices-firmware_node | ||
sysfs-devices-lpss_ltr | ||
sysfs-devices-memory | ||
sysfs-devices-mmc | ||
sysfs-devices-online | ||
sysfs-devices-platform-_UDC_-gadget | ||
sysfs-devices-platform-ACPI-TAD | ||
sysfs-devices-platform-docg3 | ||
sysfs-devices-platform-dock | ||
sysfs-devices-platform-ipmi | ||
sysfs-devices-platform-sh_mobile_lcdc_fb | ||
sysfs-devices-platform-trackpoint | ||
sysfs-devices-power | ||
sysfs-devices-power_resources_D0 | ||
sysfs-devices-power_resources_D1 | ||
sysfs-devices-power_resources_D2 | ||
sysfs-devices-power_resources_D3hot | ||
sysfs-devices-power_resources_wakeup | ||
sysfs-devices-power_state | ||
sysfs-devices-real_power_state | ||
sysfs-devices-resource_in_use | ||
sysfs-devices-soc | ||
sysfs-devices-sun | ||
sysfs-devices-system-cpu | ||
sysfs-devices-system-ibm-rtl | ||
sysfs-devices-system-xen_cpu | ||
sysfs-driver-altera-cvp | ||
sysfs-driver-bd9571mwv-regulator | ||
sysfs-driver-fsi-master-gpio | ||
sysfs-driver-genwqe | ||
sysfs-driver-hid | ||
sysfs-driver-hid-corsair | ||
sysfs-driver-hid-lenovo | ||
sysfs-driver-hid-logitech-hidpp | ||
sysfs-driver-hid-logitech-lg4ff | ||
sysfs-driver-hid-multitouch | ||
sysfs-driver-hid-ntrig | ||
sysfs-driver-hid-picolcd | ||
sysfs-driver-hid-prodikeys | ||
sysfs-driver-hid-roccat-kone | ||
sysfs-driver-hid-srws1 | ||
sysfs-driver-hid-wiimote | ||
sysfs-driver-input-axp-pek | ||
sysfs-driver-intel-rapid-start | ||
sysfs-driver-pciback | ||
sysfs-driver-ppi | ||
sysfs-driver-samsung-laptop | ||
sysfs-driver-st | ||
sysfs-driver-tegra-fuse | ||
sysfs-driver-toshiba_acpi | ||
sysfs-driver-toshiba_haps | ||
sysfs-driver-typec-displayport | ||
sysfs-driver-ufs | ||
sysfs-driver-w1_ds28e17 | ||
sysfs-driver-wacom | ||
sysfs-driver-xen-blkback | ||
sysfs-driver-xen-blkfront | ||
sysfs-firmware-acpi | ||
sysfs-firmware-dmi-entries | ||
sysfs-firmware-dmi-tables | ||
sysfs-firmware-efi | ||
sysfs-firmware-efi-esrt | ||
sysfs-firmware-efi-runtime-map | ||
sysfs-firmware-gsmi | ||
sysfs-firmware-log | ||
sysfs-firmware-memmap | ||
sysfs-firmware-ofw | ||
sysfs-firmware-opal-powercap | ||
sysfs-firmware-opal-psr | ||
sysfs-firmware-qemu_fw_cfg | ||
sysfs-firmware-sfi | ||
sysfs-firmware-sgi_uv | ||
sysfs-fs-ext4 | ||
sysfs-fs-f2fs | ||
sysfs-fs-nilfs2 | ||
sysfs-fs-xfs | ||
sysfs-hypervisor-xen | ||
sysfs-ibft | ||
sysfs-kernel-boot_params | ||
sysfs-kernel-fscaps | ||
sysfs-kernel-iommu_groups | ||
sysfs-kernel-irq | ||
sysfs-kernel-livepatch | ||
sysfs-kernel-mm | ||
sysfs-kernel-mm-hugepages | ||
sysfs-kernel-mm-ksm | ||
sysfs-kernel-mm-swap | ||
sysfs-kernel-slab | ||
sysfs-kernel-uids | ||
sysfs-kernel-vmcoreinfo | ||
sysfs-memory-page-offline | ||
sysfs-module | ||
sysfs-ocfs2 | ||
sysfs-platform-asus-laptop | ||
sysfs-platform-asus-wmi | ||
sysfs-platform-at91 | ||
sysfs-platform-brcmstb-gisb-arb | ||
sysfs-platform-chipidea-usb-otg | ||
sysfs-platform-chipidea-usb2 | ||
sysfs-platform-dell-laptop | ||
sysfs-platform-dell-smbios | ||
sysfs-platform-dfl-fme | ||
sysfs-platform-dfl-port | ||
sysfs-platform-dptf | ||
sysfs-platform-eeepc-laptop | ||
sysfs-platform-hidma | ||
sysfs-platform-hidma-mgmt | ||
sysfs-platform-i2c-demux-pinctrl | ||
sysfs-platform-ideapad-laptop | ||
sysfs-platform-intel-wmi-thunderbolt | ||
sysfs-platform-kim | ||
sysfs-platform-msi-laptop | ||
sysfs-platform-phy-rcar-gen3-usb2 | ||
sysfs-platform-renesas_usb3 | ||
sysfs-platform-sst-atom | ||
sysfs-platform-tahvo-usb | ||
sysfs-platform-ts5500 | ||
sysfs-platform-twl4030-usb | ||
sysfs-platform-usbip-vudc | ||
sysfs-power | ||
sysfs-pps | ||
sysfs-profiling | ||
sysfs-ptp | ||
sysfs-tty | ||
sysfs-uevent | ||
sysfs-wusb_cbaf |