On Monday, March 1, 2021 at 9:08:26 PM UTC+5:30 florian...@siemens.com wrote:
On Mon, 2021-03-01 at 07:23 -0800, vijaikumar....@gmail.com wrote:
>
>
> On Monday, March 1, 2021 at 8:49:34 PM UTC+5:30 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")
> >
>
>
> I believe we could uprev wic to a version that includes this patch,
> instead of cherry-picking this.
It's not a cherry-pick because the RFC series has already been merged
into ISAR before it was merged upstream. It's a real backport.
As I see, these are the missing pieces of the RFC patch which got merged recently.
The backport is actually spread across 2 commits.
Maybe we could modify the commit message to reflect that.
Thanks,
Vijai Kumar K
wic of ISAR and upstream (openembedded-core) have diverged, so just
picking the recent upstream version would overwrite all the changes
that were never upstreamed. I can't even test that, so someone else has
to do that.
>
> Thanks,
> Vijai Kumar K
>
> >
> > 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 <florian...@siemens.com>
> > ---
> > 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
> > --
> > 2.29.2
> >