Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package fsarchiver for openSUSE:Factory 
checked in at 2023-03-21 17:41:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fsarchiver (Old)
 and      /work/SRC/openSUSE:Factory/.fsarchiver.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "fsarchiver"

Tue Mar 21 17:41:51 2023 rev:28 rq:1073260 version:0.8.7

Changes:
--------
--- /work/SRC/openSUSE:Factory/fsarchiver/fsarchiver.changes    2021-03-02 
12:46:16.624398069 +0100
+++ /work/SRC/openSUSE:Factory/.fsarchiver.new.31432/fsarchiver.changes 
2023-03-21 17:41:52.769931123 +0100
@@ -1,0 +2,12 @@
+Mon Mar 20 09:37:26 UTC 2023 - Michael Vetter <mvet...@suse.com>
+
+- Update to 0.8.7:
+  * Implement support for option "uuid=" for vfat
+  * Update list of btrfs supported features
+  * Add support for the "nrext64" feature on XFS
+  * Do not error out on deleted files when option -A is used
+  * Handle termination by signal in exec_command()
+  * Add support for the "orphan_file" feature in EXT4
+  * Do not try to save xattrs if not supported by the filesystem
+
+-------------------------------------------------------------------

Old:
----
  fsarchiver-0.8.6.tar.gz

New:
----
  fsarchiver-0.8.7.tar.gz

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

Other differences:
------------------
++++++ fsarchiver.spec ++++++
--- /var/tmp/diff_new_pack.PB40Tq/_old  2023-03-21 17:41:53.369933993 +0100
+++ /var/tmp/diff_new_pack.PB40Tq/_new  2023-03-21 17:41:53.377934031 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package fsarchiver
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2023 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:           fsarchiver
-Version:        0.8.6
+Version:        0.8.7
 Release:        0
 Summary:        Filesystem Archiver
 License:        GPL-2.0-only

++++++ fsarchiver-0.8.6.tar.gz -> fsarchiver-0.8.7.tar.gz ++++++
++++ 3040 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/fsarchiver-0.8.6/ChangeLog new/fsarchiver-0.8.7/ChangeLog
--- old/fsarchiver-0.8.6/ChangeLog      2021-02-27 12:54:56.000000000 +0100
+++ new/fsarchiver-0.8.7/ChangeLog      2023-03-19 14:53:17.000000000 +0100
@@ -1,5 +1,13 @@
 fsarchiver: Filesystem Archiver for Linux [http://www.fsarchiver.org]
 =====================================================================
+* 0.8.7 (2023-03-19):
+  - Implement support for option "uuid=" for vfat (Marcos Mello)
+  - Update list of btrfs supported features (Marcos Mello)
+  - Add support for the "nrext64" feature on XFS (Marcos Mello)
+  - Do not error out on deleted files when option -A is used (Marcos Mello)
+  - Handle termination by signal in exec_command() (Marcos Mello)
+  - Add support for the "orphan_file" feature in EXT4 (Marcos Mello)
+  - Do not try to save xattrs if not supported by the filesystem (Marcos Mello)
 * 0.8.6 (2021-02-27):
   - Add support for EXT4 fast_commit feature (Marcos Mello)
   - Add support for XFS features inobtcount and bigtime (Marcos Mello)
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/fsarchiver-0.8.6/INSTALL new/fsarchiver-0.8.7/INSTALL
--- old/fsarchiver-0.8.6/INSTALL        2021-02-27 12:56:08.000000000 +0100
+++ new/fsarchiver-0.8.7/INSTALL        2023-03-19 14:56:47.000000000 +0100
@@ -1,8 +1,8 @@
 Installation Instructions
 *************************
 
-   Copyright (C) 1994-1996, 1999-2002, 2004-2016 Free Software
-Foundation, Inc.
+   Copyright (C) 1994-1996, 1999-2002, 2004-2017, 2020-2021 Free
+Software Foundation, Inc.
 
    Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -225,7 +225,7 @@
 
 and if that doesn't work, install pre-built binaries of GCC for HP-UX.
 
-   HP-UX 'make' updates targets which have the same time stamps as their
+   HP-UX 'make' updates targets which have the same timestamps as their
 prerequisites, which makes it generally unusable when shipped generated
 files such as 'configure' are involved.  Use GNU 'make' instead.
 
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/fsarchiver-0.8.6/compile new/fsarchiver-0.8.7/compile
--- old/fsarchiver-0.8.6/compile        2021-02-27 12:56:08.000000000 +0100
+++ new/fsarchiver-0.8.7/compile        2023-03-19 14:56:47.000000000 +0100
@@ -3,7 +3,7 @@
 
 scriptversion=2018-03-07.03; # UTC
 
-# Copyright (C) 1999-2020 Free Software Foundation, Inc.
+# Copyright (C) 1999-2021 Free Software Foundation, Inc.
 # Written by Tom Tromey <tro...@cygnus.com>.
 #
 # This program is free software; you can redistribute it and/or modify
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/fsarchiver-0.8.6/configure.ac new/fsarchiver-0.8.7/configure.ac
--- old/fsarchiver-0.8.6/configure.ac   2021-02-27 12:55:56.000000000 +0100
+++ new/fsarchiver-0.8.7/configure.ac   2023-03-19 14:53:17.000000000 +0100
@@ -3,8 +3,8 @@
 
 AC_PREREQ(2.59)
 
-AC_INIT([fsarchiver], 0.8.6)
-AC_DEFINE([PACKAGE_RELDATE], "2021-02-27", [Define the date of the release])
+AC_INIT([fsarchiver], 0.8.7)
+AC_DEFINE([PACKAGE_RELDATE], "2023-03-19", [Define the date of the release])
 AC_DEFINE([PACKAGE_FILEFMT], "FsArCh_002", [Define the version of the file 
format])
 AC_DEFINE([PACKAGE_VERSION_A], 0, [Major version number])
 AC_DEFINE([PACKAGE_VERSION_B], 8, [Medium version number])
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/fsarchiver-0.8.6/distrib/rpm/fsarchiver.spec 
new/fsarchiver-0.8.7/distrib/rpm/fsarchiver.spec
--- old/fsarchiver-0.8.6/distrib/rpm/fsarchiver.spec    2020-05-08 
20:00:34.000000000 +0200
+++ new/fsarchiver-0.8.7/distrib/rpm/fsarchiver.spec    2023-03-19 
14:54:55.000000000 +0100
@@ -1,5 +1,5 @@
 Name:          fsarchiver
-Version:       0.8.6
+Version:       0.8.7
 Release:       1%{?dist}
 Summary:       Safe and flexible file-system backup/deployment tool
 
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/fsarchiver-0.8.6/doc/fsarchiver.8 new/fsarchiver-0.8.7/doc/fsarchiver.8
--- old/fsarchiver-0.8.6/doc/fsarchiver.8       2020-09-13 17:49:37.000000000 
+0200
+++ new/fsarchiver-0.8.7/doc/fsarchiver.8       2023-03-19 14:12:31.000000000 
+0100
@@ -131,7 +131,8 @@
 during the backup. Modifications can drive to inconsistencies in the
 backup. Using LVM snapshots is the recommended way to make backups since it
 will provide consistency, but it is only available for filesystems which
-are on LVM logical volumes.
+are on LVM logical volumes. Deleted files during the backup process are
+ignored when this option is used.
 .IP "\fB\-a, \-\-allow-no-acl-xattr\fP"
 Allow to save a filesystem when ACLs and extended attributes are not
 supported (or are disabled) by the kernel. By default fsarchiver fails with
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/fsarchiver-0.8.6/missing new/fsarchiver-0.8.7/missing
--- old/fsarchiver-0.8.6/missing        2021-02-27 12:56:08.000000000 +0100
+++ new/fsarchiver-0.8.7/missing        2023-03-19 14:56:47.000000000 +0100
@@ -3,7 +3,7 @@
 
 scriptversion=2018-03-07.03; # UTC
 
-# Copyright (C) 1996-2020 Free Software Foundation, Inc.
+# Copyright (C) 1996-2021 Free Software Foundation, Inc.
 # Originally written by Fran,cois Pinard <pin...@iro.umontreal.ca>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
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/fsarchiver-0.8.6/src/common.c new/fsarchiver-0.8.7/src/common.c
--- old/fsarchiver-0.8.6/src/common.c   2020-05-08 20:00:34.000000000 +0200
+++ new/fsarchiver-0.8.7/src/common.c   2023-03-19 14:12:31.000000000 +0100
@@ -261,7 +261,6 @@
 {
     char pathtest[PATH_MAX];
     char delims[]=":\t\n";
-    struct stat bufstat;
     char pathenv[4096];
     char *saveptr=0;
     char *result;
@@ -276,7 +275,7 @@
     for(i=0; result != NULL; i++)
     {
         snprintf(pathtest, sizeof(pathtest), "%s/%s", result, prog);
-        if (stat(pathtest, &bufstat)==0 && access(pathtest, X_OK)==0)
+        if (access(pathtest, X_OK)==0)
         {
             snprintf(buffer, bufsize, "%s", pathtest);
             return 0;
@@ -403,9 +402,10 @@
         if ((stderrbuf!=NULL) && (errpos+1 < stderrsize))
             read(mystderr, stderrbuf+errpos, stderrsize-errpos-1);
         
-        msgprintf(MSG_VERB1, "command [%s] returned %d\n", command, 
WEXITSTATUS(status));
+        status = WIFSIGNALED(status) ? 128 + WTERMSIG(status) : 
WEXITSTATUS(status);
+        msgprintf(MSG_VERB1, "command [%s] returned %d\n", command, status);
         if (exitst)
-            *exitst=WEXITSTATUS(status);
+            *exitst=status;
         
         if ((stdoutbuf!=NULL) && (outpos>0))
             msgprintf(MSG_DEBUG1, "\n----stdout----\n%s\n----stdout----\n\n", 
stdoutbuf);
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/fsarchiver-0.8.6/src/fs_btrfs.h new/fsarchiver-0.8.7/src/fs_btrfs.h
--- old/fsarchiver-0.8.6/src/fs_btrfs.h 2020-05-08 20:00:34.000000000 +0200
+++ new/fsarchiver-0.8.7/src/fs_btrfs.h 2023-03-19 14:12:31.000000000 +0100
@@ -29,33 +29,48 @@
 int btrfs_get_reqmntopt(char *partition, struct s_strlist *reqopt, struct 
s_strlist *badopt);
 int btrfs_test(char *devname);
 
-// compat flags: official definition from linux-3.14/fs/btrfs/ctree.h
+// compat flags: official definition from linux-5.15/fs/btrfs/ctree.h
+// and linux-5.15/include/uapi/linux/btrfs.h
+#define BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE        (1ULL << 0)
+#define BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID  (1ULL << 1)
+#define BTRFS_FEATURE_COMPAT_RO_VERITY                 (1ULL << 2)
+
 #define BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF    (1ULL << 0)
 #define BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL   (1ULL << 1)
 #define BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS     (1ULL << 2)
 #define BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO     (1ULL << 3)
-#define BTRFS_FEATURE_INCOMPAT_COMPRESS_LZOv2   (1ULL << 4)
+#define BTRFS_FEATURE_INCOMPAT_COMPRESS_ZSTD    (1ULL << 4)
 #define BTRFS_FEATURE_INCOMPAT_BIG_METADATA     (1ULL << 5)
 #define BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF    (1ULL << 6)
 #define BTRFS_FEATURE_INCOMPAT_RAID56           (1ULL << 7)
 #define BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA  (1ULL << 8)
 #define BTRFS_FEATURE_INCOMPAT_NO_HOLES         (1ULL << 9)
+#define BTRFS_FEATURE_INCOMPAT_METADATA_UUID    (1ULL << 10)
+#define BTRFS_FEATURE_INCOMPAT_RAID1C34         (1ULL << 11)
+#define BTRFS_FEATURE_INCOMPAT_ZONED            (1ULL << 12)
 
 // compat flags: btrfs features that this fsarchiver version supports
 #define FSA_BTRFS_FEATURE_COMPAT_SUPP           0ULL
-#define FSA_BTRFS_FEATURE_COMPAT_RO_SUPP        0ULL
+
+#define FSA_BTRFS_FEATURE_COMPAT_RO_SUPP                 \
+        (BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE |       \
+         BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID | \
+         BTRFS_FEATURE_COMPAT_RO_VERITY)
+
 #define FSA_BTRFS_FEATURE_INCOMPAT_SUPP                 \
         (BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF |         \
          BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL |        \
          BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS |          \
          BTRFS_FEATURE_INCOMPAT_BIG_METADATA |          \
          BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO |          \
-         BTRFS_FEATURE_INCOMPAT_COMPRESS_LZOv2 |        \
+         BTRFS_FEATURE_INCOMPAT_COMPRESS_ZSTD |         \
          BTRFS_FEATURE_INCOMPAT_RAID56 |                \
          BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF |         \
          BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA |       \
-         BTRFS_FEATURE_INCOMPAT_NO_HOLES)
-
+         BTRFS_FEATURE_INCOMPAT_NO_HOLES |              \
+         BTRFS_FEATURE_INCOMPAT_METADATA_UUID |         \
+         BTRFS_FEATURE_INCOMPAT_RAID1C34 |              \
+         BTRFS_FEATURE_INCOMPAT_ZONED)
 
 // disk layout definitions
 #define BTRFS_SUPER_MAGIC 0x9123683E
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/fsarchiver-0.8.6/src/fs_ext2.c new/fsarchiver-0.8.7/src/fs_ext2.c
--- old/fsarchiver-0.8.6/src/fs_ext2.c  2021-02-21 09:54:32.000000000 +0100
+++ new/fsarchiver-0.8.7/src/fs_ext2.c  2023-03-19 14:12:31.000000000 +0100
@@ -59,7 +59,7 @@
 // us and therefore is not preserved (i.e. present in 
FSA_FEATURE_INCOMPAT_SUPP but not listed
 // below). Users can easily enable it with tune2fs if desired.
 //
-struct s_features mkfeatures[] = // cf e2fsprogs-1.46.0/lib/e2p/feature.c
+struct s_features mkfeatures[] = // cf e2fsprogs-1.47.0/lib/e2p/feature.c
 {
     {"has_journal",   FSA_EXT3_FEATURE_COMPAT_HAS_JOURNAL,      
E2P_FEATURE_COMPAT,      EXTFSTYPE_EXT3, PROGVER(1,39,0)},
     {"ext_attr",      FSA_EXT2_FEATURE_COMPAT_EXT_ATTR,         
E2P_FEATURE_COMPAT,      EXTFSTYPE_EXT2, PROGVER(1,40,5)},
@@ -67,6 +67,7 @@
     {"dir_index",     FSA_EXT2_FEATURE_COMPAT_DIR_INDEX,        
E2P_FEATURE_COMPAT,      EXTFSTYPE_EXT2, PROGVER(1,33,0)},
     {"sparse_super2", FSA_EXT4_FEATURE_COMPAT_SPARSE_SUPER2,    
E2P_FEATURE_COMPAT,      EXTFSTYPE_EXT4, PROGVER(1,42,10)},
     {"fast_commit",   FSA_EXT4_FEATURE_COMPAT_FAST_COMMIT,      
E2P_FEATURE_COMPAT,      EXTFSTYPE_EXT4, PROGVER(1,46,0)},
+    {"orphan_file",   FSA_EXT4_FEATURE_COMPAT_ORPHAN_FILE,      
E2P_FEATURE_COMPAT,      EXTFSTYPE_EXT4, PROGVER(1,47,0)},
     {"filetype",      FSA_EXT2_FEATURE_INCOMPAT_FILETYPE,       
E2P_FEATURE_INCOMPAT,    EXTFSTYPE_EXT2, PROGVER(1,16,0)},
     {"extent",        FSA_EXT4_FEATURE_INCOMPAT_EXTENTS,        
E2P_FEATURE_INCOMPAT,    EXTFSTYPE_EXT4, PROGVER(1,41,0)},
     {"journal_dev",   FSA_EXT3_FEATURE_INCOMPAT_JOURNAL_DEV,    
E2P_FEATURE_INCOMPAT,    EXTFSTYPE_EXT3, PROGVER(1,39,0)},
@@ -176,7 +177,6 @@
     u64 temp64;
     int exitst;
     int ret=0;
-    int res;
     int i;
 
     // init
@@ -413,7 +413,7 @@
         // http://marc.info/?l=linux-ext4&m=123246035924487&w=2
         if (extfstype==EXTFSTYPE_EXT4 && !mke2fsuuid)
         {
-            if ( ((res=exec_command(command, sizeof(command), &exitst, NULL, 
0, NULL, 0, "e2fsck -fy %s", partition))!=0) || ((exitst!=0) && (exitst!=1)) )
+            if (exec_command(command, sizeof(command), &exitst, NULL, 0, NULL, 
0, "e2fsck -fy %s", partition)!=0 || (exitst!=0 && exitst!=1))
             {   errprintf("command [%s] failed with return status=%d\n", 
command, exitst);
                 ret=-1;
                 goto extfs_mkfs_cleanup;
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/fsarchiver-0.8.6/src/fs_ext2.h new/fsarchiver-0.8.7/src/fs_ext2.h
--- old/fsarchiver-0.8.6/src/fs_ext2.h  2021-02-21 09:54:32.000000000 +0100
+++ new/fsarchiver-0.8.7/src/fs_ext2.h  2023-03-19 14:12:31.000000000 +0100
@@ -49,6 +49,7 @@
 #define FSA_EXT4_FEATURE_COMPAT_SPARSE_SUPER2      0x0200
 #define FSA_EXT4_FEATURE_COMPAT_FAST_COMMIT        0x0400
 #define FSA_EXT4_FEATURE_COMPAT_STABLE_INODES      0x0800
+#define FSA_EXT4_FEATURE_COMPAT_ORPHAN_FILE        0x1000
 
 /* for s_feature_ro_compat */
 #define FSA_EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER    0x0001
@@ -63,6 +64,7 @@
 #define FSA_EXT4_FEATURE_RO_COMPAT_METADATA_CSUM   0x0400
 #define FSA_EXT4_FEATURE_RO_COMPAT_READONLY        0x1000
 #define FSA_EXT4_FEATURE_RO_COMPAT_PROJECT         0x2000
+#define FSA_EXT4_FEATURE_RO_COMPAT_ORPHAN_PRESENT  0x10000
 
 /* for s_feature_incompat */
 #define FSA_EXT2_FEATURE_INCOMPAT_FILETYPE         0x0002
@@ -109,7 +111,8 @@
                                                          
FSA_EXT2_FEATURE_COMPAT_DIR_INDEX|\
                                                          
FSA_EXT2_FEATURE_COMPAT_LAZY_BG|\
                                                          
FSA_EXT4_FEATURE_COMPAT_SPARSE_SUPER2|\
-                                                         
FSA_EXT4_FEATURE_COMPAT_FAST_COMMIT)
+                                                         
FSA_EXT4_FEATURE_COMPAT_FAST_COMMIT|\
+                                                         
FSA_EXT4_FEATURE_COMPAT_ORPHAN_FILE)
 #define FSA_FEATURE_RO_COMPAT_SUPP                 
(u64)(FSA_EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER|\
                                                          
FSA_EXT2_FEATURE_RO_COMPAT_LARGE_FILE|\
                                                          
FSA_EXT2_FEATURE_RO_COMPAT_BTREE_DIR|\
@@ -121,7 +124,8 @@
                                                          
FSA_EXT4_FEATURE_RO_COMPAT_BIGALLOC|\
                                                          
FSA_EXT4_FEATURE_RO_COMPAT_METADATA_CSUM|\
                                                          
FSA_EXT4_FEATURE_RO_COMPAT_READONLY|\
-                                                         
FSA_EXT4_FEATURE_RO_COMPAT_PROJECT)
+                                                         
FSA_EXT4_FEATURE_RO_COMPAT_PROJECT|\
+                                                         
FSA_EXT4_FEATURE_RO_COMPAT_ORPHAN_PRESENT)
 #define FSA_FEATURE_INCOMPAT_SUPP                  
(u64)(FSA_EXT2_FEATURE_INCOMPAT_FILETYPE|\
                                                          
FSA_EXT3_FEATURE_INCOMPAT_RECOVER|\
                                                          
FSA_EXT3_FEATURE_INCOMPAT_JOURNAL_DEV|\
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/fsarchiver-0.8.6/src/fs_vfat.c new/fsarchiver-0.8.7/src/fs_vfat.c
--- old/fsarchiver-0.8.6/src/fs_vfat.c  2020-05-10 10:43:28.000000000 +0200
+++ new/fsarchiver-0.8.7/src/fs_vfat.c  2023-03-19 14:12:31.000000000 +0100
@@ -65,7 +65,9 @@
         strlcatf(mkfsopts, sizeof(mkfsopts), " -n '%.11s' ", buffer);
 
     // ---- filesystem serial
-    if (dico_get_u32(d, 0, FSYSHEADKEY_FSVFATSERIAL, &temp32)==0)
+    if (strlen(mkfsuuid) > 0)
+        strlcatf(mkfsopts, sizeof(mkfsopts), " -i '%.8s' ", mkfsuuid);
+    else if (dico_get_u32(d, 0, FSYSHEADKEY_FSVFATSERIAL, &temp32)==0)
         strlcatf(mkfsopts, sizeof(mkfsopts), " -i '%08X' ", temp32);
 
     // ---- mkfsopt from command line
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/fsarchiver-0.8.6/src/fs_xfs.c new/fsarchiver-0.8.7/src/fs_xfs.c
--- old/fsarchiver-0.8.6/src/fs_xfs.c   2021-02-21 09:54:32.000000000 +0100
+++ new/fsarchiver-0.8.7/src/fs_xfs.c   2023-03-19 14:12:31.000000000 +0100
@@ -170,8 +170,7 @@
     }
 
     // Determine if the "rmapbt" mkfs option should be enabled (reverse 
mapping btree)
-    // - starting with linux-4.8 XFS has added a btree that maps filesystem 
blocks to
-    //   their owner
+    // - starting with linux-4.8 XFS has added a btree that maps filesystem 
blocks to their owner
     // - this feature relies on the V5 on-disk format but it is optional
     // - this feature will be enabled if the original filesystem was XFS V5 
and had it
     if (xfstoolsver >= PROGVER(4,8,0)) // only use "rmapbt" option when it is 
supported by mkfs
@@ -196,6 +195,7 @@
     //   to reduce mount times
     // - this optional feature relies on the V5 on-disk format and on the 
"finobt"
     //   (free inode btree) mkfs option being enabled
+    // - this feature is enabled by default when using xfsprogs-5.15.0 or later
     // - this feature will be enabled if the original filesystem was XFS V5 
and had it
     if (xfstoolsver >= PROGVER(5,10,0)) // only use "inobtcount" option when 
it is supported by mkfs
     {
@@ -206,6 +206,7 @@
     // Determine if the "bigtime" mkfs option should be enabled (large 
timestamps)
     // - starting with linux-5.10 XFS has added support for larger inode 
timestamps, beyond january 2038
     // - this feature relies on the V5 on-disk format but it is optional
+    // - this feature is enabled by default when using xfsprogs-5.15.0 or later
     // - this feature will be enabled if the original filesystem was XFS V5 
and had it
     if (xfstoolsver >= PROGVER(5,10,0)) // only use "bigtime" option when it 
is supported by mkfs
     {
@@ -262,6 +263,16 @@
         strlcatf(mkfsopts, sizeof(mkfsopts), " -i sparse=%d ", (int)optval);
     }
 
+    // Determine if the "nrext64" mkfs option should be enabled (large extent 
counters)
+    // - starting with linux-5.19 XFS has added support for larger number of 
per-file extents
+    // - this feature relies on the V5 on-disk format but it is optional
+    // - this feature will be enabled if the original filesystem was XFS V5 
and had it
+    if (xfstoolsver >= PROGVER(5,19,0)) // only use "nrext64" option when it 
is supported by mkfs
+    {
+        optval = ((xfsver==XFS_SB_VERSION_5) && (sb_features_incompat & 
XFS_SB_FEAT_INCOMPAT_NREXT64));
+        strlcatf(mkfsopts, sizeof(mkfsopts), " -i nrext64=%d ", (int)optval);
+    }
+
     // ---- mkfsopt from command line
     strlcatf(mkfsopts, sizeof(mkfsopts), " %s ", fsoptions);
 
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/fsarchiver-0.8.6/src/fs_xfs.h new/fsarchiver-0.8.7/src/fs_xfs.h
--- old/fsarchiver-0.8.6/src/fs_xfs.h   2021-02-21 09:54:33.000000000 +0100
+++ new/fsarchiver-0.8.7/src/fs_xfs.h   2023-03-19 14:12:31.000000000 +0100
@@ -190,6 +190,8 @@
 #define XFS_SB_FEAT_INCOMPAT_SPINODES     (1 << 1)  /* sparse inode chunks */
 #define XFS_SB_FEAT_INCOMPAT_META_UUID    (1 << 2)  /* metadata UUID */
 #define XFS_SB_FEAT_INCOMPAT_BIGTIME      (1 << 3)  /* large timestamps */
+#define XFS_SB_FEAT_INCOMPAT_NEEDSREPAIR  (1 << 4)  /* needs xfs_repair */
+#define XFS_SB_FEAT_INCOMPAT_NREXT64      (1 << 5)  /* large extent counters */
 
 // features supported by the current fsarchiver version
 #define FSA_XFS_FEATURE_COMPAT_SUPP       (u64)(0)
@@ -200,7 +202,9 @@
 #define FSA_XFS_FEATURE_INCOMPAT_SUPP     (u64)(XFS_SB_FEAT_INCOMPAT_FTYPE|\
                                                 XFS_SB_FEAT_INCOMPAT_SPINODES|\
                                                 
XFS_SB_FEAT_INCOMPAT_META_UUID|\
-                                                XFS_SB_FEAT_INCOMPAT_BIGTIME)
+                                                XFS_SB_FEAT_INCOMPAT_BIGTIME|\
+                                                
XFS_SB_FEAT_INCOMPAT_NEEDSREPAIR|\
+                                                XFS_SB_FEAT_INCOMPAT_NREXT64)
 #define FSA_XFS_FEATURE_LOG_INCOMPAT_SUPP (u64)(0)
 
 #endif // __FS_XFS_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/fsarchiver-0.8.6/src/oper_save.c new/fsarchiver-0.8.7/src/oper_save.c
--- old/fsarchiver-0.8.6/src/oper_save.c        2020-05-08 20:00:34.000000000 
+0200
+++ new/fsarchiver-0.8.7/src/oper_save.c        2023-03-19 14:12:31.000000000 
+0100
@@ -615,9 +615,14 @@
     }
     
     // ---- backup other file attributes (xattr + winattr)
-    if (createar_item_xattr(save, root, relpath, statbuf, dicoattr)!=0)
-    {   msgprintf(MSG_STACK, "backup_item_xattr() failed: cannot prepare 
xattr-dico for item %s\n", relpath);
-        attrerrors++;
+    // selinux can present fake xattrs
+    // do not try to save them if not supported by the filesystem, otherwise 
restoration will fail
+    if (filesys[save->fstype].support_for_xattr==true)
+    {
+        if (createar_item_xattr(save, root, relpath, statbuf, dicoattr)!=0)
+        {   msgprintf(MSG_STACK, "backup_item_xattr() failed: cannot prepare 
xattr-dico for item %s\n", relpath);
+            attrerrors++;
+        }
     }
     
     if (filesys[save->fstype].winattr==true)
@@ -778,9 +783,16 @@
         
         // ---- get details about current file
         if (lstat64(fullpath, &statbuf)!=0)
-        {   sysprintf("cannot lstat64(%s)\n", fullpath);
-            ret=-1;
-            goto backup_dir_err;
+        {
+            if (g_options.allowsaverw==0)
+            {   sysprintf("cannot lstat64(%s)\n", fullpath);
+                ret=-1;
+                goto backup_dir_err;
+            }
+            else
+            {   sysprintf("cannot lstat64(%s), ignoring\n", fullpath);
+                continue; // not a fatal error with option '-A'
+            }
         }
         
         // check the list of excluded files/dirs

Reply via email to