Messages in this thread | | | Date | Sat, 18 Apr 2009 00:37:55 +0100 | From | Al Viro <> | Subject | Re: Q: NFSD readdir in linux-2.6.28 |
| |
On Sat, Apr 18, 2009 at 12:23:32AM +0100, David Woodhouse wrote:
> Or, to phrase my last response slightly differently... because I don't > like either of these two versions very much...
Eh? Just have host_err = mutex_lock_killable(....); if (host_err) break; de = ... while (size > 0) { offset = de->offset; if (func(cdp, de->name, de->namlen, de->offset, de->ino, de->d_type)) break; if (cdp->err != nfs_ok) break; ... size -= reclen; de = ... } mutex_unlock(....); if (size > 0) /* we'd an error */ break; offset = vfs_llseek(....); } free_page(....); and to hell with all goto in there...
| |