From: Vivek Goyal <vgoyal@redhat.com>
To: Amir Goldstein <amir73il@gmail.com>
Cc: Miklos Szeredi <miklos@szeredi.hu>,
overlayfs <linux-unionfs@vger.kernel.org>
Subject: Re: [PATCH v2] ovl: return error on mount if metacopy cannot be enabled
Date: Wed, 31 Oct 2018 11:39:44 -0400 [thread overview]
Message-ID: <20181031153944.GC20169@redhat.com> (raw)
In-Reply-To: <CAOQ4uxg9vFqM3G5aV456foRFSm9NpjkZoR6CddbTTdcWTN5Quw@mail.gmail.com>
On Wed, Oct 31, 2018 at 05:31:33PM +0200, Amir Goldstein wrote:
> On Wed, Oct 31, 2018 at 4:17 PM Vivek Goyal <vgoyal@redhat.com> wrote:
> >
> > On Wed, Oct 31, 2018 at 04:05:02PM +0200, Amir Goldstein wrote:
> > > On Wed, Oct 31, 2018 at 3:47 PM Vivek Goyal <vgoyal@redhat.com> wrote:
> > > ...
> > > >
> > > > So "strict" will change behavior. That is where we think configuration
> > > > is not right/suboptimal, we will fail mount?
> > > >
> > > > I feel little odd about enabling "strict" implicitly just because
> > > > "metacopy" has been passed in. To me, for all new mount options,
> > > > "strict" should be default implementation (and does not require
> > > > strict to be on as such).
> > > >
> > > > For old options, users are already happy with what they are seeing
> > > > as of now. Those who want strict behavior, they should pass in
> > > > "strict=on" and then behavior of old knobs will change without
> > > > breaking backward compatibility.
> > > >
> > >
> > > We need to think of users and documentation and real life use cases.
> > > We need to think of overlayfs code maintenance and overlayfs developers.
> > > We need to come up with a compromise that is the best of all worlds.
> > >
> > > Maintaining different behavior per feature complicates the code and
> > > IMO brings no real value to users.
> > >
> > > If you think there is a concrete real world problem with metacopy=on
> > > implying strict=on, please present the case.
> > >
> > > Are you interested in making metacopy=on work on sub-optimal upper
> > > file systems? Which one?
> > > Are you interested in making index=on,metacopy=on fallback to
> > > index=off,metacopy=on on underlying fs without file handle support?
> > > Why?
> > > What is the real life use case for which you wish to preserve those
> > > behaviors that are mostly there because we made mistakes in the
> > > past?
> >
> > I don't have a good example. But, following is my thought process that
> > why I think turning on strict with metacopy=on is not very good.
> >
> > - Turning on strict on, can make a working configuration fail due to
> > unrelated reasons. Say d_type is not supported and user is fine with
> > that and wants metacopy=on. Now that will not work and it will be
> > confusing to understand that what metacopy has to do with d_type.
> >
>
> It is not in the best of our (overlayfs developers) interest to allow users
> to shoot their own feet. We allow that when we have no choice (backward
> compat), but we really have no reason to do that with new features.
> In fact, new features is our *only* opportunity to deprecate old code
> that is sub-optimal and only exists because of backward compat reasons.
>
> To use a very concrete example, index=on enables the exclusive upperdir
> workdir checks. Not because index=on needs exclusive upperdir/workdir
> more than index=off, but just because we can. And now docker cannot deal
> with exclusive upperdir/workdir because docker has mount leak bugs, so
> docker sets index=off to workaround its own bugs.
>
> If ever docker would want to provide sane hardlink behavior to its users,
> docker will have to fix its mount leaks bugs first. We keep looking backwards,
> but general direction should be forward!
>
Ok. So basically strict and metacopy has no connection but we want to
take this opportunity to enable more sane overlayfs behavior by default
without breaking backward compatibility.
And if a corner case user does not like implicit strict=on, they can
specifically do "metacopy=on,strict=off".
I am fine with this. Thanks.
So every new mount option now will enable strict=on implicitly?
Thanks
Vivek
next prev parent reply other threads:[~2018-10-31 15:39 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-31 11:10 [PATCH v2] ovl: return error on mount if metacopy cannot be enabled Amir Goldstein
2018-10-31 11:48 ` Miklos Szeredi
2018-10-31 12:19 ` Miklos Szeredi
2018-10-31 12:26 ` Amir Goldstein
2018-10-31 12:35 ` Miklos Szeredi
2018-10-31 12:37 ` Miklos Szeredi
2018-10-31 13:42 ` Amir Goldstein
2018-10-31 14:05 ` Vivek Goyal
2018-10-31 13:29 ` Amir Goldstein
2018-10-31 13:47 ` Vivek Goyal
2018-10-31 14:05 ` Amir Goldstein
2018-10-31 14:17 ` Vivek Goyal
2018-10-31 15:31 ` Amir Goldstein
2018-10-31 15:39 ` Vivek Goyal [this message]
2018-10-31 16:04 ` Amir Goldstein
2018-10-31 16:39 ` Vivek Goyal
2018-10-31 18:37 ` Amir Goldstein
2018-10-31 19:23 ` Vivek Goyal
2018-10-31 19:56 ` Vivek Goyal
2018-10-31 20:24 ` Amir Goldstein
2018-10-31 21:24 ` Vivek Goyal
2018-10-31 22:16 ` Amir Goldstein
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181031153944.GC20169@redhat.com \
--to=vgoyal@redhat.com \
--cc=amir73il@gmail.com \
--cc=linux-unionfs@vger.kernel.org \
--cc=miklos@szeredi.hu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.