|
@@ -439,25 +439,27 @@ static int hostfs_readpage(struct file *file, struct page *page)
|
|
|
{
|
|
|
char *buffer;
|
|
|
long long start;
|
|
|
- int err = 0;
|
|
|
+ int bytes_read, ret;
|
|
|
|
|
|
start = (long long) page->index << PAGE_CACHE_SHIFT;
|
|
|
buffer = kmap(page);
|
|
|
- err = read_file(FILE_HOSTFS_I(file)->fd, &start, buffer,
|
|
|
+ bytes_read = read_file(FILE_HOSTFS_I(file)->fd, &start, buffer,
|
|
|
PAGE_CACHE_SIZE);
|
|
|
- if (err < 0)
|
|
|
+ if (bytes_read < 0) {
|
|
|
+ ret = bytes_read;
|
|
|
goto out;
|
|
|
+ }
|
|
|
|
|
|
- memset(&buffer[err], 0, PAGE_CACHE_SIZE - err);
|
|
|
+ memset(buffer + bytes_read, 0, PAGE_CACHE_SIZE - bytes_read);
|
|
|
|
|
|
flush_dcache_page(page);
|
|
|
SetPageUptodate(page);
|
|
|
if (PageError(page)) ClearPageError(page);
|
|
|
- err = 0;
|
|
|
+ ret = 0;
|
|
|
out:
|
|
|
kunmap(page);
|
|
|
unlock_page(page);
|
|
|
- return err;
|
|
|
+ return ret;
|
|
|
}
|
|
|
|
|
|
static int hostfs_write_begin(struct file *file, struct address_space *mapping,
|