mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 03:24:45 +01:00
ecryptfs: Convert ecryptfs_write_lower_page_segment() to take a folio
Both callers now have a folio, so pass it in and use it throughout. Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Link: https://lore.kernel.org/r/20241025190822.1319162-7-willy@infradead.org Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
parent
4d3727fd06
commit
de5ced2721
3 changed files with 10 additions and 11 deletions
|
|
@ -653,7 +653,7 @@ int ecryptfs_keyring_auth_tok_for_sig(struct key **auth_tok_key,
|
|||
int ecryptfs_write_lower(struct inode *ecryptfs_inode, char *data,
|
||||
loff_t offset, size_t size);
|
||||
int ecryptfs_write_lower_page_segment(struct inode *ecryptfs_inode,
|
||||
struct page *page_for_lower,
|
||||
struct folio *folio_for_lower,
|
||||
size_t offset_in_page, size_t size);
|
||||
int ecryptfs_write(struct inode *inode, char *data, loff_t offset, size_t size);
|
||||
int ecryptfs_read_lower(char *data, loff_t offset, size_t size,
|
||||
|
|
|
|||
|
|
@ -454,7 +454,7 @@ static int ecryptfs_write_end(struct file *file,
|
|||
"(page w/ index = [0x%.16lx], to = [%d])\n", index, to);
|
||||
if (!(crypt_stat->flags & ECRYPTFS_ENCRYPTED)) {
|
||||
rc = ecryptfs_write_lower_page_segment(ecryptfs_inode,
|
||||
&folio->page, 0, to);
|
||||
folio, 0, to);
|
||||
if (!rc) {
|
||||
rc = copied;
|
||||
fsstack_copy_inode_size(ecryptfs_inode,
|
||||
|
|
|
|||
|
|
@ -41,30 +41,29 @@ int ecryptfs_write_lower(struct inode *ecryptfs_inode, char *data,
|
|||
/**
|
||||
* ecryptfs_write_lower_page_segment
|
||||
* @ecryptfs_inode: The eCryptfs inode
|
||||
* @page_for_lower: The page containing the data to be written to the
|
||||
* @folio_for_lower: The folio containing the data to be written to the
|
||||
* lower file
|
||||
* @offset_in_page: The offset in the @page_for_lower from which to
|
||||
* @offset_in_page: The offset in the @folio_for_lower from which to
|
||||
* start writing the data
|
||||
* @size: The amount of data from @page_for_lower to write to the
|
||||
* @size: The amount of data from @folio_for_lower to write to the
|
||||
* lower file
|
||||
*
|
||||
* Determines the byte offset in the file for the given page and
|
||||
* offset within the page, maps the page, and makes the call to write
|
||||
* the contents of @page_for_lower to the lower inode.
|
||||
* the contents of @folio_for_lower to the lower inode.
|
||||
*
|
||||
* Returns zero on success; non-zero otherwise
|
||||
*/
|
||||
int ecryptfs_write_lower_page_segment(struct inode *ecryptfs_inode,
|
||||
struct page *page_for_lower,
|
||||
struct folio *folio_for_lower,
|
||||
size_t offset_in_page, size_t size)
|
||||
{
|
||||
char *virt;
|
||||
loff_t offset;
|
||||
int rc;
|
||||
|
||||
offset = ((((loff_t)page_for_lower->index) << PAGE_SHIFT)
|
||||
+ offset_in_page);
|
||||
virt = kmap_local_page(page_for_lower);
|
||||
offset = (loff_t)folio_for_lower->index * PAGE_SIZE + offset_in_page;
|
||||
virt = kmap_local_folio(folio_for_lower, 0);
|
||||
rc = ecryptfs_write_lower(ecryptfs_inode, virt, offset, size);
|
||||
if (rc > 0)
|
||||
rc = 0;
|
||||
|
|
@ -172,7 +171,7 @@ int ecryptfs_write(struct inode *ecryptfs_inode, char *data, loff_t offset,
|
|||
rc = ecryptfs_encrypt_page(&ecryptfs_folio->page);
|
||||
else
|
||||
rc = ecryptfs_write_lower_page_segment(ecryptfs_inode,
|
||||
&ecryptfs_folio->page,
|
||||
ecryptfs_folio,
|
||||
start_offset_in_page,
|
||||
data_offset);
|
||||
folio_put(ecryptfs_folio);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue