From: Ralph Sennhauser <ralph.sennhauser@gmail.com>
To: Richard Weinberger <richard@nod.at>
Cc: Amir Goldstein <amir73il@gmail.com>,
Miklos Szeredi <miklos@szeredi.hu>,
linux-unionfs@vger.kernel.org,
linux-kernel <linux-kernel@vger.kernel.org>,
linux-mtd@lists.infradead.org, regressions@leemhuis.info,
Artem Bityutskiy <dedekind1@gmail.com>,
Adrian Hunter <adrian.hunter@intel.com>,
David Oberhollenzer <goliath@sigma-star.at>
Subject: Re: [REGRESSION 4.11] Commit d8514d8edb5b ("ovl: copy up regular file using O_TMPFILE") breaks ubifs
Date: Thu, 30 Mar 2017 09:28:31 +0200 [thread overview]
Message-ID: <20170330092831.6c88f362@gmail.com> (raw)
In-Reply-To: <pt0j2tw5gavgsksyh1yovnel.1490857017978@email.android.com>
Hi Richard,
On Thu, 30 Mar 2017 08:56:57 +0200
Richard Weinberger <richard@nod.at> wrote:
>
> Ralph,
> Please apply this
> fix:http://lists.infradead.org/pipermail/linux-mtd/2017-March/072613.html
>
No longer able to observe an issue with this one on top. The two
patches seem all that was needed to get things back to a working state.
Do you want me to test anything else than linux-next?
Thanks
Ralph
>
> Von meinem Samsung Gerät gesendet.
>
> -------- Ursprüngliche Nachricht --------
> Von: Ralph Sennhauser <ralph.sennhauser@gmail.com>
> Datum: 30.03.17 07:53 (GMT+01:00)
> An: Richard Weinberger <richard@nod.at>
> Cc: Amir Goldstein <amir73il@gmail.com>, Miklos Szeredi
> <miklos@szeredi.hu>, linux-unionfs@vger.kernel.org, linux-kernel
> <linux-kernel@vger.kernel.org>, linux-mtd@lists.infradead.org,
> regressions@leemhuis.info, Artem Bityutskiy <dedekind1@gmail.com>,
> Adrian Hunter <adrian.hunter@intel.com>, David Oberhollenzer
> <goliath@sigma-star.at> Betreff: Re: [REGRESSION 4.11] Commit
> d8514d8edb5b ("ovl: copy up regular\r file using O_TMPFILE") breaks ubifs
>
> Hi Richard,
>
> On Thu, 30 Mar 2017 00:15:31 +0200
> Richard Weinberger <richard@nod.at> wrote:
>
> > Ralph,
> >
> > Am 29.03.2017 um 23:26 schrieb Ralph Sennhauser:
> > >> # create and link a tmpfile - then remove it
> > >> sudo rm -rf foo; sudo xfs_io -T -c "flink foo" . ; ls -l foo;
> > >> sudo rm foo
> > >
> > > next-20170328, obviously without your patch:
> > >
> > > # xfs_io -T -c "flink foo" .
> > > .: Not supported
> >
> > -T tells xfs_io to create a tmpfile but you have it disabled in
> > UBIFS.
>
> Bash history says I booted the other partition than I flashed (uname
> just happened to match), the downside of the dual boot layout. :)
>
> # rm -rf foo
> # xfs_io -T -c "flink foo" .
> # ls -l foo
> -rw------- 1 root root 0 Mar 30 02:00 foo
> # rm foo
> [ 305.001436] UBIFS error (ubi0:0 pid 2493): ubifs_add_orphan:
> orphaned twice
>
> However, unlike with the overlay setup the filesystem can be mounted
> just fine without imediatly visible side effects.
>
> >
> > Anyway, can you please test the attached patch?
> > Amir was right, UBIFS misses a corner case in ubifs_link(). ;-\
> >
> > I think I understand also why we never noticed this in xfstests,
> > UBIFS prints only a non-fatal error while umounting the filesystem
> > in this case. But will test tomorrow in more detail, need some
> > sleep now.
> >
> > diff --git a/fs/ubifs/dir.c b/fs/ubifs/dir.c
> > index 30825d882aa9..95e348a2da29 100644
> > --- a/fs/ubifs/dir.c
> > +++ b/fs/ubifs/dir.c
> > @@ -748,6 +748,9 @@ static int ubifs_link(struct dentry *old_dentry,
> > struct inode *dir, goto out_fname;
> >
> > lock_2_inodes(dir, inode);
> > + if (inode->i_nlink == 0)
> > + ubifs_delete_orphan(c, inode->i_ino);
> > +
> > inc_nlink(inode);
> > ihold(inode);
> > inode->i_ctime = ubifs_current_time(inode);
> >
> > Thanks,
> > //richard
>
> With this patch I'm no longer able to reproduce _this_ issue, however,
> rename no longer works either:
>
> # mv /etc/config/wireless /etc/config/wireless.back
> mv: can't rename '/etc/config/wireless': Invalid argument
> # ls /etc/config/wireless
> /etc/config/wireless
> # rm /etc/config/wireless
> # ls /etc/config/wireless
> ls: /etc/config/wireless: No such file or directory
>
>
> Thanks
> Ralph
next prev parent reply other threads:[~2017-03-30 7:28 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-30 6:56 AW: Re: [REGRESSION 4.11] Commit d8514d8edb5b ("ovl: copy up regular file using O_TMPFILE") breaks ubifs Richard Weinberger
2017-03-30 7:28 ` Ralph Sennhauser [this message]
-- strict thread matches above, loose matches on Subject: below --
2017-03-28 8:01 Ralph Sennhauser
2017-03-28 9:27 ` Amir Goldstein
2017-03-28 10:43 ` Amir Goldstein
2017-03-29 21:06 ` Richard Weinberger
2017-03-29 21:06 ` Richard Weinberger
2017-03-28 10:45 ` Ralph Sennhauser
2017-03-28 11:03 ` Amir Goldstein
2017-03-28 11:03 ` Amir Goldstein
2017-03-28 11:28 ` Ralph Sennhauser
2017-03-28 12:08 ` Amir Goldstein
2017-03-28 12:16 ` Ralph Sennhauser
2017-03-29 19:16 ` Amir Goldstein
2017-03-29 21:26 ` Ralph Sennhauser
2017-03-29 22:15 ` Richard Weinberger
2017-03-30 5:53 ` Ralph Sennhauser
2017-03-30 6:34 ` Amir Goldstein
2017-03-30 7:18 ` Richard Weinberger
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=20170330092831.6c88f362@gmail.com \
--to=ralph.sennhauser@gmail.com \
--cc=adrian.hunter@intel.com \
--cc=amir73il@gmail.com \
--cc=dedekind1@gmail.com \
--cc=goliath@sigma-star.at \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=linux-unionfs@vger.kernel.org \
--cc=miklos@szeredi.hu \
--cc=regressions@leemhuis.info \
--cc=richard@nod.at \
/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.