mirror of
https://github.com/torvalds/linux.git
synced 2026-06-05 13:06:59 +02:00
cifs: Fix FALLOC_FL_INSERT_RANGE by setting i_size after EOF moved
commit88010155f0upstream. Fix the cifs filesystem implementations of FALLOC_FL_INSERT_RANGE, in smb3_insert_range(), to set i_size after extending the file on the server and before we do the copy to open the gap (as we don't clean up the EOF marker if the copy fails). Fixes:7fe6fe95b9("cifs: add FALLOC_FL_INSERT_RANGE support") Cc: stable@vger.kernel.org Signed-off-by: David Howells <dhowells@redhat.com> Acked-by: Paulo Alcantara <pc@manguebit.com> cc: Shyam Prasad N <nspmangalore@gmail.com> cc: Rohith Surabattula <rohiths.msft@gmail.com> cc: Jeff Layton <jlayton@kernel.org> cc: linux-cifs@vger.kernel.org cc: linux-mm@kvack.org Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
9b7e8fa648
commit
514f89a359
|
|
@ -3739,6 +3739,9 @@ static long smb3_insert_range(struct file *file, struct cifs_tcon *tcon,
|
|||
if (rc < 0)
|
||||
goto out_2;
|
||||
|
||||
truncate_setsize(inode, old_eof + len);
|
||||
fscache_resize_cookie(cifs_inode_cookie(inode), i_size_read(inode));
|
||||
|
||||
rc = smb2_copychunk_range(xid, cfile, cfile, off, count, off + len);
|
||||
if (rc < 0)
|
||||
goto out_2;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user