diff options
author | Steve French <sfrench@hera.kernel.org> | 2005-06-09 17:44:07 -0400 |
---|---|---|
committer | Steve French <sfrench@hera.kernel.org> | 2005-06-09 17:44:07 -0400 |
commit | 3079ca621e9e09f4593c20a9a2f24237c355f683 (patch) | |
tree | 0eb2e22cb0fa382cde357f9e6125043d1cdd3758 /fs/cifs | |
parent | 0b68177ccd12866d9f19cafad212b861c9d02a8c (diff) |
[CIFS] Fix cifs update of page cache. Write at correct offset when out of memory
and add_to_page_cache fails.
Thanks to Shaggy for pointing out the fix.
Signed-off-by: Steve French (sfrench@us.ibm.com)
Signed-off-by: Shaggy (shaggy@us.ibm.com)
Diffstat (limited to 'fs/cifs')
-rw-r--r-- | fs/cifs/CHANGES | 3 | ||||
-rw-r--r-- | fs/cifs/file.c | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/fs/cifs/CHANGES b/fs/cifs/CHANGES index 95483baab706..dab4774ee7bb 100644 --- a/fs/cifs/CHANGES +++ b/fs/cifs/CHANGES | |||
@@ -6,7 +6,8 @@ kills the cifsd thread (NB: killing the cifs kernel threads is not | |||
6 | recommended, unmount and rmmod cifs will kill them when they are | 6 | recommended, unmount and rmmod cifs will kill them when they are |
7 | no longer needed). Fix readdir to ASCII servers (ie older servers | 7 | no longer needed). Fix readdir to ASCII servers (ie older servers |
8 | which do not support Unicode) and also require asterik. | 8 | which do not support Unicode) and also require asterik. |
9 | 9 | Fix out of memory case in which data could be written one page | |
10 | off in the page cache. | ||
10 | 11 | ||
11 | Version 1.33 | 12 | Version 1.33 |
12 | ------------ | 13 | ------------ |
diff --git a/fs/cifs/file.c b/fs/cifs/file.c index dde2d251fc3d..30ab70ce5547 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c | |||
@@ -1352,6 +1352,8 @@ static void cifs_copy_cache_pages(struct address_space *mapping, | |||
1352 | GFP_KERNEL)) { | 1352 | GFP_KERNEL)) { |
1353 | page_cache_release(page); | 1353 | page_cache_release(page); |
1354 | cFYI(1, ("Add page cache failed")); | 1354 | cFYI(1, ("Add page cache failed")); |
1355 | data += PAGE_CACHE_SIZE; | ||
1356 | bytes_read -= PAGE_CACHE_SIZE; | ||
1355 | continue; | 1357 | continue; |
1356 | } | 1358 | } |
1357 | 1359 | ||