Re: [PATCH] ovl: whiteout of lower dir should't dispaly in merge dir.

From: Miklos Szeredi
Date: Mon Aug 08 2016 - 05:28:16 EST


On Mon, Aug 8, 2016 at 11:18 AM, <zhangaihua1@xxxxxxxxxx> wrote:
> From: Aihua Zhang <zhangaihua1@xxxxxxxxxx>
>
> mount -t overlay overlay -olowerdir=/lower,upperdir=/upper,workdir=/workdir /merge
> ls /lower/test_dir
> whiteout
>
> ls /merge/test_dir
> whiteout ------should't display here
>
> this patch fixed it.

Your patch makes the performance of readdir() for the common case
worse for no good reason. There's no way a whiteout can end up on the
lowest layer, so there's no point in trying to filter one out.

NACK.

Thanks,
Miklos


>
> Signed-off-by: Aihua Zhang <zhangaihua1@xxxxxxxxxx>
> ---
> fs/overlayfs/readdir.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/fs/overlayfs/readdir.c b/fs/overlayfs/readdir.c
> index cf37fc7..21cd5a4 100644
> --- a/fs/overlayfs/readdir.c
> +++ b/fs/overlayfs/readdir.c
> @@ -362,7 +362,7 @@ static int ovl_iterate(struct file *file, struct dir_context *ctx)
> if (!ctx->pos)
> ovl_dir_reset(file);
>
> - if (od->is_real)
> + if ((od->is_real) && (od->is_upper))
> return iterate_dir(od->realfile, ctx);
>
> if (!od->cache) {
> --
> 1.7.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-unionfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html