mirror of
https://github.com/torvalds/linux.git
synced 2026-05-26 16:12:59 +02:00
cifs: Remove cifs_truncate_page() as it should be superfluous
The calls to cifs_truncate_page() should be superfluous as the places that call it also call truncate_setsize() or cifs_setsize() and therefore truncate_pagecache() which should also clear the tail part of the folio containing the EOF marker. Further, smb3_simple_falloc() calls both cifs_setsize() and truncate_setsize() in addition to cifs_truncate_page(). Remove the superfluous calls. This gets rid of another function referring to struct page. [Should cifs_setsize() also set inode->i_blocks?] Signed-off-by: David Howells <dhowells@redhat.com> cc: Steve French <stfrench@microsoft.com> Reviewed-by: Paulo Alcantara (Red Hat) <pc@manguebit.com> cc: Matthew Wilcox <willy@infradead.org> cc: linux-cifs@vger.kernel.org cc: netfs@lists.linux.dev cc: linux-fsdevel@vger.kernel.org Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
parent
e97aec7889
commit
f83e10a233
|
|
@ -135,7 +135,6 @@ extern ssize_t cifs_file_copychunk_range(unsigned int xid,
|
|||
|
||||
extern long cifs_ioctl(struct file *filep, unsigned int cmd, unsigned long arg);
|
||||
extern void cifs_setsize(struct inode *inode, loff_t offset);
|
||||
extern int cifs_truncate_page(struct address_space *mapping, loff_t from);
|
||||
|
||||
struct smb3_fs_context;
|
||||
extern struct dentry *cifs_smb3_do_mount(struct file_system_type *fs_type,
|
||||
|
|
|
|||
|
|
@ -2901,23 +2901,6 @@ int cifs_fiemap(struct inode *inode, struct fiemap_extent_info *fei, u64 start,
|
|||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
int cifs_truncate_page(struct address_space *mapping, loff_t from)
|
||||
{
|
||||
pgoff_t index = from >> PAGE_SHIFT;
|
||||
unsigned offset = from & (PAGE_SIZE - 1);
|
||||
struct page *page;
|
||||
int rc = 0;
|
||||
|
||||
page = grab_cache_page(mapping, index);
|
||||
if (!page)
|
||||
return -ENOMEM;
|
||||
|
||||
zero_user_segment(page, offset, PAGE_SIZE);
|
||||
unlock_page(page);
|
||||
put_page(page);
|
||||
return rc;
|
||||
}
|
||||
|
||||
void cifs_setsize(struct inode *inode, loff_t offset)
|
||||
{
|
||||
struct cifsInodeInfo *cifs_i = CIFS_I(inode);
|
||||
|
|
@ -3012,8 +2995,6 @@ cifs_set_file_size(struct inode *inode, struct iattr *attrs,
|
|||
*/
|
||||
attrs->ia_ctime = attrs->ia_mtime = current_time(inode);
|
||||
attrs->ia_valid |= ATTR_CTIME | ATTR_MTIME;
|
||||
|
||||
cifs_truncate_page(inode->i_mapping, inode->i_size);
|
||||
}
|
||||
|
||||
return rc;
|
||||
|
|
|
|||
|
|
@ -3534,8 +3534,6 @@ static long smb3_simple_falloc(struct file *file, struct cifs_tcon *tcon,
|
|||
if (rc == 0) {
|
||||
netfs_resize_file(&cifsi->netfs, new_eof, true);
|
||||
cifs_setsize(inode, new_eof);
|
||||
cifs_truncate_page(inode->i_mapping, inode->i_size);
|
||||
truncate_setsize(inode, new_eof);
|
||||
}
|
||||
goto out;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user