mirror of
https://github.com/torvalds/linux.git
synced 2026-05-17 19:17:29 +02:00
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 | ||