Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp3481574imm; Tue, 29 May 2018 08:00:52 -0700 (PDT) X-Google-Smtp-Source: AB8JxZr8EHMFMitu4LTY8D1eh2pLKdtLOQJur5M95VtQBcJDqfgq8qKZbTIvsJ26oOyLbByQj2GS X-Received: by 2002:a62:568f:: with SMTP id h15-v6mr17757568pfj.131.1527606052012; Tue, 29 May 2018 08:00:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527606051; cv=none; d=google.com; s=arc-20160816; b=UkdALvA6S/pE3BEWd1bB9aAGmzza3pPMqO7VwL0wao+pd8n4wvxMQ9kA7J62fKv6uR A8R8lCc68+1D9Bb8mAclFGF6OwtyvJnpFPHLr3BCFkqBG6z0p4uquM+YkyFQ9dYcbMWZ tEdwCsmzobMmQLdat0cbdf8+jYDJ9ncid4epLFVd3Sw3qxAJY/+268ywxNpHOxofkst5 nlTzzt+lGWynWk0WmTAKIwXGC0O3Z/cuS+36O2/NGyxndTOk/8Mtrh04TUMHYsVHxFfi XjkBGkoM9ZUFKmIVC9QPh0zq5SLf1oks+84qDJ+sEEzTS8b39KFQrXzbwx8PPZdY++9z uU9A== 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=f8D4Xq6UXXeL7YuDKkjCf2o6j8CF+Y3JW48arhZvFX4=; b=h2NcOCJWdiUgMLn/Tpb7rRc0pHAJGTTW7wHV1h9mrvVbPMHUeAcfJunsRUkRuA/t9c THtbgyUZF7+027s/C6yD2naattAUX8GKfDvB878UwJKBoI1FJMRWOnOmUknIOXkEHgQv nbz/XVEMtuCpalMkn0wLLHMmpKfh8ej7VC1mCuf55vDJljcvapNsYgeok4NogDV2tNEN eUTa76Xay6WLefyn7wfuvd7FMDSV3jwF8IVDjo723hY5HxJKrOK44U84ItGEwZ2G7ilk 6WVErnb4oNOws5vz8SEjIET0ma4MzMifp8y5w32uq4JvExHyz1gOAZM4FWwS1LIfo4/D B4Zg== 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 u70-v6si12619471pgc.376.2018.05.29.08.00.37; Tue, 29 May 2018 08:00:51 -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 S964929AbeE2O7G (ORCPT + 99 others); Tue, 29 May 2018 10:59:06 -0400 Received: from mail-wm0-f65.google.com ([74.125.82.65]:40302 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935749AbeE2OqU (ORCPT ); Tue, 29 May 2018 10:46:20 -0400 Received: by mail-wm0-f65.google.com with SMTP id x2-v6so33968858wmh.5 for ; Tue, 29 May 2018 07:46:19 -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=f8D4Xq6UXXeL7YuDKkjCf2o6j8CF+Y3JW48arhZvFX4=; b=BVAoI7IqWLsWVusXD7ICdUPnV76jAKjVa/zJs1XkT1VDK2Q+Cybc4EXQjwsCn5lfE1 986JvmN+gW1hvJtHhjHHE4hVw48pi0wcvIgItoX0myO+T+SHbLd4/xCSK+zA1l/q2qMk ZLNweetH1Ga3KAEGVvNaNQ1tsWJX/0nqeaZJat17PlCB1IhGgYYpovGzsovGFawNbNCr eph+PHkEFyGvAVF971CZHs4zNaiS3FnQDv9SKPE3+xm6i6Pfmye18uX2vzU+iagckaw8 aycTE2NPzPm0tE78BQ1Ltm1nhriI6Z4qpwl7eRHF9naxL6dZwNFlpCIblIgpnp9DRxvC hRjg== X-Gm-Message-State: ALKqPwddMQW0+LzfcCMmYKVV7sG8BTAZAmC3NEd5MSjNFWFZWL00z11f erDH8lFrWlhG4LoQ/nm35gTQxQ== X-Received: by 2002:a1c:6503:: with SMTP id z3-v6mr10529631wmb.11.1527605179308; Tue, 29 May 2018 07:46:19 -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.18 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 29 May 2018 07:46:18 -0700 (PDT) From: Miklos Szeredi To: linux-unionfs@vger.kernel.org Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 04/28] ovl: During copy up, first copy up metadata and then data Date: Tue, 29 May 2018 16:45:48 +0200 Message-Id: <20180529144612.16675-5-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 Just a little re-ordering of code. This helps with next patch where after copying up metadata, we skip data copying step, if needed. Signed-off-by: Vivek Goyal Reviewed-by: Amir Goldstein Signed-off-by: Miklos Szeredi --- fs/overlayfs/copy_up.c | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/fs/overlayfs/copy_up.c b/fs/overlayfs/copy_up.c index 91b3b668482b..c072a4c0cf08 100644 --- a/fs/overlayfs/copy_up.c +++ b/fs/overlayfs/copy_up.c @@ -490,28 +490,10 @@ static int ovl_copy_up_inode(struct ovl_copy_up_ctx *c, struct dentry *temp) { int err; - if (S_ISREG(c->stat.mode)) { - struct path upperpath; - - ovl_path_upper(c->dentry, &upperpath); - BUG_ON(upperpath.dentry != NULL); - upperpath.dentry = temp; - - err = ovl_copy_up_data(&c->lowerpath, &upperpath, c->stat.size); - if (err) - return err; - } - err = ovl_copy_xattr(c->lowerpath.dentry, temp); if (err) return err; - inode_lock(temp->d_inode); - err = ovl_set_attr(temp, &c->stat); - inode_unlock(temp->d_inode); - if (err) - return err; - /* * Store identifier of lower inode in upper inode xattr to * allow lookup of the copy up origin inode. @@ -525,7 +507,23 @@ static int ovl_copy_up_inode(struct ovl_copy_up_ctx *c, struct dentry *temp) return err; } - return 0; + if (S_ISREG(c->stat.mode)) { + struct path upperpath; + + ovl_path_upper(c->dentry, &upperpath); + BUG_ON(upperpath.dentry != NULL); + upperpath.dentry = temp; + + err = ovl_copy_up_data(&c->lowerpath, &upperpath, c->stat.size); + if (err) + return err; + } + + inode_lock(temp->d_inode); + err = ovl_set_attr(temp, &c->stat); + inode_unlock(temp->d_inode); + + return err; } static int ovl_copy_up_locked(struct ovl_copy_up_ctx *c) -- 2.14.3