patch-1.3.92 linux/fs/nfs/bio.c
Next file: linux/fs/nfs/nfsroot.c
Previous file: linux/fs/minix/inode.c
Back to the patch index
Back to the overall index
- Lines: 31
- Date:
Fri Apr 19 18:04:56 1996
- Orig file:
v1.3.91/linux/fs/nfs/bio.c
- Orig date:
Fri Apr 12 15:52:04 1996
diff -u --recursive --new-file v1.3.91/linux/fs/nfs/bio.c linux/fs/nfs/bio.c
@@ -63,8 +63,12 @@
NFS_SERVER(inode)->hostname,
inode->i_dev, inode->i_ino,
pos, rsize, buf, result);
+ /*
+ * Even if we had a partial success we can't mark the page
+ * cache valid.
+ */
if (result < 0)
- break;
+ goto io_error;
refresh = 1;
count -= result;
pos += result;
@@ -74,11 +78,12 @@
} while (count);
memset(buf, 0, count);
- if (refresh) {
+ set_bit(PG_uptodate, &page->flags);
+ result = 0;
+
+io_error:
+ if (refresh)
nfs_refresh_inode(inode, &fattr);
- result = 0;
- set_bit(PG_uptodate, &page->flags);
- }
clear_bit(PG_locked, &page->flags);
wake_up(&page->wait);
return result;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov
with Sam's (original) version of this