diff options
author | Dave Kleikamp <shaggy@austin.ibm.com> | 2006-03-15 02:05:45 +0300 |
---|---|---|
committer | Dave Kleikamp <shaggy@austin.ibm.com> | 2006-03-15 02:05:45 +0300 |
commit | c5111f504d2a9b0d258d7c4752b4093523315989 (patch) | |
tree | 6a52864aff79691689aea21cb0cb928327d5de5b /fs/smbfs/dir.c | |
parent | 69eb66d7da7dba2696281981347698e1693c2340 (diff) | |
parent | a488edc914aa1d766a4e2c982b5ae03d5657ec1b (diff) | |
download | linux-c5111f504d2a9b0d258d7c4752b4093523315989.tar.xz |
Merge with /home/shaggy/git/linus-clean/
Diffstat (limited to 'fs/smbfs/dir.c')
-rw-r--r-- | fs/smbfs/dir.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/smbfs/dir.c b/fs/smbfs/dir.c index c6c33e15143a..0424d06b147e 100644 --- a/fs/smbfs/dir.c +++ b/fs/smbfs/dir.c @@ -209,6 +209,8 @@ init_cache: ctl.valid = 1; read_really: result = server->ops->readdir(filp, dirent, filldir, &ctl); + if (result == -ERESTARTSYS && page) + ClearPageUptodate(page); if (ctl.idx == -1) goto invalid_cache; /* retry */ ctl.head.end = ctl.fpos - 1; @@ -217,7 +219,8 @@ finished: if (page) { cache->head = ctl.head; kunmap(page); - SetPageUptodate(page); + if (result != -ERESTARTSYS) + SetPageUptodate(page); unlock_page(page); page_cache_release(page); } |