Loading fs/exofs/inode.c +22 −3 Original line number Diff line number Diff line Loading @@ -350,8 +350,10 @@ static int readpage_strip(void *data, struct page *page) if (!pcol->read_4_write) unlock_page(page); EXOFS_DBGMSG("readpage_strip(0x%lx, 0x%lx) empty page," " splitting\n", inode->i_ino, page->index); EXOFS_DBGMSG("readpage_strip(0x%lx) empty page len=%zx " "read_4_write=%d index=0x%lx end_index=0x%lx " "splitting\n", inode->i_ino, len, pcol->read_4_write, page->index, end_index); return read_exec(pcol); } Loading Loading @@ -722,11 +724,28 @@ int exofs_write_begin(struct file *file, struct address_space *mapping, /* read modify write */ if (!PageUptodate(page) && (len != PAGE_CACHE_SIZE)) { loff_t i_size = i_size_read(mapping->host); pgoff_t end_index = i_size >> PAGE_CACHE_SHIFT; size_t rlen; if (page->index < end_index) rlen = PAGE_CACHE_SIZE; else if (page->index == end_index) rlen = i_size & ~PAGE_CACHE_MASK; else rlen = 0; if (!rlen) { clear_highpage(page); SetPageUptodate(page); goto out; } ret = _readpage(page, true); if (ret) { /*SetPageError was done by _readpage. Is it ok?*/ unlock_page(page); EXOFS_DBGMSG("__readpage_filler failed\n"); EXOFS_DBGMSG("__readpage failed\n"); } } out: Loading Loading
fs/exofs/inode.c +22 −3 Original line number Diff line number Diff line Loading @@ -350,8 +350,10 @@ static int readpage_strip(void *data, struct page *page) if (!pcol->read_4_write) unlock_page(page); EXOFS_DBGMSG("readpage_strip(0x%lx, 0x%lx) empty page," " splitting\n", inode->i_ino, page->index); EXOFS_DBGMSG("readpage_strip(0x%lx) empty page len=%zx " "read_4_write=%d index=0x%lx end_index=0x%lx " "splitting\n", inode->i_ino, len, pcol->read_4_write, page->index, end_index); return read_exec(pcol); } Loading Loading @@ -722,11 +724,28 @@ int exofs_write_begin(struct file *file, struct address_space *mapping, /* read modify write */ if (!PageUptodate(page) && (len != PAGE_CACHE_SIZE)) { loff_t i_size = i_size_read(mapping->host); pgoff_t end_index = i_size >> PAGE_CACHE_SHIFT; size_t rlen; if (page->index < end_index) rlen = PAGE_CACHE_SIZE; else if (page->index == end_index) rlen = i_size & ~PAGE_CACHE_MASK; else rlen = 0; if (!rlen) { clear_highpage(page); SetPageUptodate(page); goto out; } ret = _readpage(page, true); if (ret) { /*SetPageError was done by _readpage. Is it ok?*/ unlock_page(page); EXOFS_DBGMSG("__readpage_filler failed\n"); EXOFS_DBGMSG("__readpage failed\n"); } } out: Loading