Re: [RFC][PATCH v2 0/5] Experiments with overlayfs filemap

Miklos Szeredi
2019-01-29T12:44:59Z

[-- Attachment #1: Type: text/plain, Size: 1891 bytes --]

On Tue, Jan 29, 2019 at 10:13 AM Amir Goldstein <amir73il@gmail.com> wrote:
>
> On Tue, Jan 29, 2019 at 10:58 AM Miklos Szeredi <miklos@szeredi.hu> wrote:
> >
> > On Tue, Jan 29, 2019 at 9:54 AM Amir Goldstein <amir73il@gmail.com> wrote:
> > >
> > > On Tue, Jan 29, 2019 at 9:17 AM Miklos Szeredi <miklos@szeredi.hu> wrote:
> > > >
> > > > On Mon, Jan 28, 2019 at 11:14 PM Amir Goldstein <amir73il@gmail.com> wrote:
> > > > >
> > > > > On Mon, Jan 28, 2019 at 11:22 PM Miklos Szeredi <miklos@szeredi.hu> wrote:
> > > > > >
> > > > > > On Mon, Jan 28, 2019 at 10:17 PM Miklos Szeredi <miklos@szeredi.hu> wrote:
> > > > > >
> > > > > > > Trying to put some code together...
> > > > > >
> > > > > > Very rudimentary patch attached. It doens't do direct IO yet, but
> > > > > > demonstrates what I meant about achoring the upper file in the inode.
> > > > > >
> > > > >
> > > > > Code looks good, but blows up on xfstests, so I'll wait for a baked patch
> > > > > before testing.
> > > > >
> > > > > > Also found the trick to actually make writeback work:
> > > > > > super_setup_bdi() call in fill_super...
> > > > > >
> > > > >
> > > > > Cool, but when adding only setup_bdi() this to my code, I still don't see any
> > > > > writeback. No writeback observed with your patch as well.
> > > >
> > > > I did observe writeback, but haven't done much testing. Will
> > > > hopefully get this into a better shape today.
> > > >
> > >
> > > OK, I see the writebacks. Didn't see them with test:
> > >
> > > # ./run --ov --samefs --recycle rename-new-pop-dir
> >
> > Which branch is this? Master doesn't have --recycle.
> >
>
> Sorry, this flag is from branch ovl_snapshot, but exact same
> functionality on master with syntax:
>
> ./run --ov=0 --samefs rename-new-pop-dir

Fix attached.

Need to work on other stuff, so xfstests left for tomorrow (or if you
have time, feel free).

Thanks,
Miklos

[-- Attachment #2: d.patch --]
[-- Type: text/x-patch, Size: 399 bytes --]

--- a/fs/overlayfs/super.c
+++ b/fs/overlayfs/super.c
@@ -378,7 +382,6 @@ static int ovl_remount(struct super_block *sb, int *flags, char *data)
static const struct super_operations ovl_super_operations = {
.alloc_inode = ovl_alloc_inode,
.destroy_inode = ovl_destroy_inode,
- .drop_inode = generic_delete_inode,
.put_super = ovl_put_super,
.sync_fs = ovl_sync_fs,
.statfs = ovl_statfs,