Re: Why NFS enforce size limit on readdirplus



On Fri, 2006-06-02 at 01:54 -0400, Xin Zhao wrote:
Maybe this question is a little dumb.

I am wondering why in NFS readdirplus can be used only for directories
of size less than 8*PAGE_SIZE, otherwise, it will switch to use normal
readdir?

In nfs/inode.c, I noticed the following code:
if (nfs_server_capable(inode, NFS_CAP_READDIRPLUS) &&
fattr->size <= NFS_LIMIT_READDIRPLUS)
set_bit(NFS_INO_ADVISE_RDPLUS, &NFS_FLAGS(inode));

Can someone kindly explain the reason?

Efficiency: READDIRPLUS requires a lookup for each entry. If there are
too many entries, the whole thing gets really really slow...

Cheers,
Trond

-
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/