mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
ecryptfs: use filemap_dirty_folio for address space operations
ecryptfs does not use buffer_heads. The legacy block_dirty_folio and block_invalidate_folio mapping operations were only added as a temporary compatibility fallback under CONFIG_BLOCK. Since ecryptfs does not attach private metadata (such as buffer_heads) to its folios, block_dirty_folio is unnecessary. Modernize ecryptfs to use filemap_dirty_folio for its dirty_folio address space operation. This allows removing the block_dirty_folio and block_invalidate_folio fallbacks, removing the buffer_head header include, and removing the CONFIG_BLOCK dependency inside ecryptfs_aops. Signed-off-by: Aditya Prakash Srivastava <aditya.ansh182@gmail.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Tyler Hicks <code@tyhicks.com>
This commit is contained in:
committed by
Tyler Hicks
parent
8fafd7c86f
commit
21a6287ae2
+1
-14
@@ -503,21 +503,8 @@ static sector_t ecryptfs_bmap(struct address_space *mapping, sector_t block)
|
||||
return block;
|
||||
}
|
||||
|
||||
#include <linux/buffer_head.h>
|
||||
|
||||
const struct address_space_operations ecryptfs_aops = {
|
||||
/*
|
||||
* XXX: This is pretty broken for multiple reasons: ecryptfs does not
|
||||
* actually use buffer_heads, and ecryptfs will crash without
|
||||
* CONFIG_BLOCK. But it matches the behavior before the default for
|
||||
* address_space_operations without the ->dirty_folio method was
|
||||
* cleaned up, so this is the best we can do without maintainer
|
||||
* feedback.
|
||||
*/
|
||||
#ifdef CONFIG_BLOCK
|
||||
.dirty_folio = block_dirty_folio,
|
||||
.invalidate_folio = block_invalidate_folio,
|
||||
#endif
|
||||
.dirty_folio = filemap_dirty_folio,
|
||||
.writepages = ecryptfs_writepages,
|
||||
.read_folio = ecryptfs_read_folio,
|
||||
.write_begin = ecryptfs_write_begin,
|
||||
|
||||
Reference in New Issue
Block a user