Hello community,

here is the log from the commit of package mtd-utils for openSUSE:Factory 
checked in at 2020-02-04 19:53:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mtd-utils (Old)
 and      /work/SRC/openSUSE:Factory/.mtd-utils.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mtd-utils"

Tue Feb  4 19:53:59 2020 rev:7 rq:769713 version:2.1.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/mtd-utils/mtd-utils.changes      2019-06-19 
21:02:15.470181693 +0200
+++ /work/SRC/openSUSE:Factory/.mtd-utils.new.26092/mtd-utils.changes   
2020-02-04 19:54:07.649348694 +0100
@@ -1,0 +2,21 @@
+Mon Feb  3 16:22:01 UTC 2020 - Martin Pluskal <[email protected]>
+
+- Update to version 2.1.1:
+  * Features:
+    - mkfs.ubifs: Add ZSTD compression
+  * Fixes:
+    + ubiformat: Dont ignore sequence number CLI option
+    + mkfs.ubifs: fix build without openssl
+    + mkfs.ubifs: fix regression when trying to store device special files
+    + mkfs.ubifs: fix description of favor_lzo
+    + unittests/test_lib: Include proper header for _IOC_SIZE
+    + unittests/libmtd_test: Include fcntl header
+    + unittests: Define the use of _GNU_SOURCE
+    + ubinize: Exit with non-zero exit code on error.
+    + mtd-tests: nandbiterrs: Fix issue that just insert error at bit 7
+    + ubi-tests: ubi_mkvol_request: Fully initialize 'struct ubi_mkvol_request 
req'
+    + ubi-tests: io_read: Filter invalid offset value before 'lseek' in 
io_read test
+    + ubi-tests: mkvol test: Checks return value 'ENOSPC' for 'ubi_mkvol'
+    + ubi-tests: fm_param: Replace 'fm_auto' with 'fm_autoconvert'
+
+-------------------------------------------------------------------

Old:
----
  mtd-utils-2.1.0.tar.bz2
  mtd-utils-2.1.0.tar.bz2.asc

New:
----
  mtd-utils-2.1.1.tar.bz2
  mtd-utils-2.1.1.tar.bz2.asc

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ mtd-utils.spec ++++++
--- /var/tmp/diff_new_pack.xeTyFi/_old  2020-02-04 19:54:08.401349132 +0100
+++ /var/tmp/diff_new_pack.xeTyFi/_new  2020-02-04 19:54:08.405349134 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package mtd-utils
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           mtd-utils
-Version:        2.1.0
+Version:        2.1.1
 Release:        0
 Summary:        Tools for maintaining Memory Technology Devices
 License:        GPL-2.0-or-later
@@ -26,9 +26,10 @@
 Source0:        
ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-%{version}.tar.bz2
 Source1:        
ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-%{version}.tar.bz2.asc
 Source2:        %{name}.keyring
-BuildRequires:  libacl-devel
-BuildRequires:  lzo-devel
 BuildRequires:  pkgconfig
+BuildRequires:  pkgconfig(libacl)
+BuildRequires:  pkgconfig(libzstd)
+BuildRequires:  pkgconfig(lzo2)
 BuildRequires:  pkgconfig(openssl)
 BuildRequires:  pkgconfig(uuid)
 BuildRequires:  pkgconfig(zlib)
@@ -44,7 +45,7 @@
 
 %build
 %configure
-make %{?_smp_mflags} V=1
+%make_build
 
 %install
 %make_install

++++++ mtd-utils-2.1.0.tar.bz2 -> mtd-utils-2.1.1.tar.bz2 ++++++
++++ 4259 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/mtd-utils-2.1.0/Makefile.am new/mtd-utils-2.1.1/Makefile.am
--- old/mtd-utils-2.1.0/Makefile.am     2018-11-01 12:42:31.000000000 +0100
+++ new/mtd-utils-2.1.1/Makefile.am     2019-06-01 19:38:44.000000000 +0200
@@ -10,6 +10,10 @@
 AM_CPPFLAGS += -DWITHOUT_LZO
 endif
 
+if WITHOUT_ZSTD
+AM_CPPFLAGS += -DWITHOUT_ZSTD
+endif
+
 if WITH_SELINUX
 AM_CPPFLAGS += -DWITH_SELINUX
 endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/mtd-utils-2.1.0/configure.ac new/mtd-utils-2.1.1/configure.ac
--- old/mtd-utils-2.1.0/configure.ac    2019-03-13 17:42:12.000000000 +0100
+++ new/mtd-utils-2.1.1/configure.ac    2019-07-21 22:40:28.000000000 +0200
@@ -1,6 +1,6 @@
 AC_PREREQ([2.60])
 
-m4_define([RELEASE], 2.1.0)
+m4_define([RELEASE], 2.1.1)
 
 AC_INIT([mtd-utils], [RELEASE], [[email protected]], mtd-utils)
 
@@ -66,6 +66,7 @@
 need_uuid="no"
 need_zlib="no"
 need_lzo="no"
+need_zstd="no"
 need_xattr="no"
 need_cmocka="no"
 need_selinux="no"
@@ -138,6 +139,7 @@
        need_xattr="yes"
        need_zlib="yes"
        need_lzo="yes"
+       need_zstd="yes"
        need_openssl="yes"
 ])
 
@@ -164,6 +166,14 @@
        *) AC_MSG_ERROR([bad value ${withval} for --without-lzo]) ;;
        esac])
 
+AC_ARG_WITH([zstd],
+       [AS_HELP_STRING([--without-zstd], [Disable support for ZSTD 
compression])],
+       [case "${withval}" in
+       yes) ;;
+       no) need_zstd="no" ;;
+       *) AC_MSG_ERROR([bad value ${withval} for --without-zstd]) ;;
+       esac])
+
 AC_ARG_WITH([selinux],
        [AS_HELP_STRING([--with-selinux],
                [Enable support for selinux extended attributes])],
@@ -189,6 +199,7 @@
 uuid_missing="no"
 zlib_missing="no"
 lzo_missing="no"
+zstd_missing="no"
 xattr_missing="no"
 cmocka_missing="no"
 selinux_missing="no"
@@ -225,6 +236,10 @@
        )
 fi
 
+if test "x$need_zstd" = "xyes"; then
+       PKG_CHECK_MODULES([ZSTD], [libzstd],, zstd_missing="yes")
+fi
+
 if test "x$need_xattr" = "xyes"; then
        AC_CHECK_HEADERS([sys/xattr.h], [], [xattr_missing="yes"])
        AC_CHECK_HEADERS([sys/acl.h], [], [xattr_missing="yes"])
@@ -283,6 +298,13 @@
        dep_missing="yes"
 fi
 
+if test "x$zstd_missing" = "xyes"; then
+       AC_MSG_WARN([cannot find ZSTD library required for mkfs program])
+       AC_MSG_NOTICE([mtd-utils can optionally be built without mkfs.ubifs])
+       AC_MSG_NOTICE([mtd-utils can optionally be built without ZSTD support])
+       dep_missing="yes"
+fi
+
 if test "x$xattr_missing" = "xyes"; then
        AC_MSG_WARN([cannot find headers for extended attributes])
        AC_MSG_WARN([disabling XATTR support])
@@ -314,6 +336,7 @@
 ##### generate output #####
 
 AM_CONDITIONAL([WITHOUT_LZO], [test "x$need_lzo" != "xyes"])
+AM_CONDITIONAL([WITHOUT_ZSTD], [test "x$need_zstd" != "xyes"])
 AM_CONDITIONAL([WITHOUT_XATTR], [test "x$need_xattr" != "xyes"])
 AM_CONDITIONAL([WITH_SELINUX], [test "x$need_selinux" == "xyes"])
 AM_CONDITIONAL([WITH_CRYPTO], [test "x$need_openssl" == "xyes"])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/mtd-utils-2.1.0/include/config.h new/mtd-utils-2.1.1/include/config.h
--- old/mtd-utils-2.1.0/include/config.h        2019-03-13 17:42:25.000000000 
+0100
+++ new/mtd-utils-2.1.1/include/config.h        2019-07-21 22:40:42.000000000 
+0200
@@ -68,7 +68,7 @@
 #define PACKAGE_NAME "mtd-utils"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "mtd-utils 2.1.0"
+#define PACKAGE_STRING "mtd-utils 2.1.1"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "mtd-utils"
@@ -77,7 +77,7 @@
 #define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "2.1.0"
+#define PACKAGE_VERSION "2.1.1"
 
 /* Define to necessary symbol if this constant uses a non-standard name on
    your system. */
@@ -93,4 +93,4 @@
 #define STDC_HEADERS 1
 
 /* Version number of package */
-#define VERSION "2.1.0"
+#define VERSION "2.1.1"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/mtd-utils-2.1.0/include/mtd/ubifs-media.h 
new/mtd-utils-2.1.1/include/mtd/ubifs-media.h
--- old/mtd-utils-2.1.0/include/mtd/ubifs-media.h       2018-11-01 
12:31:41.000000000 +0100
+++ new/mtd-utils-2.1.1/include/mtd/ubifs-media.h       2019-06-01 
19:38:44.000000000 +0200
@@ -343,12 +343,14 @@
  * UBIFS_COMPR_NONE: no compression
  * UBIFS_COMPR_LZO: LZO compression
  * UBIFS_COMPR_ZLIB: ZLIB compression
+ * UBIFS_COMPR_ZSTD: ZSTD compression
  * UBIFS_COMPR_TYPES_CNT: count of supported compression types
  */
 enum {
        UBIFS_COMPR_NONE,
        UBIFS_COMPR_LZO,
        UBIFS_COMPR_ZLIB,
+       UBIFS_COMPR_ZSTD,
        UBIFS_COMPR_TYPES_CNT,
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/mtd-utils-2.1.0/tests/mtd-tests/nandbiterrs.c 
new/mtd-utils-2.1.1/tests/mtd-tests/nandbiterrs.c
--- old/mtd-utils-2.1.0/tests/mtd-tests/nandbiterrs.c   2017-11-15 
00:29:09.000000000 +0100
+++ new/mtd-utils-2.1.1/tests/mtd-tests/nandbiterrs.c   2019-04-29 
08:39:15.000000000 +0200
@@ -333,7 +333,7 @@
        int bit, mask, byte;
 
        for (byte = 0; byte < pagesize; ++byte) {
-               for (bit = 7, mask = 0x80; bit >= 0; bit--, mask>>=0) {
+               for (bit = 7, mask = 0x80; bit >= 0; bit--, mask >>= 1) {
                        if (wbuffer[byte] & mask) {
                                wbuffer[byte] &= ~mask;
                                printf("Inserted biterror @ %u/%u\n", byte, 
bit);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/mtd-utils-2.1.0/tests/ubi-tests/integ.c 
new/mtd-utils-2.1.1/tests/ubi-tests/integ.c
--- old/mtd-utils-2.1.0/tests/ubi-tests/integ.c 2018-10-02 14:07:55.000000000 
+0200
+++ new/mtd-utils-2.1.1/tests/ubi-tests/integ.c 2019-06-16 12:27:10.000000000 
+0200
@@ -467,6 +467,7 @@
                req.vol_id = UBI_VOL_NUM_AUTO;
                req.alignment = 1; /* TODO: What is this? */
                req.bytes = ubi_device->info.leb_size * max_ebs_per_vol;
+               req.flags = 0;
                if (req.bytes == 0 || req.bytes > ubi_device->info.avail_bytes)
                        req.bytes = ubi_device->info.avail_bytes;
                req.vol_type = UBI_DYNAMIC_VOLUME;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/mtd-utils-2.1.0/tests/ubi-tests/io_basic.c 
new/mtd-utils-2.1.1/tests/ubi-tests/io_basic.c
--- old/mtd-utils-2.1.0/tests/ubi-tests/io_basic.c      2016-07-12 
14:16:45.000000000 +0200
+++ new/mtd-utils-2.1.1/tests/ubi-tests/io_basic.c      2019-06-16 
12:27:10.000000000 +0200
@@ -55,6 +55,7 @@
        req.bytes = dev_info.avail_bytes;
        req.vol_type = type;
        req.name = name;
+       req.flags = 0;
 
        if (ubi_mkvol(libubi, node, &req)) {
                failed("ubi_mkvol");
@@ -102,6 +103,7 @@
 
        req.vol_type = type;
        req.name = name;
+       req.flags = 0;
 
        for (i = 0; i < sizeof(alignments)/sizeof(int); i++) {
                req.vol_id = UBI_VOL_NUM_AUTO;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/mtd-utils-2.1.0/tests/ubi-tests/io_paral.c 
new/mtd-utils-2.1.1/tests/ubi-tests/io_paral.c
--- old/mtd-utils-2.1.0/tests/ubi-tests/io_paral.c      2018-10-02 
14:07:55.000000000 +0200
+++ new/mtd-utils-2.1.1/tests/ubi-tests/io_paral.c      2019-06-16 
12:27:10.000000000 +0200
@@ -266,6 +266,7 @@
                sprintf(vol_name[i], PROGRAM_NAME":%d", i);
                reqests[i].name = vol_name[i];
                reqests[i].vol_type = UBI_DYNAMIC_VOLUME;
+               reqests[i].flags = 0;
                if (i == THREADS_NUM)
                        reqests[i].vol_type = UBI_STATIC_VOLUME;
                sprintf(vol_nodes[i], UBI_VOLUME_PATTERN, dev_info.dev_num, i);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/mtd-utils-2.1.0/tests/ubi-tests/io_read.c 
new/mtd-utils-2.1.1/tests/ubi-tests/io_read.c
--- old/mtd-utils-2.1.0/tests/ubi-tests/io_read.c       2017-11-15 
00:29:09.000000000 +0100
+++ new/mtd-utils-2.1.1/tests/ubi-tests/io_read.c       2019-06-16 
12:27:13.000000000 +0200
@@ -74,6 +74,7 @@
        req.bytes = dev_info.avail_bytes;
        req.vol_type = UBI_STATIC_VOLUME;
        req.name = name;
+       req.flags = 0;
 
        if (ubi_mkvol(libubi, node, &req)) {
                failed("ubi_mkvol");
@@ -227,6 +228,10 @@
                                  vol_info->data_bytes);
 
        for (i = 0; i < sizeof(offsets)/sizeof(off_t); i++) {
+               /* Filter invalid offset value */
+               if (offsets[i] < 0 || offsets[i] > vol_info->data_bytes)
+                       continue;
+
                if (test_read3(vol_info, len, offsets[i])) {
                        errorm("offset = %d", offsets[i]);
                        return -1;
@@ -329,6 +334,7 @@
                req.vol_id = UBI_VOL_NUM_AUTO;
                req.vol_type = type;
                req.name = name;
+               req.flags = 0;
 
                req.alignment = alignments[i];
                req.alignment -= req.alignment % dev_info.min_io_size;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/mtd-utils-2.1.0/tests/ubi-tests/io_update.c 
new/mtd-utils-2.1.1/tests/ubi-tests/io_update.c
--- old/mtd-utils-2.1.0/tests/ubi-tests/io_update.c     2017-11-15 
00:29:09.000000000 +0100
+++ new/mtd-utils-2.1.1/tests/ubi-tests/io_update.c     2019-06-16 
12:27:10.000000000 +0200
@@ -233,6 +233,7 @@
                req.vol_id = UBI_VOL_NUM_AUTO;
                req.vol_type = type;
                req.name = name;
+               req.flags = 0;
 
                req.alignment = alignments[i];
                req.alignment -= req.alignment % dev_info.min_io_size;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/mtd-utils-2.1.0/tests/ubi-tests/mkvol_bad.c 
new/mtd-utils-2.1.1/tests/ubi-tests/mkvol_bad.c
--- old/mtd-utils-2.1.0/tests/ubi-tests/mkvol_bad.c     2016-07-12 
14:16:45.000000000 +0200
+++ new/mtd-utils-2.1.1/tests/ubi-tests/mkvol_bad.c     2019-06-16 
12:27:15.000000000 +0200
@@ -48,6 +48,7 @@
        req.bytes = dev_info.avail_bytes;
        req.vol_type = UBI_DYNAMIC_VOLUME;
        req.name = name;
+       req.flags = 0;
 
        /* Bad volume ID */
        req.vol_id = -2;
@@ -199,7 +200,7 @@
                         * Note, because of gluebi we may be unable to create
                         * dev_info.max_vol_count devices (MTD restrictions).
                         */
-                       if (errno == ENFILE)
+                       if (errno == ENFILE || errno == ENOSPC)
                                break;
                        failed("ubi_mkvol");
                        errorm("vol_id %d", i);
@@ -251,6 +252,7 @@
        req.bytes = dev_info.avail_bytes;
        req.vol_type = UBI_DYNAMIC_VOLUME;
        req.name = name;
+       req.flags = 0;
        if (ubi_mkvol(libubi, node, &req)) {
                failed("ubi_mkvol");
                return -1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/mtd-utils-2.1.0/tests/ubi-tests/mkvol_basic.c 
new/mtd-utils-2.1.1/tests/ubi-tests/mkvol_basic.c
--- old/mtd-utils-2.1.0/tests/ubi-tests/mkvol_basic.c   2017-09-22 
15:33:54.000000000 +0200
+++ new/mtd-utils-2.1.1/tests/ubi-tests/mkvol_basic.c   2019-06-16 
12:27:15.000000000 +0200
@@ -59,6 +59,7 @@
 
                req.vol_type = UBI_DYNAMIC_VOLUME;
                req.name = name;
+               req.flags = 0;
 
                if (ubi_mkvol(libubi, node, &req)) {
                        failed("ubi_mkvol");
@@ -101,6 +102,7 @@
        req.bytes = dev_info.avail_bytes;
        req.vol_type = UBI_DYNAMIC_VOLUME;
        req.name = name;
+       req.flags = 0;
 
        if (ubi_mkvol(libubi, node, &req)) {
                failed("ubi_mkvol");
@@ -170,12 +172,13 @@
                req.alignment = 1;
                req.bytes = 1;
                req.vol_type = UBI_STATIC_VOLUME;
+               req.flags = 0;
 
                sprintf(nm, "%s:%d", name, i);
                req.name = nm;
 
                if (ubi_mkvol(libubi, node, &req)) {
-                       if (errno == ENFILE) {
+                       if (errno == ENFILE || errno == ENOSPC) {
                                max = i;
                                break;
                        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/mtd-utils-2.1.0/tests/ubi-tests/mkvol_paral.c 
new/mtd-utils-2.1.1/tests/ubi-tests/mkvol_paral.c
--- old/mtd-utils-2.1.0/tests/ubi-tests/mkvol_paral.c   2016-07-12 
14:16:45.000000000 +0200
+++ new/mtd-utils-2.1.1/tests/ubi-tests/mkvol_paral.c   2019-06-16 
12:27:10.000000000 +0200
@@ -54,6 +54,7 @@
        req.vol_type = UBI_DYNAMIC_VOLUME;
        sprintf(nm, "%s:%d", name, n);
        req.name = nm;
+       req.flags = 0;
 
        while (iter--) {
                req.vol_id = UBI_VOL_NUM_AUTO;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/mtd-utils-2.1.0/tests/ubi-tests/rsvol.c 
new/mtd-utils-2.1.1/tests/ubi-tests/rsvol.c
--- old/mtd-utils-2.1.0/tests/ubi-tests/rsvol.c 2017-11-15 00:29:09.000000000 
+0100
+++ new/mtd-utils-2.1.1/tests/ubi-tests/rsvol.c 2019-06-16 12:27:10.000000000 
+0200
@@ -54,6 +54,7 @@
        req.bytes = MIN_AVAIL_EBS * dev_info.leb_size;
        req.vol_type = type;
        req.name = name;
+       req.flags = 0;
 
        if (ubi_mkvol(libubi, node, &req)) {
                failed("ubi_mkvol");
@@ -237,6 +238,7 @@
                req.vol_id = UBI_VOL_NUM_AUTO;
                req.vol_type = type;
                req.name = name;
+               req.flags = 0;
 
                req.alignment = alignments[i];
                req.alignment -= req.alignment % dev_info.min_io_size;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/mtd-utils-2.1.0/tests/ubi-tests/ubi-stress-test.sh.in 
new/mtd-utils-2.1.1/tests/ubi-tests/ubi-stress-test.sh.in
--- old/mtd-utils-2.1.0/tests/ubi-tests/ubi-stress-test.sh.in   2016-11-17 
12:46:31.000000000 +0100
+++ new/mtd-utils-2.1.1/tests/ubi-tests/ubi-stress-test.sh.in   2019-06-16 
12:27:18.000000000 +0200
@@ -117,7 +117,7 @@
                fm_param=
        elif [ "$fm_supported" = "yes" ]; then
                fastmap="disabled"
-               fm_param="fm_auto"
+               fm_param="fm_autoconvert"
        else
                echo "Fastmap is not supported, skip"
                return 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/mtd-utils-2.1.0/tests/ubi-tests/volrefcnt.c 
new/mtd-utils-2.1.1/tests/ubi-tests/volrefcnt.c
--- old/mtd-utils-2.1.0/tests/ubi-tests/volrefcnt.c     2016-07-12 
14:16:45.000000000 +0200
+++ new/mtd-utils-2.1.1/tests/ubi-tests/volrefcnt.c     2019-06-16 
12:27:10.000000000 +0200
@@ -67,6 +67,7 @@
        req.bytes = dev_info.leb_size;
        req.vol_type = UBI_DYNAMIC_VOLUME;
        req.name = "rmvol";
+       req.flags = 0;
 
        if (ubi_mkvol(libubi, node, &req)) {
                failed("ubi_mkvol");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/mtd-utils-2.1.0/tests/unittests/Makemodule.am 
new/mtd-utils-2.1.1/tests/unittests/Makemodule.am
--- old/mtd-utils-2.1.0/tests/unittests/Makemodule.am   2018-06-14 
22:42:39.000000000 +0200
+++ new/mtd-utils-2.1.1/tests/unittests/Makemodule.am   2019-04-25 
08:24:36.000000000 +0200
@@ -6,7 +6,7 @@
 mtdlib_test_SOURCES = tests/unittests/libmtd_test.c lib/libmtd.c 
lib/libmtd_legacy.c
 mtdlib_test_LDADD = $(CMOCKA_LIBS)
 mtdlib_test_LDFLAGS = -Wl,--wrap=open -Wl,--wrap=close -Wl,--wrap=ioctl 
-Wl,--wrap=read -Wl,--wrap=lseek -Wl,--wrap=write
-mtdlib_test_CPPFLAGS = -O0 --std=gnu99 $(CMOCKA_CFLAGS) -I$(top_srcdir)/lib/ 
-I$(top_srcdir)/include 
-DSYSFS_ROOT='"$(top_srcdir)/tests/unittests/sysfs_mock"'
+mtdlib_test_CPPFLAGS = -O0 -D_GNU_SOURCE --std=gnu99 $(CMOCKA_CFLAGS) 
-I$(top_srcdir)/lib/ -I$(top_srcdir)/include 
-DSYSFS_ROOT='"$(top_srcdir)/tests/unittests/sysfs_mock"'
 
 TEST_BINS = \
        ubilib_test \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/mtd-utils-2.1.0/tests/unittests/libmtd_test.c 
new/mtd-utils-2.1.1/tests/unittests/libmtd_test.c
--- old/mtd-utils-2.1.0/tests/unittests/libmtd_test.c   2018-06-14 
22:42:39.000000000 +0200
+++ new/mtd-utils-2.1.1/tests/unittests/libmtd_test.c   2019-04-25 
08:24:34.000000000 +0200
@@ -1,3 +1,4 @@
+#include <fcntl.h>
 #include <stdarg.h>
 #include <setjmp.h>
 #include <stddef.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/mtd-utils-2.1.0/tests/unittests/test_lib.h 
new/mtd-utils-2.1.1/tests/unittests/test_lib.h
--- old/mtd-utils-2.1.0/tests/unittests/test_lib.h      2018-03-08 
00:30:27.000000000 +0100
+++ new/mtd-utils-2.1.1/tests/unittests/test_lib.h      2019-04-25 
08:24:31.000000000 +0200
@@ -1,3 +1,4 @@
+#include <asm/ioctl.h>
 #include <stdarg.h>
 #include <setjmp.h>
 #include <stddef.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/mtd-utils-2.1.0/ubi-utils/ubiformat.c 
new/mtd-utils-2.1.1/ubi-utils/ubiformat.c
--- old/mtd-utils-2.1.0/ubi-utils/ubiformat.c   2019-01-25 12:50:13.000000000 
+0100
+++ new/mtd-utils-2.1.1/ubi-utils/ubiformat.c   2019-05-13 08:27:22.000000000 
+0200
@@ -120,6 +120,7 @@
        { .name = "ubi-ver",         .has_arg = 1, .flag = NULL, .val = 'x' },
        { .name = "help",            .has_arg = 0, .flag = NULL, .val = 'h' },
        { .name = "version",         .has_arg = 0, .flag = NULL, .val = 'V' },
+       { .name = "image-seq",       .has_arg = 1, .flag = NULL, .val = 'Q' },
        { NULL, 0, NULL, 0},
 };
 
@@ -132,7 +133,7 @@
                int key, error = 0;
                unsigned long int image_seq;
 
-               key = getopt_long(argc, argv, "nh?Vyqve:x:s:O:f:S:", 
long_options, NULL);
+               key = getopt_long(argc, argv, "nh?Vyqve:x:s:O:f:S:Q:", 
long_options, NULL);
                if (key == -1)
                        break;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/mtd-utils-2.1.0/ubi-utils/ubinize.c new/mtd-utils-2.1.1/ubi-utils/ubinize.c
--- old/mtd-utils-2.1.0/ubi-utils/ubinize.c     2018-06-28 13:50:07.000000000 
+0200
+++ new/mtd-utils-2.1.1/ubi-utils/ubinize.c     2019-07-02 14:33:02.000000000 
+0200
@@ -442,11 +442,14 @@
        verbose(args.verbose, "UBI image sequence number: %u", ui.image_seq);
 
        vtbl = ubigen_create_empty_vtbl(&ui);
-       if (!vtbl)
+       if (!vtbl) {
+               err = -1;
                goto out;
+       }
 
        args.dict = iniparser_load(args.f_in);
        if (!args.dict) {
+               err = -1;
                errmsg("cannot load the input ini file \"%s\"", args.f_in);
                goto out_vtbl;
        }
@@ -456,17 +459,20 @@
        /* Each section describes one volume */
        sects = iniparser_getnsec(args.dict);
        if (sects == -1) {
+               err = -1;
                errmsg("ini-file parsing error (iniparser_getnsec)");
                goto out_dict;
        }
 
        verbose(args.verbose, "count of sections: %d", sects);
        if (sects == 0) {
+               err = -1;
                errmsg("no sections found the ini-file \"%s\"", args.f_in);
                goto out_dict;
        }
 
        if (sects > ui.max_volumes) {
+               err = -1;
                errmsg("too many sections (%d) in the ini-file \"%s\"",
                       sects, args.f_in);
                normsg("each section corresponds to an UBI volume, maximum "
@@ -476,6 +482,7 @@
 
        vi = calloc(sizeof(struct ubigen_vol_info), sects);
        if (!vi) {
+               err = -1;
                errmsg("cannot allocate memory");
                goto out_dict;
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/mtd-utils-2.1.0/ubifs-utils/Makemodule.am 
new/mtd-utils-2.1.1/ubifs-utils/Makemodule.am
--- old/mtd-utils-2.1.0/ubifs-utils/Makemodule.am       2018-11-01 
12:42:31.000000000 +0100
+++ new/mtd-utils-2.1.1/ubifs-utils/Makemodule.am       2019-06-01 
19:38:44.000000000 +0200
@@ -22,8 +22,8 @@
                ubifs-utils/mkfs.ubifs/fscrypt.c
 endif
 
-mkfs_ubifs_LDADD = libmtd.a libubi.a $(ZLIB_LIBS) $(LZO_LIBS) $(UUID_LIBS) 
$(LIBSELINUX_LIBS) $(OPENSSL_LIBS) -lm
-mkfs_ubifs_CPPFLAGS = $(AM_CPPFLAGS) $(ZLIB_CFLAGS) $(LZO_CFLAGS) 
$(UUID_CFLAGS) $(LIBSELINUX_CFLAGS)\
+mkfs_ubifs_LDADD = libmtd.a libubi.a $(ZLIB_LIBS) $(LZO_LIBS) $(ZSTD_LIBS) 
$(UUID_LIBS) $(LIBSELINUX_LIBS) $(OPENSSL_LIBS) -lm
+mkfs_ubifs_CPPFLAGS = $(AM_CPPFLAGS) $(ZLIB_CFLAGS) $(LZO_CFLAGS) 
$(ZSTD_CFLAGS) $(UUID_CFLAGS) $(LIBSELINUX_CFLAGS)\
        -I$(top_srcdir)/ubi-utils/include 
-I$(top_srcdir)/ubifs-utils/mkfs.ubifs/
 
 UBIFS_BINS = \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/mtd-utils-2.1.0/ubifs-utils/mkfs.ubifs/compr.c 
new/mtd-utils-2.1.1/ubifs-utils/mkfs.ubifs/compr.c
--- old/mtd-utils-2.1.0/ubifs-utils/mkfs.ubifs/compr.c  2016-07-12 
14:16:45.000000000 +0200
+++ new/mtd-utils-2.1.1/ubifs-utils/mkfs.ubifs/compr.c  2019-07-16 
07:53:33.000000000 +0200
@@ -28,6 +28,9 @@
 #include <lzo/lzo1x.h>
 #endif
 #include <linux/types.h>
+#ifndef WITHOUT_ZSTD
+#include <zstd.h>
+#endif
 
 #define crc32 __zlib_crc32
 #include <zlib.h>
@@ -109,6 +112,24 @@
 }
 #endif
 
+#ifndef WITHOUT_ZSTD
+static ZSTD_CCtx *zctx;
+
+static int zstd_compress(void *in_buf, size_t in_len, void *out_buf,
+                        size_t *out_len)
+{
+       size_t ret;
+
+       ret = ZSTD_compressCCtx(zctx, out_buf, *out_len, in_buf, in_len, 0);
+       if (ZSTD_isError(ret)) {
+               errcnt += 1;
+               return -1;
+       }
+       *out_len = ret;
+       return 0;
+}
+#endif
+
 static int no_compress(void *in_buf, size_t in_len, void *out_buf,
                       size_t *out_len)
 {
@@ -192,6 +213,11 @@
                case MKFS_UBIFS_COMPR_ZLIB:
                        ret = zlib_deflate(in_buf, in_len, out_buf, out_len);
                        break;
+#ifndef WITHOUT_ZSTD
+               case MKFS_UBIFS_COMPR_ZSTD:
+                       ret = zstd_compress(in_buf, in_len, out_buf, out_len);
+                       break;
+#endif
                case MKFS_UBIFS_COMPR_NONE:
                        ret = 1;
                        break;
@@ -219,18 +245,29 @@
 #endif
 
        zlib_buf = malloc(UBIFS_BLOCK_SIZE * WORST_COMPR_FACTOR);
-       if (!zlib_buf) {
-               free(lzo_mem);
-               return -1;
-       }
+       if (!zlib_buf)
+               goto err;
+
+#ifndef WITHOUT_ZSTD
+       zctx = ZSTD_createCCtx();
+       if (!zctx)
+               goto err;
+#endif
 
        return 0;
+err:
+       free(zlib_buf);
+       free(lzo_mem);
+       return -1;
 }
 
 void destroy_compression(void)
 {
        free(zlib_buf);
        free(lzo_mem);
+#ifndef WITHOUT_ZSTD
+       ZSTD_freeCCtx(zctx);
+#endif
        if (errcnt)
                fprintf(stderr, "%llu compression errors occurred\n", errcnt);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/mtd-utils-2.1.0/ubifs-utils/mkfs.ubifs/compr.h 
new/mtd-utils-2.1.1/ubifs-utils/mkfs.ubifs/compr.h
--- old/mtd-utils-2.1.0/ubifs-utils/mkfs.ubifs/compr.h  2016-07-12 
14:16:45.000000000 +0200
+++ new/mtd-utils-2.1.1/ubifs-utils/mkfs.ubifs/compr.h  2019-06-01 
19:38:44.000000000 +0200
@@ -36,6 +36,7 @@
        MKFS_UBIFS_COMPR_NONE,
        MKFS_UBIFS_COMPR_LZO,
        MKFS_UBIFS_COMPR_ZLIB,
+       MKFS_UBIFS_COMPR_ZSTD,
 };
 
 int compress_data(void *in_buf, size_t in_len, void *out_buf, size_t *out_len,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/mtd-utils-2.1.0/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c 
new/mtd-utils-2.1.1/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c
--- old/mtd-utils-2.1.0/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c     2019-02-11 
04:58:33.000000000 +0100
+++ new/mtd-utils-2.1.1/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c     2019-07-18 
11:45:37.000000000 +0200
@@ -35,6 +35,10 @@
 #include <selinux/label.h>
 #endif
 
+#ifndef WITHOUT_ZSTD
+#include <zstd.h>
+#endif
+
 #include "crypto.h"
 #include "fscrypt.h"
 
@@ -209,8 +213,8 @@
 "-o, --output=FILE        output to FILE\n"
 "-j, --jrn-size=SIZE      journal size\n"
 "-R, --reserved=SIZE      how much space should be reserved for the 
super-user\n"
-"-x, --compr=TYPE         compression type - \"lzo\", \"favor_lzo\", \"zlib\" 
or\n"
-"                         \"none\" (default: \"lzo\")\n"
+"-x, --compr=TYPE         compression type - \"lzo\", \"favor_lzo\", 
\"zlib\"\n"
+"                         \"zstd\" or \"none\" (default: \"lzo\")\n"
 "-X, --favor-percent      may only be used with favor LZO compression and 
defines\n"
 "                         how many percent better zlib should compress to 
make\n"
 "                         mkfs.ubifs use zlib instead of LZO (default 20%)\n"
@@ -246,8 +250,8 @@
 "really a separate compressor. It is just a method of combining \"lzo\" and 
\"zlib\"\n"
 "compressors. Namely, mkfs.ubifs tries to compress data with both \"lzo\" and 
\"zlib\"\n"
 "compressors, then it compares which compressor is better. If \"zlib\" 
compresses 20\n"
-"or more percent better than \"lzo\", mkfs.ubifs chooses \"lzo\", otherwise it 
chooses\n"
-"\"zlib\". The \"--favor-percent\" may specify arbitrary threshold instead of 
the\n"
+"or more percent better than \"lzo\", mkfs.ubifs chooses \"zlib\", otherwise 
it chooses\n"
+"\"lzo\". The \"--favor-percent\" may specify arbitrary threshold instead of 
the\n"
 "default 20%.\n\n"
 "The -F parameter is used to set the \"fix up free space\" flag in the 
superblock,\n"
 "which forces UBIFS to \"fixup\" all the free space which it is going to use. 
This\n"
@@ -654,6 +658,10 @@
                                c->default_compr = UBIFS_COMPR_NONE;
                        else if (strcmp(optarg, "zlib") == 0)
                                c->default_compr = UBIFS_COMPR_ZLIB;
+#ifndef WITHOUT_ZSTD
+                       else if (strcmp(optarg, "zstd") == 0)
+                               c->default_compr = UBIFS_COMPR_ZSTD;
+#endif
 #ifndef WITHOUT_LZO
                        else if (strcmp(optarg, "favor_lzo") == 0) {
                                c->default_compr = UBIFS_COMPR_LZO;
@@ -1531,12 +1539,13 @@
        ino->flags      = cpu_to_le32(use_flags);
        ino->compr_type = cpu_to_le16(c->default_compr);
        if (data_len) {
-               if (!S_ISLNK(st->st_mode))
-                       return err_msg("Expected symlink");
-
                if (!fctx) {
                        memcpy(&ino->data, data, data_len);
                } else {
+                       /* TODO: what about device files? */
+                       if (!S_ISLNK(st->st_mode))
+                               return err_msg("Expected symlink");
+
                        ret = encrypt_symlink(&ino->data, data, data_len, fctx);
                        if (ret < 0)
                                return ret;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/mtd-utils-2.1.0/ubifs-utils/mkfs.ubifs/mkfs.ubifs.h 
new/mtd-utils-2.1.1/ubifs-utils/mkfs.ubifs/mkfs.ubifs.h
--- old/mtd-utils-2.1.0/ubifs-utils/mkfs.ubifs/mkfs.ubifs.h     2018-11-01 
12:32:28.000000000 +0100
+++ new/mtd-utils-2.1.1/ubifs-utils/mkfs.ubifs/mkfs.ubifs.h     2019-06-01 
19:38:44.000000000 +0200
@@ -46,7 +46,9 @@
 #include <uuid.h>
 #include <sys/file.h>
 
+#ifdef WITH_CRYPTO
 #include <openssl/rand.h>
+#endif
 
 #include <mtd/ubifs-media.h>
 
@@ -75,6 +77,9 @@
 #if MKFS_UBIFS_COMPR_ZLIB != UBIFS_COMPR_ZLIB
 #error MKFS_UBIFS_COMPR_ZLIB != UBIFS_COMPR_ZLIB
 #endif
+#if MKFS_UBIFS_COMPR_ZSTD != UBIFS_COMPR_ZSTD
+#error MKFS_UBIFS_COMPR_ZSTD != UBIFS_COMPR_ZSTD
+#endif
 
 extern int verbose;
 extern int debug_level;



Reply via email to