From eb09bb3cfe7d748f2a97ea4cc026aeac2c2391bc Mon Sep 17 00:00:00 2001 From: lunik1 Date: Sun, 25 Dec 2022 18:02:46 +0000 Subject: [PATCH] =?UTF-8?q?xfsdump:=203.1.10=20=E2=86=92=203.1.12?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/tools/filesystems/xfsdump/default.nix | 9 +- .../filesystems/xfsdump/remove-dmapapi.patch | 322 ------------------ 2 files changed, 2 insertions(+), 329 deletions(-) delete mode 100644 pkgs/tools/filesystems/xfsdump/remove-dmapapi.patch diff --git a/pkgs/tools/filesystems/xfsdump/default.nix b/pkgs/tools/filesystems/xfsdump/default.nix index 499179548d83..a6867e3c0a5f 100644 --- a/pkgs/tools/filesystems/xfsdump/default.nix +++ b/pkgs/tools/filesystems/xfsdump/default.nix @@ -13,11 +13,11 @@ stdenv.mkDerivation rec { pname = "xfsdump"; - version = "3.1.10"; + version = "3.1.12"; src = fetchurl { url = "mirror://kernel/linux/utils/fs/xfs/${pname}/${pname}-${version}.tar.xz"; - sha256 = "sha256-mqt6U6oFzUbtyXJp6/FFaqsrYKuMH/+q+KpJLwtfZRc="; + sha256 = "sha256-85xMGzBrLdfsl5wOlNYP5pCD0uz5rwUcrF7zvtdyx0o="; }; nativeBuildInputs = [ @@ -33,11 +33,6 @@ stdenv.mkDerivation rec { ncurses ]; - # fixes build against xfsprogs >= 5.18 - # taken from https://lore.kernel.org/linux-xfs/20220203174540.GT8313@magnolia/ - # should be included upsteam next release - patches = [ ./remove-dmapapi.patch ]; - postPatch = '' substituteInPlace Makefile \ --replace "cp include/install-sh ." "cp -f include/install-sh ." diff --git a/pkgs/tools/filesystems/xfsdump/remove-dmapapi.patch b/pkgs/tools/filesystems/xfsdump/remove-dmapapi.patch deleted file mode 100644 index ebfb3e19dfd8..000000000000 --- a/pkgs/tools/filesystems/xfsdump/remove-dmapapi.patch +++ /dev/null @@ -1,322 +0,0 @@ -diff --git a/doc/xfsdump.html b/doc/xfsdump.html -index d4d157f..2c9324b 100644 ---- a/doc/xfsdump.html -+++ b/doc/xfsdump.html -@@ -1092,7 +1092,6 @@ the size of the hash table. - bool_t p_ownerpr - whether to restore directory owner/group attributes - bool_t p_fullpr - whether restoring a full level 0 non-resumed dump - bool_t p_ignoreorphpr - set if positive subtree or interactive -- bool_t p_restoredmpr - restore DMI event settings - -

- The hash table maps the inode number to the tree node. It is a -diff --git a/po/de.po b/po/de.po -index 62face8..bdf47d1 100644 ---- a/po/de.po -+++ b/po/de.po -@@ -3972,11 +3972,6 @@ msgstr "" - msgid "no additional media objects needed\n" - msgstr "keine zusätzlichen Mediendateien benötigt\n" - --#: .././restore/content.c:9547 --#, c-format --msgid "fssetdm_by_handle of %s failed %s\n" --msgstr "fssetdm_by_handle von %s fehlgeschlagen %s\n" -- - #: .././restore/content.c:9566 - #, c-format - msgid "%s quota information written to '%s'\n" -diff --git a/po/pl.po b/po/pl.po -index 3cba8d6..ba25420 100644 ---- a/po/pl.po -+++ b/po/pl.po -@@ -3455,11 +3455,6 @@ msgstr "nie są potrzebne dodatkowe obiekty nośnika\n" - msgid "path_to_handle of %s failed:%s\n" - msgstr "path_to_handle na %s nie powiodło się: %s\n" - --#: .././restore/content.c:9723 --#, c-format --msgid "fssetdm_by_handle of %s failed %s\n" --msgstr "fssetdm_by_handle na %s nie powiodło się: %s\n" -- - #: .././restore/content.c:9742 - #, c-format - msgid "%s quota information written to '%s'\n" -diff --git a/restore/content.c b/restore/content.c -index 6b22965..e9b0a07 100644 ---- a/restore/content.c -+++ b/restore/content.c -@@ -477,9 +477,6 @@ struct pers { - /* how many pages following the header page are reserved - * for the subtree descriptors - */ -- bool_t restoredmpr; -- /* restore DMAPI event settings -- */ - bool_t restoreextattrpr; - /* restore extended attributes - */ -@@ -858,7 +855,6 @@ static void partial_reg(ix_t d_index, xfs_ino_t ino, off64_t fsize, - off64_t offset, off64_t sz); - static bool_t partial_check (xfs_ino_t ino, off64_t fsize); - static bool_t partial_check2 (partial_rest_t *isptr, off64_t fsize); --static int do_fssetdm_by_handle(char *path, fsdmidata_t *fdmp); - static int quotafilecheck(char *type, char *dstdir, char *quotafile); - - /* definition of locally defined global variables ****************************/ -@@ -894,7 +890,6 @@ content_init(int argc, char *argv[], size64_t vmsz) - bool_t changepr;/* cmd line overwrite inhibit specification */ - bool_t interpr; /* cmd line interactive mode requested */ - bool_t ownerpr; /* cmd line chown/chmod requested */ -- bool_t restoredmpr; /* cmd line restore dm api attrs specification */ - bool_t restoreextattrpr; /* cmd line restore extended attr spec */ - bool_t sesscpltpr; /* force completion of prev interrupted session */ - ix_t stcnt; /* cmd line number of subtrees requested */ -@@ -956,7 +951,6 @@ content_init(int argc, char *argv[], size64_t vmsz) - newerpr = BOOL_FALSE; - changepr = BOOL_FALSE; - ownerpr = BOOL_FALSE; -- restoredmpr = BOOL_FALSE; - restoreextattrpr = BOOL_TRUE; - sesscpltpr = BOOL_FALSE; - stcnt = 0; -@@ -1162,8 +1156,11 @@ content_init(int argc, char *argv[], size64_t vmsz) - tranp->t_noinvupdatepr = BOOL_TRUE; - break; - case GETOPT_SETDM: -- restoredmpr = BOOL_TRUE; -- break; -+ mlog(MLOG_NORMAL | MLOG_ERROR, _( -+ "-%c option no longer supported\n"), -+ GETOPT_SETDM); -+ usage(); -+ return BOOL_FALSE; - case GETOPT_ALERTPROG: - if (!optarg || optarg[0] == '-') { - mlog(MLOG_NORMAL | MLOG_ERROR, _( -@@ -1574,12 +1571,6 @@ content_init(int argc, char *argv[], size64_t vmsz) - } - - if (persp->a.valpr) { -- if (restoredmpr && persp->a.restoredmpr != restoredmpr) { -- mlog(MLOG_NORMAL | MLOG_ERROR, _( -- "-%c cannot reset flag from previous restore\n"), -- GETOPT_SETDM); -- return BOOL_FALSE; -- } - if (!restoreextattrpr && - persp->a.restoreextattrpr != restoreextattrpr) { - mlog(MLOG_NORMAL | MLOG_ERROR, _( -@@ -1734,7 +1725,6 @@ content_init(int argc, char *argv[], size64_t vmsz) - persp->a.newerpr = newerpr; - persp->a.newertime = newertime; - } -- persp->a.restoredmpr = restoredmpr; - if (!persp->a.dstdirisxfspr) { - restoreextattrpr = BOOL_FALSE; - } -@@ -2365,7 +2355,6 @@ content_stream_restore(ix_t thrdix) - scrhdrp->cih_inomap_nondircnt, - tranp->t_vmsz, - fullpr, -- persp->a.restoredmpr, - persp->a.dstdirisxfspr, - grhdrp->gh_version, - tranp->t_truncategenpr); -@@ -7549,12 +7538,6 @@ restore_reg(drive_t *drivep, - } - } - -- if (persp->a.dstdirisxfspr && persp->a.restoredmpr) { -- HsmBeginRestoreFile(bstatp, -- *fdp, -- &strctxp->sc_hsmflags); -- } -- - return BOOL_TRUE; - } - -@@ -7726,26 +7709,6 @@ restore_complete_reg(stream_context_t *strcxtp) - strerror(errno)); - } - -- if (persp->a.dstdirisxfspr && persp->a.restoredmpr) { -- fsdmidata_t fssetdm; -- -- /* Set the DMAPI Fields. */ -- fssetdm.fsd_dmevmask = bstatp->bs_dmevmask; -- fssetdm.fsd_padding = 0; -- fssetdm.fsd_dmstate = bstatp->bs_dmstate; -- -- rval = ioctl(fd, XFS_IOC_FSSETDM, (void *)&fssetdm); -- if (rval) { -- mlog(MLOG_NORMAL | MLOG_WARNING, -- _("attempt to set DMI attributes of %s " -- "failed: %s\n"), -- path, -- strerror(errno)); -- } -- -- HsmEndRestoreFile(path, fd, &strcxtp->sc_hsmflags); -- } -- - /* set any extended inode flags that couldn't be set - * prior to restoring the data. - */ -@@ -8064,17 +8027,6 @@ restore_symlink(drive_t *drivep, - strerror(errno)); - } - } -- -- if (persp->a.restoredmpr) { -- fsdmidata_t fssetdm; -- -- /* Restore DMAPI fields. */ -- -- fssetdm.fsd_dmevmask = bstatp->bs_dmevmask; -- fssetdm.fsd_padding = 0; -- fssetdm.fsd_dmstate = bstatp->bs_dmstate; -- rval = do_fssetdm_by_handle(path, &fssetdm); -- } - } - - return BOOL_TRUE; -@@ -8777,7 +8729,7 @@ restore_extattr(drive_t *drivep, - } - assert(nread == (int)(recsz - EXTATTRHDR_SZ)); - -- if (!persp->a.restoreextattrpr && !persp->a.restoredmpr) { -+ if (!persp->a.restoreextattrpr) { - continue; - } - -@@ -8796,19 +8748,6 @@ restore_extattr(drive_t *drivep, - } - } else if (isfilerestored && path[0] != '\0') { - setextattr(path, ahdrp); -- -- if (persp->a.dstdirisxfspr && persp->a.restoredmpr) { -- int flag = 0; -- char *attrname = (char *)&ahdrp[1]; -- if (ahdrp->ah_flags & EXTATTRHDR_FLAGS_ROOT) -- flag = ATTR_ROOT; -- else if (ahdrp->ah_flags & EXTATTRHDR_FLAGS_SECURE) -- flag = ATTR_SECURE; -- -- HsmRestoreAttribute(flag, -- attrname, -- &strctxp->sc_hsmflags); -- } - } - } - /* NOTREACHED */ -@@ -9709,32 +9648,6 @@ display_needed_objects(purp_t purp, - } - } - --static int --do_fssetdm_by_handle( -- char *path, -- fsdmidata_t *fdmp) --{ -- void *hanp; -- size_t hlen=0; -- int rc; -- -- if (path_to_handle(path, &hanp, &hlen)) { -- mlog(MLOG_NORMAL | MLOG_WARNING, _( -- "path_to_handle of %s failed:%s\n"), -- path, strerror(errno)); -- return -1; -- } -- -- rc = fssetdm_by_handle(hanp, hlen, fdmp); -- free_handle(hanp, hlen); -- if (rc) { -- mlog(MLOG_NORMAL | MLOG_WARNING, _( -- "fssetdm_by_handle of %s failed %s\n"), -- path, strerror(errno)); -- } -- return rc; --} -- - static int - quotafilecheck(char *type, char *dstdir, char *quotafile) - { -diff --git a/restore/tree.c b/restore/tree.c -index 0670318..5429b74 100644 ---- a/restore/tree.c -+++ b/restore/tree.c -@@ -108,9 +108,6 @@ struct treePersStorage { - bool_t p_ignoreorphpr; - /* set if positive subtree or interactive - */ -- bool_t p_restoredmpr; -- /* restore DMI event settings -- */ - bool_t p_truncategenpr; - /* truncate inode generation number (for compatibility - * with xfsdump format 2 and earlier) -@@ -348,7 +345,6 @@ tree_init(char *hkdir, - size64_t nondircnt, - size64_t vmsz, - bool_t fullpr, -- bool_t restoredmpr, - bool_t dstdirisxfspr, - uint32_t dumpformat, - bool_t truncategenpr) -@@ -508,10 +504,6 @@ tree_init(char *hkdir, - */ - persp->p_fullpr = fullpr; - -- /* record if DMI event settings should be restored -- */ -- persp->p_restoredmpr = restoredmpr; -- - /* record if truncated generation numbers are required - */ - if (dumpformat < GLOBAL_HDR_VERSION_3) { -@@ -2550,31 +2542,6 @@ setdirattr(dah_t dah, char *path) - } - } - -- if (tranp->t_dstdirisxfspr && persp->p_restoredmpr) { -- fsdmidata_t fssetdm; -- -- fssetdm.fsd_dmevmask = dirattr_get_dmevmask(dah); -- fssetdm.fsd_padding = 0; /* not used */ -- fssetdm.fsd_dmstate = (uint16_t)dirattr_get_dmstate(dah); -- -- /* restore DMAPI event settings etc. -- */ -- rval = ioctl(fd, -- XFS_IOC_FSSETDM, -- (void *)&fssetdm); -- if (rval) { -- mlog(errno == EINVAL -- ? -- (MLOG_NITTY + 1) | MLOG_TREE -- : -- MLOG_NITTY | MLOG_TREE, -- "set DMI attributes" -- " of %s failed: %s\n", -- path, -- strerror(errno)); -- } -- } -- - utimbuf.actime = dirattr_get_atime(dah); - utimbuf.modtime = dirattr_get_mtime(dah); - rval = utime(path, &utimbuf); -diff --git a/restore/tree.h b/restore/tree.h -index 4f9ffe8..bf66e3d 100644 ---- a/restore/tree.h -+++ b/restore/tree.h -@@ -31,7 +31,6 @@ extern bool_t tree_init(char *hkdir, - size64_t nondircnt, - size64_t vmsz, - bool_t fullpr, -- bool_t restoredmpr, - bool_t dstdirisxfspr, - uint32_t dumpformat, - bool_t truncategenpr);