Re: [PATCH v12 09/17] ovl: Do not mark a non dir as _OVL_PATH_MERGE in ovl_path_type()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Mar 07, 2018 at 03:37:10PM +0200, Amir Goldstein wrote:
> On Wed, Mar 7, 2018 at 3:21 PM, Vivek Goyal <vgoyal@xxxxxxxxxx> wrote:
> > On Wed, Mar 07, 2018 at 09:07:22AM +0200, Amir Goldstein wrote:
> >> On Tue, Mar 6, 2018 at 10:54 PM, Vivek Goyal <vgoyal@xxxxxxxxxx> wrote:
> >> > With the addition of an origin chain for regular files, it is possible
> >> > that we don't have an upperdentry and oe->numlower > 1 for non-dir. So
> >> > mark a path __OVL_TYPE_MERGE only if it is a directory.
> >> >
> >>
> >> Okay, but what's wrong with marking a non-dir as TYPE MERGE?
> >> It is, after all, a sort of merged entry.
> >
> > Conceptually, I can't think of anything wrong. Just that currently we use
> > MERGE in the context of directory and we don't need it in the context of
> > non-dir. So this is just trying to be safe to make sure not to break any
> > existing code.
> >
> > I guess we could mark metacopy regular files as MERGE as well, if need be.
> > But that could be part of a separate patch series where we could run
> > various tests and make sure nothing is broken.
> >
> 
> I did a quick scan on all uses of OVL_TYPE_MERGE() they
> all have is_dir check in front of them or checked on a parent object.
> 
> In fact, in the case of ovl_rename(), for directory, the test is
>    if (ovl_type_merge_or_lower(old))
>       err = ovl_set_redirect(old, samedir);
> 
> 
> You could have removed the is_dir condition before this code instead
> of adding a different case for is_metacopy, although you did use a different
> argument for samedir in the metacopy case...

Hi Amir,

I am looking into merging code path for dir and non-dir. What I can't
understand is that why do we check for "ovl_type_merge_or_lower()" and
not just "ovl_type_merge()"?

By now, "old" dentry has been copied up anyway. So no point is checking
if this is lower or not? It will always be "upper"? 

What am I missing?

Vivek
--
To unsubscribe from this list: send the line "unsubscribe linux-unionfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystems Devel]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux