Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp3475810imm; Tue, 29 May 2018 07:54:48 -0700 (PDT) X-Google-Smtp-Source: AB8JxZrjscKMfadbdp/Fq8ZHhVpEyzj+oxIwSDQR2hFeurEsEfoZnJu2a2E6WAo2JpB+q2i1MpsK X-Received: by 2002:a17:902:1025:: with SMTP id b34-v6mr17682617pla.207.1527605688914; Tue, 29 May 2018 07:54:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527605688; cv=none; d=google.com; s=arc-20160816; b=qwJ+xCEV7raU52tGLdCq2lNmImcvPJOmCIilrCw3W/ux7PlKPS5aFgRRya63sXdpxb Z0D0aHqfZYzEfxvoe/RhhCkKPTcn2sEty6STxMktjtEOmLvEqu3lbT0x9iAeUuFPCAUx vAtrD2O998mAcnCgirKtfxl55pwUK2gRzKKc0YoNuPXAPVo57gMM00T4IAast7nnHREz m6HZzPOUfy0rnGfrIhrSkoi71YDIxf2ca/w8bi18QP224ki23pJoyhLIyNjkRYMZZcoX O09Sa+a9UkhCh3pZsqxPnDKWI+ii7nDaTDDHl8DYnKLcrJtJ5Q4wBiYSlFquqn/OMBGz 8t9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=xQMyeTYMDehYeJYrwxxlvtlPUGd+eKwSrAnrKxA0i5Q=; b=U4pjuhqSekVvdpYLIAE6n/oN0htyxcqywXW1aUnPR2Io1dEwSU8HTpiyILTU+cte/p w5IalZOvj2Lmi+O9LaI7qa6jtMUec3/owUzmQscm/gMuBFYePDGSIp1Gz1ou9xONGQ7H CLky8xhxfI7tHK34kqUddyh9Fgnbyvt6RsMWuyfs5u0bPwC1M/AQ+LWC/7QbL2Z/Wggn PwaEORJ70iCAQry1weIW5MeMVqz3wC8a7nz+eGNFWYSYezpKALCIul8ZU3LqstO2YPZY QrLJxKZ2hQORhKcymmmLH87kX7xfW6uuL5Be7Ey31MmVm/V29Mex2fE50l/N5kz3/qLJ 3PLQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 91-v6si12228065ple.308.2018.05.29.07.54.34; Tue, 29 May 2018 07:54:48 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S936687AbeE2Ovo (ORCPT + 99 others); Tue, 29 May 2018 10:51:44 -0400 Received: from mail-wm0-f46.google.com ([74.125.82.46]:40199 "EHLO mail-wm0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S936627AbeE2Oqi (ORCPT ); Tue, 29 May 2018 10:46:38 -0400 Received: by mail-wm0-f46.google.com with SMTP id x2-v6so33971576wmh.5 for ; Tue, 29 May 2018 07:46:38 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=xQMyeTYMDehYeJYrwxxlvtlPUGd+eKwSrAnrKxA0i5Q=; b=Z6yUKvrFK/+d9Iu913XK45kyTpnbLXf8zYGBnhC3/pFL3++dqf1DgeAZVTZ45HRYF9 1MvwwhwZXaRyWDXmNeuQmmpeLxROxbKuAFFEQYgdtLY3tVMhdCp+JiosoT61G7neHq46 tt40rboo7TfXV0zTDEH7olxNrHAdqLfDRbbmYXPQtUqyGOJ3jmyjSuHetQShgH8vOCxj oOAJHKNbOa0xfNbgFyq5hqoD0HdI7po7FWC/3kqbDvO5KKTON9o/kyo1q58h5AiyT/1/ q1EgP7hf7umObue6HNd6Ggc8J4I8o/6CWWwX4axkp7TdMeg53/HzsxyhUzlk0JnHFmdF u4Ow== X-Gm-Message-State: ALKqPweZSjgy9TbkWsC0tieJFvSI2yaK9H+OCbM1Rx2YPCWR4wO6XQyx UR9JmkeEcsSz9akq4W7ySTeWKA== X-Received: by 2002:a1c:8ec1:: with SMTP id q184-v6mr1323307wmd.48.1527605197498; Tue, 29 May 2018 07:46:37 -0700 (PDT) Received: from veci.piliscsaba.redhat.com (catv-176-63-54-97.catv.broadband.hu. [176.63.54.97]) by smtp.gmail.com with ESMTPSA id n71-v6sm20942227wmi.14.2018.05.29.07.46.36 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 29 May 2018 07:46:36 -0700 (PDT) From: Miklos Szeredi To: linux-unionfs@vger.kernel.org Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 18/28] ovl: Check redirects for metacopy files Date: Tue, 29 May 2018 16:46:02 +0200 Message-Id: <20180529144612.16675-19-mszeredi@redhat.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180529144612.16675-1-mszeredi@redhat.com> References: <20180529144612.16675-1-mszeredi@redhat.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Vivek Goyal Right now we rely on path based lookup for data origin of metacopy upper. This will work only if upper has not been renamed. We solved this problem already for merged directories using redirect. Use same logic for metacopy files. This patch just goes on to check redirects for metacopy files. Signed-off-by: Vivek Goyal Reviewed-by: Amir Goldstein Signed-off-by: Miklos Szeredi --- fs/overlayfs/namei.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/overlayfs/namei.c b/fs/overlayfs/namei.c index 451cd6effcf6..e38fa61e08df 100644 --- a/fs/overlayfs/namei.c +++ b/fs/overlayfs/namei.c @@ -272,7 +272,8 @@ static int ovl_lookup_single(struct dentry *base, struct ovl_lookup_data *d, d->metacopy = err; d->stop = !d->metacopy; - goto out; + if (!d->metacopy || d->last) + goto out; } else { if (last_element) d->is_dir = true; @@ -874,7 +875,6 @@ struct dentry *ovl_lookup(struct inode *dir, struct dentry *dentry, if (upperdentry && !d.is_dir) { unsigned int origin_ctr = 0; - BUG_ON(d.redirect); /* * Lookup copy up origin by decoding origin file handle. * We may get a disconnected dentry, which is fine, -- 2.14.3