mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-03 19:53:32 +00:00
namei: Call aops write_begin() and write_end() directly
pagecache_write_begin() and pagecache_write_end() are now trivial wrappers, so call the aops directly. Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
53b524b83d
commit
27a7791344
@ -5005,6 +5005,7 @@ EXPORT_SYMBOL(page_readlink);
|
||||
int page_symlink(struct inode *inode, const char *symname, int len)
|
||||
{
|
||||
struct address_space *mapping = inode->i_mapping;
|
||||
const struct address_space_operations *aops = mapping->a_ops;
|
||||
bool nofs = !mapping_gfp_constraint(mapping, __GFP_FS);
|
||||
struct page *page;
|
||||
void *fsdata;
|
||||
@ -5014,8 +5015,7 @@ int page_symlink(struct inode *inode, const char *symname, int len)
|
||||
retry:
|
||||
if (nofs)
|
||||
flags = memalloc_nofs_save();
|
||||
err = pagecache_write_begin(NULL, mapping, 0, len-1,
|
||||
0, &page, &fsdata);
|
||||
err = aops->write_begin(NULL, mapping, 0, len-1, &page, &fsdata);
|
||||
if (nofs)
|
||||
memalloc_nofs_restore(flags);
|
||||
if (err)
|
||||
@ -5023,7 +5023,7 @@ int page_symlink(struct inode *inode, const char *symname, int len)
|
||||
|
||||
memcpy(page_address(page), symname, len-1);
|
||||
|
||||
err = pagecache_write_end(NULL, mapping, 0, len-1, len-1,
|
||||
err = aops->write_end(NULL, mapping, 0, len-1, len-1,
|
||||
page, fsdata);
|
||||
if (err < 0)
|
||||
goto fail;
|
||||
|
Loading…
Reference in New Issue
Block a user