[PATCH 0/7] ecryptfs: remove the remaining struct page usage

From: Tal Zussman

Date: Wed Oct 14 2026 - 21:38:33 EST


Convert the page cache side of the encryption path to folios, and use
plain kernel memory for the buffers that were only pages because of the
old interfaces: the ciphertext block, the header buffer from
ecryptfs_get_zeroed_pages(), and the scatterlists built by
virt_to_scatterlist(). Also make a shrinking truncate zero the tail of
the last folio in place, as other filesystems do, instead of copying
from the zero page through the write path. After this, fs/ecryptfs has
no struct page usage left.

Ran cleanly with fsx and fsstress on ecryptfs over ext4 in the default,
xattr, and passthrough mount options.

---
Tal Zussman (7):
ecryptfs: remove struct ecryptfs_page_crypt_context
ecryptfs: use a folio and a buffer in crypt_extent()
ecryptfs: use kzalloc() for the header buffer
ecryptfs: use sg_init_one() instead of virt_to_scatterlist()
ecryptfs: zero the tail of the last folio in place on truncate
ecryptfs: rename functions to refer to folios
ecryptfs: refer to folios in comments and printk strings

fs/ecryptfs/crypto.c | 145 ++++++++++++------------------------------
fs/ecryptfs/ecryptfs_kernel.h | 21 ++----
fs/ecryptfs/inode.c | 49 ++++++++++----
fs/ecryptfs/keystore.c | 114 ++++++++-------------------------
fs/ecryptfs/mmap.c | 60 +++++++++--------
fs/ecryptfs/read_write.c | 48 +++++++-------
6 files changed, 157 insertions(+), 280 deletions(-)
---
base-commit: 5b00bf0f3b7ad05eff79b84e3bacf3f98ac67dc6
change-id: 20261014-ecryptfs-folio-67e80ccec7f3

Best regards,
--
Tal Zussman <tz2294@xxxxxxxxxxxx>