Skip to content

Commit

Permalink
[CIFS] use simple_prepare_write to zero page data
Browse files Browse the repository at this point in the history
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: Nate Diller <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Steve French <[email protected]>
  • Loading branch information
Nate authored and Steve French committed Jul 16, 2007
1 parent 4a379e6 commit 8803863
Showing 1 changed file with 1 addition and 8 deletions.
9 changes: 1 addition & 8 deletions fs/cifs/file.c
Original file line number Diff line number Diff line change
Expand Up @@ -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.
* zero it, and set the page uptodate
*/
void *kaddr = kmap_atomic(page, KM_USER0);

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);
simple_prepare_write(file, page, from, to);
SetPageUptodate(page);
} else if ((file->f_flags & O_ACCMODE) != O_WRONLY) {
/* might as well read a page, it is fast enough */
Expand Down

0 comments on commit 8803863

Please sign in to comment.