On Sat, Oct 27, 2018 at 12:33 PM Richard Weinberger <rich...@nod.at> wrote:
> Rafał, > > Am Montag, 22. Oktober 2018, 17:34:44 CEST schrieb Rafał Miłecki: > > Then I took a close look at ovl_copy_up_locked() and it seems above > > info isn't accurate. It seems to me that setxattr() happens between > > fsync and link. I modified my C app to follow that order (open, write, > > fsync, setxattr, link) and I can reproduce the problem now! > > > > Steps to reproduce the problem: > > 1) compile tmptest.c > > 2) tmptest /overlay/upper/foo.txt user.bar baz > > 3) wait 5 seconds (so ubifs writes to flash) > > 4) power cut > > 5) boot again and check content of /overlay/upper/foo.txt > > 6) in my case content appears to be 00 00 00 00 > > Just returned from Edinburgh and had a chance to look at the problem. > The problem is not that no write-back happens, in fact it happens just > fine. > But we have a problem upon journal replay if an unlinked file (O_TMPFILE) > gets relinked in combination with xattrs. > > Can you please give the attached patch a try? It is not perfect but if I > understand the problem correctly it should fix the issues you're facing. > Your patch seems to have fixed it for me, sample size = 1. -- Russell Senior russ...@personaltelco.net
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel