mirror of
https://github.com/torvalds/linux.git
synced 2026-09-14 16:10:02 +02:00
In this round, key enhancements focus on reducing inode management memory
overhead, introducing resizable tail sections with unified pinned allocation,
and boosting I/O throughput via parallel multi-device flushes and asynchronous
f2fs_write_end_io() execution. We also add dynamic device alias reservations to
allow on-the-fly space donation from user partitions.
Alongside these features, critical bug fixes resolve folio race conditions,
lingering dirty flags, dentry and block counter leaks, and potential deadloops
in f2fs_fsync_node_pages(). Additional stability patches address error-path
handling across symlink, sync, and rename/unlink operations, prevent pinned file
fragmentation, and correct segment migration and free section accounting in
free_segment_range.
Enhancement:
- reduce memory footprint of ino management
- support dynamic reserve/release for device aliasing
- issue multi-device flushes in parallel
- add a way to run f2fs_write_end_io() asynchronously
- support resizable tail section and unify pinned allocation
Bug fix:
- fix to pass folio->index to f2fs_sanity_check_node_footer()
- fix folio_nr_pages() race after put in large folio invalidate
- fix to clear dirty flag on folio in error path
- accurately adjust free_sections during free_segment_range
- fix to avoid potential deadloop in f2fs_fsync_node_pages()
- fix the error path in symlink, device alias in rename/unlink,
f2fs_sync_fs,
- fix to migrate all curseg types during free_segment_range
- fix to avoid pinfile fragment on fragment:{block, segment} mode
- fix valid block count leak on data block allocation failure
- fix dentry folio leak in find_in_level
- reject overlapping move range after len expansion
- fix some bugs related to file pinning, GC functions, i_size.
And, the series includes a number of minor bug fixes.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEE00UqedjCtOrGVvQiQBSofoJIUNIFAmqPybMACgkQQBSofoJI
UNKp2g/+OP6XZi56hNTqscnKyKrDdVJnOcS/YOe7d1BR+070qmPTpyFjLgjng05K
exu55rz9vJ3DlpFLsjMEo60DRlDEc5rR4AqymMjqFJH9424ZlxPpdDn6ofCVT0Ck
D6RTf3y1HFSi4x7//gPQofR9y4MlDrH2Q7NPDriipqbymuNXEjrx/vdr2nq/kHUu
2lbf7QQs08qYiyDxQcxOFdCdxUTrsEW/tkYZiwgbU2nCJ/eG2R59amgtYJg3SlVt
xdrf+IaSS7kE5+mGCoBm0WooPpB507kHaoQpZYDj2uueFvEw7nFcSfOCXapOvg8U
wFkRR0F/rZ4+AW/u4n8Ye7N4a7WjWMTBwfR3WJ2j+arhfn87vJZK6LQQlYwq16l4
tRcQFcCrKsXHh5HY2OGj8DzTd40zryXujH566YioBCAXU312My1yFjeTJzjobbUW
TclkfMl689iTr9pqBhIjKT2tTvZFLROYSLk5UBNFNSfA4PtsAAhqlUrE1ck3AuTA
8kIjLmppfZEBqVuZCF0T1z9TXk0Bg0eM8qHbl/8SdDavmf1pF1BupLqchfdZp6Jr
4iV1weK4dzmCF6++YDsNlvnBGyTbhiFdN7C5cMlv89PTSTUQZ45Me6JmNwrRDqyU
MSTyiSSpI+3rAMO0h58PHi+QAOtM0f+S7C24ySkBBerBCbMTK6A=
=xQ77
-----END PGP SIGNATURE-----
Merge tag 'f2fs-for-7.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs
Pull f2fs updates from Jaegeuk Kim:
"In this round, key enhancements focus on reducing inode management
memory overhead, introducing resizable tail sections with unified
pinned allocation, and boosting I/O throughput via parallel
multi-device flushes and asynchronous f2fs_write_end_io() execution.
We also add dynamic device alias reservations to allow on-the-fly
space donation from user partitions.
Alongside these features, critical bug fixes resolve folio race
conditions, lingering dirty flags, dentry and block counter leaks, and
potential deadloops in f2fs_fsync_node_pages(). Additional stability
patches address error-path handling across symlink, sync, and
rename/unlink operations, prevent pinned file fragmentation, and
correct segment migration and free section accounting in
free_segment_range.
Enhancements:
- reduce memory footprint of ino management
- support dynamic reserve/release for device aliasing
- issue multi-device flushes in parallel
- add a way to run f2fs_write_end_io() asynchronously
- support resizable tail section and unify pinned allocation
Bug fixes:
- fix to pass folio->index to f2fs_sanity_check_node_footer()
- fix folio_nr_pages() race after put in large folio invalidate
- fix to clear dirty flag on folio in error path
- accurately adjust free_sections during free_segment_range
- fix to avoid potential deadloop in f2fs_fsync_node_pages()
- fix the error path in symlink, device alias in rename/unlink,
f2fs_sync_fs
- fix to migrate all curseg types during free_segment_range
- fix to avoid pinfile fragment on fragment:{block, segment} mode
- fix valid block count leak on data block allocation failure
- fix dentry folio leak in find_in_level
- reject overlapping move range after len expansion
- fix some bugs related to file pinning, GC functions, i_size
And, the series includes a number of minor bug fixes"
* tag 'f2fs-for-7.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (51 commits)
f2fs: support resizable tail section and unify pinned allocation
f2fs: don't leave the hashed inode while it's unlinked
f2fs: accurately adjust free_sections during free_segment_range
f2fs: fix to avoid potential deadloop in f2fs_fsync_node_pages()
f2fs: use adjusted write range after f2fs_write_checks()
f2fs: fix to propagate error from f2fs_sync_fs()
f2fs: return symlink writeback errors
f2fs: fix error handling on device alias check in rename and unlink
f2fs: fix to reset all pinned status during fggc
f2fs: use f2fs_{down, up}_(read, write}_trace() for nat_tree_lock
f2fs: reduce memory footprint of ino management
f2fs: fix i_size when pinned fallocate partially fails
f2fs: fix to migrate all curseg types during free_segment_range
f2fs: avoid setting SBI_NEED_FSCK on transient resize failure
f2fs: fix to avoid pinfile fragment on fragment:{block, segment} mode
f2fs: cleanup w/ f2fs_need_rand_{blk, seg, seg_blk}
f2fs: fix to shrink gc_lock coverage in f2fs_gc_range()
f2fs: fix to reclaim space in f2fs_allocate_pinning_section()
f2fs: unify add/remove ino entry API for all ino types
f2fs: fix to zero post-EOF data when extending file size
...
|
||
|---|---|---|
| .. | ||
| 9p.h | ||
| afs.h | ||
| alarmtimer.h | ||
| amdxdna.h | ||
| asoc.h | ||
| avc.h | ||
| bcache.h | ||
| block.h | ||
| bpf_test_run.h | ||
| bridge.h | ||
| btrfs.h | ||
| cachefiles.h | ||
| capability.h | ||
| ceph.h | ||
| cgroup.h | ||
| clk.h | ||
| cma.h | ||
| compaction.h | ||
| context_tracking.h | ||
| coredump.h | ||
| cpuhp.h | ||
| csd.h | ||
| damon.h | ||
| devfreq.h | ||
| devlink.h | ||
| dlm.h | ||
| dma_buf.h | ||
| dma_fence.h | ||
| dma.h | ||
| erofs.h | ||
| error_report.h | ||
| exceptions.h | ||
| ext4.h | ||
| f2fs.h | ||
| fib.h | ||
| fib6.h | ||
| filelock.h | ||
| filemap.h | ||
| firewire_ohci.h | ||
| firewire.h | ||
| fs_dax.h | ||
| fscache.h | ||
| fsi_master_aspeed.h | ||
| fsi_master_ast_cf.h | ||
| fsi_master_gpio.h | ||
| fsi_master_i2cr.h | ||
| fsi.h | ||
| fsnotify.h | ||
| fsverity.h | ||
| gpio.h | ||
| gpu_mem.h | ||
| habanalabs.h | ||
| handshake.h | ||
| host1x.h | ||
| huge_memory.h | ||
| hugetlbfs.h | ||
| hw_pressure.h | ||
| hwmon.h | ||
| i2c_slave.h | ||
| i2c.h | ||
| ib_mad.h | ||
| ib_umad.h | ||
| icmp.h | ||
| initcall.h | ||
| intel_ifs.h | ||
| intel_ish.h | ||
| intel-sst.h | ||
| io_uring.h | ||
| iocost.h | ||
| iommu.h | ||
| ipi.h | ||
| irq_matrix.h | ||
| irq.h | ||
| iscsi.h | ||
| jbd2.h | ||
| kmem.h | ||
| ksm.h | ||
| kvm.h | ||
| kyber.h | ||
| landlock.h | ||
| libata.h | ||
| lock.h | ||
| maple_tree.h | ||
| mce.h | ||
| mctp.h | ||
| mdio.h | ||
| memcg.h | ||
| memory-failure.h | ||
| migrate.h | ||
| mlxsw.h | ||
| mmap_lock.h | ||
| mmap.h | ||
| mmc.h | ||
| mmflags.h | ||
| module.h | ||
| mptcp.h | ||
| napi.h | ||
| nbd.h | ||
| neigh.h | ||
| net_probe_common.h | ||
| net.h | ||
| netfs.h | ||
| netlink.h | ||
| nilfs2.h | ||
| nmi.h | ||
| notifier.h | ||
| objagg.h | ||
| oom.h | ||
| osnoise.h | ||
| page_isolation.h | ||
| page_pool.h | ||
| page_ref.h | ||
| pagemap.h | ||
| pci_controller.h | ||
| pci.h | ||
| percpu.h | ||
| power_cpu_migrate.h | ||
| power.h | ||
| preemptirq.h | ||
| printk.h | ||
| pwc.h | ||
| pwm.h | ||
| qcom_geni_i2c.h | ||
| qcom_geni_se.h | ||
| qcom_geni_serial.h | ||
| qcom_geni_spi.h | ||
| qdisc.h | ||
| qla.h | ||
| qrtr.h | ||
| rcu.h | ||
| rdma_core.h | ||
| readahead.h | ||
| regulator.h | ||
| rpcgss.h | ||
| rpcrdma.h | ||
| rpm.h | ||
| rseq.h | ||
| rtc.h | ||
| rust_sample.h | ||
| rwmmio.h | ||
| rxrpc.h | ||
| sched_ext.h | ||
| sched.h | ||
| scmi.h | ||
| scsi.h | ||
| sctp.h | ||
| signal.h | ||
| siox.h | ||
| skb.h | ||
| smbus.h | ||
| sock.h | ||
| sof_intel.h | ||
| sof.h | ||
| spi-mem.h | ||
| spi.h | ||
| spmi.h | ||
| sunrpc.h | ||
| sunvnet.h | ||
| swiotlb.h | ||
| syscalls.h | ||
| target.h | ||
| task.h | ||
| tcp.h | ||
| tegra_apb_dma.h | ||
| thp.h | ||
| timer_migration.h | ||
| timer.h | ||
| timestamp.h | ||
| tlb.h | ||
| tsm_mr.h | ||
| udp.h | ||
| v4l2.h | ||
| vb2.h | ||
| vmalloc.h | ||
| vmscan.h | ||
| vsock_virtio_transport_common.h | ||
| watchdog.h | ||
| wbt.h | ||
| workqueue.h | ||
| writeback.h | ||
| xdp.h | ||
| xen.h | ||