diff options
author | Nate <nate.diler@gmail.com> | 2007-07-16 15:45:13 +0000 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2007-07-16 15:45:13 +0000 |
commit | 8803863a9051582081fb2bcca3a6dc8fddaed93c (patch) | |
tree | d3d8162fd0a77c6e3891edbfc89f365b428b03f9 /fs/cifs | |
parent | 4a379e6657ae2dd910f9f06d46bd7c05fbe9ed5c (diff) | |
download | lwn-8803863a9051582081fb2bcca3a6dc8fddaed93c.tar.gz lwn-8803863a9051582081fb2bcca3a6dc8fddaed93c.zip |
[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: Nate Diller <nate.diller@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs')
-rw-r--r-- | fs/cifs/file.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/fs/cifs/file.c b/fs/cifs/file.c index b67f1da020be..0620feaaea66 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c @@ -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 */ |