Re: Q: NFSD readdir in linux-2.6.28

From: Al Viro
Date: Fri Apr 17 2009 - 19:38:24 EST


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...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/