Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp3477298imm; Tue, 29 May 2018 07:56:28 -0700 (PDT) X-Google-Smtp-Source: ADUXVKKuMDidRxSjFWbRw0NuKeqYllj8xzPXgXQbJu/BrkiG2H7sUtzRbyqXjJE5OpeXFiSDTXab X-Received: by 2002:a65:5284:: with SMTP id y4-v6mr4813239pgp.297.1527605788074; Tue, 29 May 2018 07:56:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527605788; cv=none; d=google.com; s=arc-20160816; b=xy9d4W/mA6m5fyVW+wJckQP7BbsTjEmfEigWs/DFDfYbD+wxofr3aACCVvRtNjSXKw iGQbb9zlpbmjQ70HQG/zmAzMntXp56Qbf1ekRapGEfmGHjtQIWdJ+nTXTyhw2wyreBhj 70MBD6J/+W77Ba8Rt0tVjoKzYlbmEEn5MWC9ToVWU77BLDCSarGl4SGUXrRRWBnpeCNv MhlOayqH1rTXLGm3XvBxybXDZT6LzRc2Tv3ChXVn+1JxsmCc0Ekc+nnLegL/Cwu68i8P Mgl+nZPAEmx3udgRenzkdazc6HtyDFlcdVc/IVqxgJS82yFwsjpBCWjfW7vRwIVf5Ppg ItuA== 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=XWi+eLIeQaNtjCiKmXjChJGRwGJd59/wf9rLuTJsRKg=; b=InEd9KacDZI3ozE+AokNRQuRe357AIg71YAhQuwvAUcdX4K0SOKedSvKN2sHEvghPh wdlsq6KGNeMbrPcPwYsle0gUpykaHkhWRr+ezwUb0MBUqUJbiR0PCfAAipPLpFhWQatI YDLknHKhZCmNRAlyM9+mzlbTIZUVbWF+UvC0qmC43Wot5cn6fuyKpU6/V6J/hvQ+QlhA k9qJ1RVxcGrooUHDoYIhcUPkkTh0CbwTzcrqRN/zSP6vwoAwI8KkkvygBduAO0bddQFM 6+6l8qK0jiXoyKOjrcTSE69sKjO0lA9z3IWimNaYDMcOBI1EcO5MI3f5UdDdFRSpaVoq GiRQ== 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 i4-v6si25508871pgq.405.2018.05.29.07.55.44; Tue, 29 May 2018 07:56:28 -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 S964894AbeE2Oum (ORCPT + 99 others); Tue, 29 May 2018 10:50:42 -0400 Received: from mail-wm0-f67.google.com ([74.125.82.67]:54341 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S936639AbeE2Oqk (ORCPT ); Tue, 29 May 2018 10:46:40 -0400 Received: by mail-wm0-f67.google.com with SMTP id f6-v6so41374951wmc.4 for ; Tue, 29 May 2018 07:46:40 -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=XWi+eLIeQaNtjCiKmXjChJGRwGJd59/wf9rLuTJsRKg=; b=oejFT38mA2Us9iJLNcG3no5prAN1cVWTVdSub3S1VcVK/ALVy+NROHqDxjuW/DMOTb eBavktAlEz9ogL5zVquY5KtzaIBuAIyUbGnl2JBOgw4eVczN5yFADJq2uuxCcxb0WTjZ VU1ExEKlV+UChVaYkEr7Zimse+iEznh0/k8jeSMWdAchaVRhfUk+bBMDbNEBvRCLpgPj fVUvXA2HbkgqcbJ/A2OKIKPlbob2BCe7R26Vr8SJIdpgzp8ZklWT3OC1SRX3gRgWFGsX u/zfzl5KzsZQZ1RGSzn/i7X0tvSs5zKc8t5hOU11+zMFDTcAzbiexmVOka83K18dLHMM g6mw== X-Gm-Message-State: ALKqPwdcFEct45JsgGqBXhc97eoV0F51nxXa6Ohn9+J5CwmoeIzV/iIO rM3CYpzVFmX/rjaarVaud7MtM061NVU= X-Received: by 2002:a1c:ad05:: with SMTP id w5-v6mr11827172wme.28.1527605199856; Tue, 29 May 2018 07:46:39 -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.38 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 29 May 2018 07:46:39 -0700 (PDT) From: Miklos Szeredi To: linux-unionfs@vger.kernel.org Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 20/28] ovl: Add an inode flag OVL_CONST_INO Date: Tue, 29 May 2018 16:46:04 +0200 Message-Id: <20180529144612.16675-21-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 Add an ovl_inode flag OVL_CONST_INO. This flag signifies if inode number will remain constant over copy up or not. This flag does not get updated over copy up and remains unmodifed after setting once. Next patch in the series will make use of this flag. It will basically figure out if dentry is of type ORIGIN or not. And this can be derived by this flag. ORIGIN = (upperdentry && ovl_test_flag(OVL_CONST_INO, inode)). Suggested-by: Amir Goldstein Signed-off-by: Vivek Goyal Reviewed-by: Amir Goldstein Signed-off-by: Miklos Szeredi --- fs/overlayfs/inode.c | 3 +++ fs/overlayfs/overlayfs.h | 2 ++ 2 files changed, 5 insertions(+) diff --git a/fs/overlayfs/inode.c b/fs/overlayfs/inode.c index d4e643e9098b..ac1d2a581a6e 100644 --- a/fs/overlayfs/inode.c +++ b/fs/overlayfs/inode.c @@ -883,6 +883,9 @@ struct inode *ovl_get_inode(struct super_block *sb, OVL_I(inode)->redirect = oip->redirect; + if (bylower) + ovl_set_flag(OVL_CONST_INO, inode); + /* Check for non-merge dir that may have whiteouts */ if (is_dir) { if (((upperdentry && lowerdentry) || oip->numlower > 1) || diff --git a/fs/overlayfs/overlayfs.h b/fs/overlayfs/overlayfs.h index dcd600201ec8..bde352e414e7 100644 --- a/fs/overlayfs/overlayfs.h +++ b/fs/overlayfs/overlayfs.h @@ -38,6 +38,8 @@ enum ovl_inode_flag { OVL_WHITEOUTS, OVL_INDEX, OVL_UPPERDATA, + /* Inode number will remain constant over copy up. */ + OVL_CONST_INO, }; enum ovl_entry_flag { -- 2.14.3