Commit 8803863a authored by Nate's avatar Nate Committed by Steve French

[CIFS] use simple_prepare_write to zero page data

It's common for file systems to need to zero data on either side of a
write, if a page is not Uptodate during prepare_write.  It just so happens
that simple_prepare_write() in libfs.c does exactly that, so we can avoid
duplication and just call that function to zero page data.
Signed-off-by: default avatarNate Diller <nate.diller@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
parent 4a379e66
...@@ -1966,14 +1966,7 @@ static int cifs_prepare_write(struct file *file, struct page *page, ...@@ -1966,14 +1966,7 @@ static int cifs_prepare_write(struct file *file, struct page *page,
* We don't need to read data beyond the end of the file. * We don't need to read data beyond the end of the file.
* zero it, and set the page uptodate * zero it, and set the page uptodate
*/ */
void *kaddr = kmap_atomic(page, KM_USER0); simple_prepare_write(file, page, from, to);
if (from)
memset(kaddr, 0, from);
if (to < PAGE_CACHE_SIZE)
memset(kaddr + to, 0, PAGE_CACHE_SIZE - to);
flush_dcache_page(page);
kunmap_atomic(kaddr, KM_USER0);
SetPageUptodate(page); SetPageUptodate(page);
} else if ((file->f_flags & O_ACCMODE) != O_WRONLY) { } else if ((file->f_flags & O_ACCMODE) != O_WRONLY) {
/* might as well read a page, it is fast enough */ /* might as well read a page, it is fast enough */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment