freebsd-nq/sys/ufs/ffs
Jason A. Harmening 4775b07ebd FFS: allow sendfile(2) to work with block sizes greater than the page size
Implement ffs_getpages_async(), which when possible calls the asynchronous
flavor of the generic pager's getpages function. When the underlying
block size is larger than the system page size, however, it will invoke
the (synchronous) buffer cache pager, followed by a call to the client
completion routine. This retains true asynchronous completion in the most
common (block size <= page size) case, which is important for the performance
of the new sendfile(2). The behavior in the larger block size case mirrors
the default implementation of VOP_GETPAGES_ASYNC, which most other
filesystems use anyway as they do not override the getpages_async method.

PR:		235708
Reported by:	pho
Reviewed by:	kib, glebius
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D19340
2019-02-26 04:56:10 +00:00
..
ffs_alloc.c After a crash, a file that extends into indirect blocks may end up 2019-02-25 21:58:19 +00:00
ffs_balloc.c Replace the TRIM consolodation framework originally added in -r337396 2018-08-18 22:21:59 +00:00
ffs_extern.h Continuing efforts to provide hardening of FFS. This change adds a 2018-12-11 22:14:37 +00:00
ffs_inode.c Continuing efforts to provide hardening of FFS. This change adds a 2018-12-11 22:14:37 +00:00
ffs_rawread.c Allocate pager bufs from UMA instead of 80-ish mutex protected linked list. 2019-01-15 01:02:16 +00:00
ffs_snapshot.c When loading an inode from disk, verify that its mode is valid. 2018-12-27 07:18:53 +00:00
ffs_softdep.c This bug was introduced with the change to use softdep_bp_to_mp() in 2019-01-28 21:36:45 +00:00
ffs_subr.c Ensure that the inode check-hash is not left zeroed out in the case where 2018-12-15 18:49:30 +00:00
ffs_suspend.c Avoid assertion in /dev/ufssuspend when the suspend ioctl is 2018-08-01 19:06:55 +00:00
ffs_tables.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ffs_vfsops.c Reorder ffs_verify_dinode_ckhash() so that it checks the inode check-hash 2018-12-15 18:35:46 +00:00
ffs_vnops.c FFS: allow sendfile(2) to work with block sizes greater than the page size 2019-02-26 04:56:10 +00:00
fs.h After a crash, a file that extends into indirect blocks may end up 2019-02-25 21:58:19 +00:00
softdep.h Replace the TRIM consolodation framework originally added in -r337396 2018-08-18 22:21:59 +00:00