Re: Concurrent `ls` takes out the thrash

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 7 Dec 2016, at 17:41, Trond Myklebust wrote:

On Dec 7, 2016, at 17:34, Benjamin Coddington <bcodding@xxxxxxxxxx> wrote:
static
@@ -921,7 +930,7 @@ static int nfs_readdir(struct file *file, struct dir_context *ctx)
	desc->ctx = ctx;
	desc->dir_cookie = &dir_ctx->dir_cookie;
	desc->decode = NFS_PROTO(inode)->decode_dirent;
-	desc->plus = nfs_use_readdirplus(inode, ctx) ? 1 : 0;
+	desc->plus = nfs_use_readdirplus(inode, ctx, dir_ctx) ? 1 : 0;

This fixes desc->plus at the beginning of the readdir() call. Perhaps we
should instead check the value of ctx->use_readdir_plus in the call to
nfs_readdir_xdr_filler(), and just resetting cts->use_readdir_plus at the
very end of nfs_readdir()?

I don't understand the functional difference. Is this just a preference?

There must be something else happening.. dcache is getting under pressure
pruned maybe, that causes a miss and then the process starts over?

Ben
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux