On 12/15/2017 03:10 PM, Roman Yeryomin wrote: > There is a race between `cp -a /tmp/root/* /rom/overlay` from > libfstools/overlay.c and a process creating new file(s) before > pivot(/rom, /mnt) occured. > That is a process can create a file and it will not be copied. > > To workaround this, do additional copy after jffs2 is ready. > This doesn't completely solve the problem but since there > was no other fix provided since original RFC [1], it is better > than nothiing. > > [1] https://www.mail-archive.com/openwrt-devel@lists.openwrt.org/msg38218.html > > Signed-off-by: Roman Yeryomin <ro...@advem.lv> > --- > libfstools/overlay.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/libfstools/overlay.c b/libfstools/overlay.c > index 7ada5ff..8423a57 100644 > --- a/libfstools/overlay.c > +++ b/libfstools/overlay.c > @@ -243,6 +243,10 @@ jffs2_switch(struct volume *v) > ULOG_INFO("performing overlay whiteout\n"); > umount2("/tmp/root", MNT_DETACH); > foreachdir("/overlay/", handle_whiteout); > + > + /* try hard to be in sync */ > + ULOG_INFO("syncronizing overlay\n"); > + system("cp -a /tmp/root/upper/* / 2>/dev/null"); > break; > > case FS_EXT4: >
This patch causes the following compile problem when compiled with glibc on x86: [ 50%] Building C object CMakeFiles/fstools.dir/libfstools/overlay.c.o /home/hauke/openwrt/lede/build_dir/target-x86_64_glibc/fstools-2018-01-02-11efbf3b/libfstools/overlay.c: In function 'jffs2_switch': /home/hauke/openwrt/lede/build_dir/target-x86_64_glibc/fstools-2018-01-02-11efbf3b/libfstools/overlay.c:249:3: warning: ignoring return value of 'system', declared with attribute warn_unused_result [-Wunused-result] system("cp -a /tmp/root/upper/* / 2>/dev/null"); ^ /home/hauke/openwrt/lede/build_dir/target-x86_64_glibc/fstools-2018-01-02-11efbf3b/libfstools/overlay.c: At top level: cc1: error: unrecognized command line option '-Wno-format-truncation' [-Werror] cc1: all warnings being treated as errors CMakeFiles/fstools.dir/build.make:110: recipe for target 'CMakeFiles/fstools.dir/libfstools/overlay.c.o' failed Hauke _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev