Re: [REGRESSION 4.11] Commit d8514d8edb5b ("ovl: copy up regular file using O_TMPFILE") breaks ubifs

From: Richard Weinberger
Date: Wed Mar 29 2017 - 17:07:22 EST


Amir,

Am 28.03.2017 um 12:43 schrieb Amir Goldstein:
> On Tue, Mar 28, 2017 at 5:27 AM, Amir Goldstein <amir73il@xxxxxxxxx> wrote:
>> On Tue, Mar 28, 2017 at 4:01 AM, Ralph Sennhauser
>> <ralph.sennhauser@xxxxxxxxx> wrote:
>>> Hi Amir
>>>
>>> Commit d8514d8edb5b ("ovl: copy up regular file using O_TMPFILE")
>>> breaks squashfs with an ubifs overlay (both ubi volumes of the same
>>> container).
>>>
>>
>> Hi Ralph,
>>
>> I am confused by the description above. Which are the 'both ubi volumes'?
>>
>> Can you provide exact command of overlayfs mount, preferably
>> also a script to generate the lower/upper images and mount them
>> to remove any mkfs option doubts from test setup.
>>
>>> Renaming a file results in an error "UBIFS error (ubi0:1 pid 1394):
>>> ubifs_add_orphan: orphaned twice". This corrupts the the filesystem and
>>> the next attempt to mount the overlay will fail.
>>>
>
> Looking at the ubifs code, it does not appear that ubifs_link() ever calls
> ubifs_delete_orphan() for the case of linking a temp file (nlink == 0),
> so this looks like a ubifs bug.

Thanks for the heads up, I'll look into this.

> Is ubifs being tested with xfstests? This should have been caught by test
> generic/004 (link tempfile then delete it).

Yes, it is.
David, can you please double-check wrt. test generic/004?

Thanks,
//richard