Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933459AbcJUNTY (ORCPT ); Fri, 21 Oct 2016 09:19:24 -0400 Received: from mail-lf0-f68.google.com ([209.85.215.68]:34448 "EHLO mail-lf0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934050AbcJUNS3 (ORCPT ); Fri, 21 Oct 2016 09:18:29 -0400 MIME-Version: 1.0 In-Reply-To: References: <20161012133326.GD31239@veci.piliscsaba.szeredi.hu> <20161020204630.GA1000@redhat.com> From: Amir Goldstein Date: Fri, 21 Oct 2016 16:18:26 +0300 Message-ID: Subject: Re: [POC/RFC PATCH] overlayfs: fix data inconsistency at copy up To: Miklos Szeredi Cc: Vivek Goyal , "linux-unionfs@vger.kernel.org" , linux-fsdevel , linux-kernel , Jeremy Eder , David Howells , Gou Rao , Vinod Jayaraman , Al Viro , Dave Chinner Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1381 Lines: 33 On Fri, Oct 21, 2016 at 12:30 PM, Miklos Szeredi wrote: > On Fri, Oct 21, 2016 at 11:13 AM, Amir Goldstein wrote: > >> I think it would be a good idea in general to stabilize the overlay ino/dev >> throughout copy-up, same as Miklos suggested to do for directories, to >> all files: >> pure upper uses upper ino + overlayfs dev >> non-pure upper uses lower ino + overlayfs dev > > Making st_ino, st_dev and d_ino behave consistently would be the next big step. > > The above scheme only works if lower and upper are on the same > filesystem. Otherwise there can be collisions between the lower and > upper inode numbers. Perhaps you meant: > > - pure upper uses upper ino + upper dev > - non-pure upper uses lower ino + overlayfs dev > > It works for the single lower layer case, but again breaks if there > are multiple lower layers. And d_ino in a merged directory could > still get us into trouble. And find -xdev would not do what you'd > expect with a "normal" filesystem. > > So there doesn't appear to be any easy solutions to this... > Not for the general case there isn't, but I was actually thinking of the docker case and there is a lot that can be done for the use case of lower and upper on the same fs to make overlayfs more compliant. Since it's quite a common use case, perhaps its worth the special treatment. Amir.