On Monday, March 1, 2021 at 11:15:08 PM UTC+5:30 florian...@siemens.com wrote: > On Mon, 2021-03-01 at 18:22 +0100, Jan Kiszka wrote: > > On 01.03.21 16:18, Florian Bezdeka wrote: > > > This is the backport for upstream (openembedded-core) > > > eecbe6255584 ("wic: Warn if an ext filesystem affected by the Y2038 > problem is used") > > > > > > > We need to sync to a specific commit of upstream, rather than expanding > > the fork. > > Repeating from the other thread: > > wic in ISAR has diverged from upstream, so updating or synchronizing it > to the upstream version is not doable for me. I can't even test that. > > As the RFC series was merged by accident the situation got even worse. > I can take the responsibility to synchronize that part with the > upstream version, but I can't take responsibility for a full > synchronization. > > As already suggested, I would update the commit message again, but no > way for me to do the full synchronization. > I could do that. And probable those pending ISAR wic plugin alignment as well. But not immediately. It will have to wait till next week, probably weekend. I have some stuff to clear from my plate first. Thanks, Vijai Kumar K > > > > Jan > > > > > We are getting closer and closer to the year 2038 where the 32 bit > > > time_t overflow will happen. While products (= embedded systems) with > an > > > expected life time of 15 years are still save the situation may change > > > if your system has to survive the next 20 years. > > > > > > ext2 and ext3 filesystems are always affected by the time overflow, so > > > let's warn the user if these filesystems are still being used. > > > > > > If ext4 is affected depends on the inode size chosen during filesystem > > > creation. At least 256 bytes are necessary to be safe. As ext4 is > > > used very often (and partitions may be created small first and > extended > > > later) this might be an issue for many users. > > > > > > Signed-off-by: Florian Bezdeka > > > --- > > > scripts/lib/wic/misc.py | 1 + > > > scripts/lib/wic/partition.py | 15 +++++++-------- > > > 2 files changed, 8 insertions(+), 8 deletions(-) > > > > > > diff --git a/scripts/lib/wic/misc.py b/scripts/lib/wic/misc.py > > > index 4b08d64..c4332d5 100644 > > > --- a/scripts/lib/wic/misc.py > > > +++ b/scripts/lib/wic/misc.py > > > @@ -26,6 +26,7 @@ logger = logging.getLogger('wic') > > > > > > > > > > > > > > > # executable -> recipe pairs for exec_native_cmd > > > NATIVE_RECIPES = {"bmaptool": "bmap-tools", > > > + "dumpe2fs": "e2fsprogs", > > > "grub-mkimage": "grub-efi", > > > "isohybrid": "syslinux", > > > "mcopy": "mtools", > > > diff --git a/scripts/lib/wic/partition.py > b/scripts/lib/wic/partition.py > > > index 4a5a31e..e6bcc9e 100644 > > > --- a/scripts/lib/wic/partition.py > > > +++ b/scripts/lib/wic/partition.py > > > @@ -432,26 +432,25 @@ class Partition(): > > > if part.mountpoint: > > > args = [part.fstype, "mounted at %s" % > part.mountpoint] > > > elif part.label: > > > - args = [part.fstype, "labeled %s" % part.label] > > > + args = [part.fstype, "labeled '%s'" % part.label] > > > elif part.part_name: > > > - args = [part.fstype, "in partition %s" % part.part_name] > > > + args = [part.fstype, "in partition '%s'" % part.part_name] > > > else: > > > - args = [part.fstype, ""] > > > + args = [part.fstype, "in partition %s" % part.num] > > > return err.format(*args) > > > > > > > > > > > > > > > - ret, out = exec_native_cmd("dumpe2fs %s" % rootfs, native_sysroot) > > > - > > > # ext2 and ext3 are always affected by the Y2038 problem > > > if self.fstype in ["ext2", "ext3"]: > > > logger.warn(get_err_str(self)) > > > return > > > > > > > > > > > > > > > + ret, out = exec_native_cmd("dumpe2fs %s" % rootfs, native_sysroot) > > > + > > > # if ext4 is affected by the Y2038 problem depends on the > inode size > > > - # Remember: inode size depends on the file system size > > > for line in out.splitlines(): > > > if line.startswith("Inode size:"): > > > size = int(line.split(":")[1].strip()) > > > if size < 256: > > > - logger.warn("%s Inodes (of size %d) are too small." % \ > > > + logger.warn("%s Inodes (of size %d) are too small." % > > > (get_err_str(self), size)) > > > - break > > > \ No newline at end of file > > > + break > > > > > > >