diff --git a/fsr-fix-uninitialized-fs-usage-after-timeout.patch b/fsr-fix-uninitialized-fs-usage-after-timeout.patch deleted file mode 100644 index fc9172f..0000000 --- a/fsr-fix-uninitialized-fs-usage-after-timeout.patch +++ /dev/null @@ -1,39 +0,0 @@ -From: Jeff Mahoney -Date: Fri, 2 Jun 2017 14:15:41 -0400 -Subject: fsr: fix uninitialized fs usage after timeout -Patch-mainline: Submitted to linux-xfs, 2 Jun 2017 -References: bsc#1002699 - -In the main loop of fsrallfs, we exit when we've hit the timeout but -we increment fs before we get there. If we're operating on the last -file system in the array, we'll hit an uninitialized fsdesc and -crash in fsrall_cleanup. - -Signed-off-by: Jeff Mahoney ---- - fsr/xfs_fsr.c | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/fsr/xfs_fsr.c b/fsr/xfs_fsr.c -index 517b75f0..e695c243 100644 ---- a/fsr/xfs_fsr.c -+++ b/fsr/xfs_fsr.c -@@ -598,7 +598,7 @@ fsrallfs(char *mtab, int howlong, char *leftofffile) - signal(SIGTERM, aborter); - - /* reorg for 'howlong' -- checked in 'fsrfs' */ -- while (endtime > time(0)) { -+ for (; endtime > time(0); fs->npass++, fs++) { - pid_t pid; - if (fs == fsend) - fs = fsbase; -@@ -629,8 +629,6 @@ fsrallfs(char *mtab, int howlong, char *leftofffile) - break; - } - startino = 0; /* reset after the first time through */ -- fs->npass++; -- fs++; - } - fsrall_cleanup(endtime <= time(0)); - } - diff --git a/xfs_io-stat-fix-typo-in-statfs-f_flags.patch b/xfs_io-stat-fix-typo-in-statfs-f_flags.patch new file mode 100644 index 0000000..f6d470a --- /dev/null +++ b/xfs_io-stat-fix-typo-in-statfs-f_flags.patch @@ -0,0 +1,28 @@ +From 00f71e74694f14eb4fdceafea1f16c984c70c7e8 Mon Sep 17 00:00:00 2001 +From: Jeff Mahoney +Date: Fri, 17 Nov 2017 14:24:01 -0500 +Subject: [PATCH] xfs_io: stat: fix typo in statfs->f_flags + +The field name is f_flags. + +Signed-off-by: Jeff Mahoney +--- + io/stat.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/io/stat.c b/io/stat.c +index 060ff833..6ab10abf 100644 +--- a/io/stat.c ++++ b/io/stat.c +@@ -199,7 +199,7 @@ statfs_f( + printf(_("statfs.f_bavail = %lld\n"), (long long) st.f_bavail); + printf(_("statfs.f_files = %lld\n"), (long long) st.f_files); + printf(_("statfs.f_ffree = %lld\n"), (long long) st.f_ffree); +- printf(_("statfs.f_fflags = 0x%llx\n"), (long long) st.f_flags); ++ printf(_("statfs.f_flags = 0x%llx\n"), (long long) st.f_flags); + } + if (file->flags & IO_FOREIGN) + return 0; +-- +2.14.2 + diff --git a/xfs_io-stat-treat-statfs.f_flags-as-optional.patch b/xfs_io-stat-treat-statfs.f_flags-as-optional.patch new file mode 100644 index 0000000..801397d --- /dev/null +++ b/xfs_io-stat-treat-statfs.f_flags-as-optional.patch @@ -0,0 +1,81 @@ +From 1c2113fd2f67bad534d75900ca5db0a7826cb8d7 Mon Sep 17 00:00:00 2001 +From: Jeff Mahoney +Date: Fri, 17 Nov 2017 14:39:52 -0500 +Subject: [PATCH] xfs_io: stat: treat statfs.f_flags as optional + +Kernels prior to 2.6.36 didn't contain statfs.f_flags. Distros with +initial releases with kernels prior to this may not have updated +headers with this member. Only attempt to print it if we have the +header with the member defined. + +Signed-off-by: Jeff Mahoney +--- + configure.ac | 1 + + include/builddefs.in | 1 + + io/stat.c | 2 ++ + m4/package_libcdev.m4 | 14 ++++++++++++++ + 4 files changed, 18 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 4161c3b4..939d802b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -143,6 +143,7 @@ AC_HAVE_FSETXATTR + AC_HAVE_MREMAP + AC_NEED_INTERNAL_FSXATTR + AC_HAVE_GETFSMAP ++AC_HAVE_STATFS_FLAGS + + if test "$enable_blkid" = yes; then + AC_HAVE_BLKID_TOPO +diff --git a/include/builddefs.in b/include/builddefs.in +index ec630bd9..13756d79 100644 +--- a/include/builddefs.in ++++ b/include/builddefs.in +@@ -113,6 +113,7 @@ HAVE_FSETXATTR = @have_fsetxattr@ + HAVE_MREMAP = @have_mremap@ + NEED_INTERNAL_FSXATTR = @need_internal_fsxattr@ + HAVE_GETFSMAP = @have_getfsmap@ ++HAVE_STATFS_FLAGS = @have_statfs_flags@ + + GCCFLAGS = -funsigned-char -fno-strict-aliasing -Wall + # -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-decl +diff --git a/io/stat.c b/io/stat.c +index 6ab10abf..1ca5b0d6 100644 +--- a/io/stat.c ++++ b/io/stat.c +@@ -199,7 +199,9 @@ statfs_f( + printf(_("statfs.f_bavail = %lld\n"), (long long) st.f_bavail); + printf(_("statfs.f_files = %lld\n"), (long long) st.f_files); + printf(_("statfs.f_ffree = %lld\n"), (long long) st.f_ffree); ++#ifdef HAVE_STATFS_FLAGS + printf(_("statfs.f_flags = 0x%llx\n"), (long long) st.f_flags); ++#endif + } + if (file->flags & IO_FOREIGN) + return 0; +diff --git a/m4/package_libcdev.m4 b/m4/package_libcdev.m4 +index fa5b6397..bc395acd 100644 +--- a/m4/package_libcdev.m4 ++++ b/m4/package_libcdev.m4 +@@ -297,3 +297,17 @@ AC_DEFUN([AC_HAVE_GETFSMAP], + AC_MSG_RESULT(no)) + AC_SUBST(have_getfsmap) + ]) ++ ++AC_DEFUN([AC_HAVE_STATFS_FLAGS], ++ [ ++ AC_CHECK_TYPE(struct statfs, ++ [ ++ AC_CHECK_MEMBER(struct statfs.f_flags, ++ have_statfs_flags=yes,, ++ [#include ] ++ ) ++ ],, ++ [#include ] ++ ) ++ AC_SUBST(have_statfs_flags) ++ ]) +-- +2.14.2 + diff --git a/xfs_repair-add-prefetch-trace-calls-to-debug-thread-creation-failures.patch b/xfs_repair-add-prefetch-trace-calls-to-debug-thread-creation-failures.patch deleted file mode 100644 index 108276e..0000000 --- a/xfs_repair-add-prefetch-trace-calls-to-debug-thread-creation-failures.patch +++ /dev/null @@ -1,60 +0,0 @@ -From: Jeff Mahoney -Subject: xfs_repair: add prefetch trace calls to debug thread creation failures -Patch-mainline: Submitted, 16 Jan 2017 -References: bsc#1019938 - -When debugging prefetch failures, it's useful to have thread creation -failure messages that are output as warnings on stderr in the trace -log as well. It's also helpful to see when an AG gets queued behind -another one rather than having the thread started directly, which -has a separate trace line. - -Signed-off-by: Jeff Mahoney ---- - repair/prefetch.c | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/repair/prefetch.c b/repair/prefetch.c -index 044fab2..37d60d6 100644 ---- a/repair/prefetch.c -+++ b/repair/prefetch.c -@@ -703,6 +703,8 @@ pf_queuing_worker( - if (err != 0) { - do_warn(_("failed to create prefetch thread: %s\n"), - strerror(err)); -+ pftrace("failed to create prefetch thread for AG %d: %s", -+ args->agno, strerror(err)); - args->io_threads[i] = 0; - if (i == 0) { - pf_start_processing(args); -@@ -817,6 +819,8 @@ pf_create_prefetch_thread( - if (err != 0) { - do_warn(_("failed to create prefetch thread: %s\n"), - strerror(err)); -+ pftrace("failed to create prefetch thread for AG %d: %s", -+ args->agno, strerror(err)); - args->queuing_thread = 0; - cleanup_inode_prefetch(args); - } -@@ -882,8 +886,11 @@ start_inode_prefetch( - if (prev_args->prefetch_done) { - if (!pf_create_prefetch_thread(args)) - args = NULL; -- } else -+ } else { - prev_args->next_args = args; -+ pftrace("queued AG %d after AG %d", -+ args->agno, prev_args->agno); -+ } - pthread_mutex_unlock(&prev_args->lock); - } - --- -2.7.1 - --- -To unsubscribe from this list: send the line "unsubscribe linux-xfs" in -the body of a message to majordomo@vger.kernel.org -More majordomo info at http://vger.kernel.org/majordomo-info.html - - diff --git a/xfs_repair-clear-pthread_t-when-pthread_create-fails.patch b/xfs_repair-clear-pthread_t-when-pthread_create-fails.patch deleted file mode 100644 index c77d3bc..0000000 --- a/xfs_repair-clear-pthread_t-when-pthread_create-fails.patch +++ /dev/null @@ -1,55 +0,0 @@ -From: Jeff Mahoney -Subject: xfs_repair: clear pthread_t when pthread_create fails -Patch-mainline: Submitted, 16 Jan 2017 -References: bsc#1019938 - -pf_queuing_worker and pf_create_prefetch_thread both try to handle -thread creation failure gracefully, but assume that pthread_create -doesn't modify the pthread_t when it fails. - ->From the pthread_create man page: -On success, pthread_create() returns 0; on error, it returns an error -number, and the contents of *thread are undefined. - -In fact, glibc's pthread_create writes the pthread_t value before -calling clone(). When we join the created threads in -cleanup_inode_prefetch and the cleanup stage of pf_queuing_worker, we -assume that if the pthread_t is nonzero that it's a valid thread handle -and end up crashing in pthread_join. - -This patch zeros out the handle after pthread_create failure. - -Signed-off-by: Jeff Mahoney ---- - repair/prefetch.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/repair/prefetch.c b/repair/prefetch.c -index ff50606..044fab2 100644 ---- a/repair/prefetch.c -+++ b/repair/prefetch.c -@@ -703,6 +703,7 @@ pf_queuing_worker( - if (err != 0) { - do_warn(_("failed to create prefetch thread: %s\n"), - strerror(err)); -+ args->io_threads[i] = 0; - if (i == 0) { - pf_start_processing(args); - return NULL; -@@ -816,6 +817,7 @@ pf_create_prefetch_thread( - if (err != 0) { - do_warn(_("failed to create prefetch thread: %s\n"), - strerror(err)); -+ args->queuing_thread = 0; - cleanup_inode_prefetch(args); - } - --- -2.7.1 - --- -To unsubscribe from this list: send the line "unsubscribe linux-xfs" in -the body of a message to majordomo@vger.kernel.org -More majordomo info at http://vger.kernel.org/majordomo-info.html - - diff --git a/xfs_repair-fix-thread-creation-failure-recovery.patch b/xfs_repair-fix-thread-creation-failure-recovery.patch deleted file mode 100644 index 84cbaf0..0000000 --- a/xfs_repair-fix-thread-creation-failure-recovery.patch +++ /dev/null @@ -1,136 +0,0 @@ -From: Jeff Mahoney -Subject: xfs_repair: fix thread creation failure recovery -Patch-mainline: Submitted, 16 Jan 2017 -References: bsc#1019938 - -When pf_create_prefetch_thread fails, it tears down the args struct -and frees it. This causes a use-after-free in prefetch_ag_range, which -then passes the now-invalid pointer to start_inode_prefetch. The struct -is only freed when the queuing thread can't be started. When we can't -start even one worker thread, we mark the args ready for processing and -allow it to proceed single-threaded. Unfortunately, this only marks -the current args ready for processing and since we return immediately, -the call to pf_create_prefetch_thread at the end of pf_queuing_worker -never gets called and we wait forever for prefetch to start on the -next AG. - -This patch factors out the cleanup into a new pf_skip_prefetch_thread -that is called when we fail to create either the queuing thread or -the first of the workers. It marks the args ready for processing, marks -it done so start_inode_prefetch doesn't add another AG to the list, and -tries to start a new thread for the next AG in the list. We also clear -->next_args and check for it in cleanup_inode_prefetch so this condition -is easier to catch should it arise again. - -Signed-off-by: Jeff Mahoney ---- - repair/prefetch.c | 38 ++++++++++++++++++++++++++++++++------ - 1 file changed, 32 insertions(+), 6 deletions(-) - -diff --git a/repair/prefetch.c b/repair/prefetch.c -index 37d60d6..4c74b6e 100644 ---- a/repair/prefetch.c -+++ b/repair/prefetch.c -@@ -679,11 +679,32 @@ static int - pf_create_prefetch_thread( - prefetch_args_t *args); - -+/* -+ * If we fail to create the queuing thread or can't create even one -+ * prefetch thread, we need to let processing continue without it. -+ */ -+static void -+pf_skip_prefetch_thread(prefetch_args_t *args) -+{ -+ prefetch_args_t *next; -+ -+ pthread_mutex_lock(&args->lock); -+ args->prefetch_done = 1; -+ pf_start_processing(args); -+ next = args->next_args; -+ args->next_args = NULL; -+ pthread_mutex_unlock(&args->lock); -+ -+ if (next) -+ pf_create_prefetch_thread(next); -+} -+ - static void * - pf_queuing_worker( - void *param) - { - prefetch_args_t *args = param; -+ prefetch_args_t *next_args; - int num_inos; - ino_tree_node_t *irec; - ino_tree_node_t *cur_irec; -@@ -707,7 +728,7 @@ pf_queuing_worker( - args->agno, strerror(err)); - args->io_threads[i] = 0; - if (i == 0) { -- pf_start_processing(args); -+ pf_skip_prefetch_thread(args); - return NULL; - } - /* -@@ -798,11 +819,13 @@ pf_queuing_worker( - ASSERT(btree_is_empty(args->io_queue)); - - args->prefetch_done = 1; -- if (args->next_args) -- pf_create_prefetch_thread(args->next_args); -- -+ next_args = args->next_args; -+ args->next_args = NULL; - pthread_mutex_unlock(&args->lock); - -+ if (next_args) -+ pf_create_prefetch_thread(next_args); -+ - return NULL; - } - -@@ -822,7 +845,7 @@ pf_create_prefetch_thread( - pftrace("failed to create prefetch thread for AG %d: %s", - args->agno, strerror(err)); - args->queuing_thread = 0; -- cleanup_inode_prefetch(args); -+ pf_skip_prefetch_thread(args); - } - - return err == 0; -@@ -884,14 +907,15 @@ start_inode_prefetch( - } else { - pthread_mutex_lock(&prev_args->lock); - if (prev_args->prefetch_done) { -+ pthread_mutex_unlock(&prev_args->lock); - if (!pf_create_prefetch_thread(args)) - args = NULL; - } else { - prev_args->next_args = args; - pftrace("queued AG %d after AG %d", - args->agno, prev_args->agno); -+ pthread_mutex_unlock(&prev_args->lock); - } -- pthread_mutex_unlock(&prev_args->lock); - } - - return args; -@@ -1066,6 +1090,8 @@ cleanup_inode_prefetch( - - pftrace("AG %d prefetch done", args->agno); - -+ ASSERT(args->next_args == NULL); -+ - pthread_mutex_destroy(&args->lock); - pthread_cond_destroy(&args->start_reading); - pthread_cond_destroy(&args->start_processing); --- -2.7.1 - --- -To unsubscribe from this list: send the line "unsubscribe linux-xfs" in -the body of a message to majordomo@vger.kernel.org -More majordomo info at http://vger.kernel.org/majordomo-info.html - - diff --git a/xfsprogs-4.13.1.tar.sign b/xfsprogs-4.13.1.tar.sign new file mode 100644 index 0000000..dddb0ab --- /dev/null +++ b/xfsprogs-4.13.1.tar.sign @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iQIcBAABAgAGBQJZywnKAAoJECCuFpLhPd7gIQUP/0LWah3X8XchXnPn1FlmVR5C +OL/hhPzwBfF7HmWd27hbn/GIBAEkSeIXc2QRJAkXg+Zpq2s6p4qM149SW6MmUgAy +F3xa/D0sVZez6jnO4vBvKJ2XeKeINaBlM/9IyWIPXzXm2LsvC9Z1AHe0w0TzQG8U +8HHXsXzqIQk4vyipldH22KRrXUPUn4Bdys3plQldGjke5QvoEDrNuRLTwOkxacAF +swuZaUIhQz4XSGTrnRGXbHRDA9QIcf3vwK9Vl3UeKnuMAJ/G9H6Bb7OuKH/Gdtin +8EzjfOU7HOvvWTWVzoy9WdCIfQNW0R/vchRS3ivY2VT5FnnH9wD72DC14qsMD1gB +QdawrYozk9gWR5FEF1FszUjNRkHMPAPm3HkXYFz0hOySabEWdqOJnN4NjIElMdTV +OAz9NtrKb2BjqD/hO6iI+h0f+0bAygMuB9RcLlWk2rYVbWUSwr1WBxLte3x7egN6 +vAQM7pNBCgjDpaaHJFCQ7VE92uE4iTELiN514Q797TKD7z+UxiZs2ipZzdAaT4O1 +wK2pkkdcVicV3XkILVHZl8szmF30sUb3WsTazUgZPRbqryw6t4qA2liow+qzLc+d +d3wKmD8yM8JTT0XcsVX+qyw1oNZtRYIuS4bIHep/4XKwAHx2zHVK8B3Dl7Aoscah +BTOvcClfvuDSVGD6/egX +=iocA +-----END PGP SIGNATURE----- diff --git a/xfsprogs-4.13.1.tar.xz b/xfsprogs-4.13.1.tar.xz new file mode 100644 index 0000000..f18ab62 --- /dev/null +++ b/xfsprogs-4.13.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c64d349d191e24c84eeb1611be767e4a11b81016bd5b73f3a20a0bf39dd3536 +size 1133556 diff --git a/xfsprogs-4.9.0.tar.sign b/xfsprogs-4.9.0.tar.sign deleted file mode 100644 index 5924142..0000000 --- a/xfsprogs-4.9.0.tar.sign +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iQIcBAABAgAGBQJYbtG4AAoJECCuFpLhPd7gL8kP/3FIJk78XAEKwqlIgTqB1+Yz -macnqh7FYbJbYUPb+8xg99F8S6BfsxcI6w085DUeYUV2HW6F105iQu6dYtgRjIlu -leaS5bntPNxCbK7yQCkbvwSDipzb3gYZsm5GHoYB1hOYJhY/o3uMCJzipLDgCZtP -MlFn4OqNcON98REeTqn6An8gCrHLMbvqf4K1s/5mQ1JinbsgHDfz4kwIbESaChJT -BbanUa7pkhTadBvVy/dLvwzqOdJkJZDiuvZDqC25+deHakw3gL48tTAhHh5OWE3m -IyU24g8Ju/mdu3t0uiz3rIRqngCZ/bvY9STM2bT4/VyXA016SguMAWX/LrqIV64C -C402v9V2UJbxtCiNubJ6UUTbY/tIJf5gY3ASpvXfN9RGTN73YE1jq5KE9rjn0adz -rEPsoBrIBF0oeq2u49zJow/fH3h2DhsiGgRnFZogXbfz3ROqHiAyzUmkI7j+Rhx7 -ky23wIRCvlavGojcW+9YUwcV5hjCxXqgWmRMWyCe83zLzAUMtfYOo6Bm+cDAlKYu -c+Wl20r1s+GCT82NIs2//hUP6+yXPZT9TNBLwKhXg5aeD8cZcsaXkefW8Di/658j -3UoCBQ0UsYe7caa4aNPa2C8SDlKpGm2BTUP6GEEdgYjFDBL6tak6EHbjD5w/mXNQ -yGpu9OXaOSeHJTL1sGL5 -=SvzB ------END PGP SIGNATURE----- diff --git a/xfsprogs-4.9.0.tar.xz b/xfsprogs-4.9.0.tar.xz deleted file mode 100644 index e306380..0000000 --- a/xfsprogs-4.9.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f1e60a9a54583dba82fa506dd9b59bdec110a968f80f507bf5f93b263af7a4df -size 1087940 diff --git a/xfsprogs.changes b/xfsprogs.changes index ccba5bc..337c8fd 100644 --- a/xfsprogs.changes +++ b/xfsprogs.changes @@ -1,3 +1,214 @@ +------------------------------------------------------------------- +Fri Nov 17 19:46:15 UTC 2017 - jeffm@suse.com + +- Fix building on SLE11 +- Added xfs_io-stat-fix-typo-in-statfs-f_flags.patch +- Added xfs_io-stat-treat-statfs.f_flags-as-optional.patch + +------------------------------------------------------------------- +Fri Nov 17 18:58:47 UTC 2017 - jeffm@suse.com + +- Update to 4.13.1 + * mkfs: don't overflow the subopts array + +- Update to 4.13.0 + * xfs_repair: handle missing extent states + * mkfs: pass a custom cowextsize into the created filesystem + * xfs_db: version command misses RMAPBT feature string + * xfs_repair: don't use do_warn for normal log message + * libxfs: remove getcwd/chdir dance from initialization + * xfs_repair: take the ag_lock before recording rmap for a bmbt record + * mkfs.xfs: Don't stagger AG for a single disk + * xfs: fix inobt inode allocation search optimization + * xfs_io: clarify the fsmap documentation + * fiemap: Fix semantics of max_extents (-n arguments) + * xfs_repair: fix thread creation failure recovery + * xfs_repair: add prefetch trace calls to debug thread creation failures + * xfs_repair: clear pthread_t when pthread_create fails + * xfs_io: add seek consistency checks + * fsr: fix uninitialized fs usage after timeout + * xfs_db: bit fuzzing should read the right bit when flipping + * xfs_db: make write/fuzz -c and -d work on non-crc filesystems + * xfs_db: free field list when failing out of fuzz + * xfs_db: reset metadump output flag + * xfs_db: btdump should avoid eval for push and pop of cursor + * xfs_db: use TYP_F_CRC_FUNC for inodes & dquots + * xfs_db: introduce fuzz command + * xfs_db: write values into dir/attr blocks and recalculate CRCs + * xfs_db: print attribute remote value blocks + * xfs_db: dump dir/attr btrees + * xfs_db: fix metadump redirection (again) + * xfs_repair: fix symlink target length checks by changing MAXPATHLEN to XFS_SYMLINK_MAXLEN + * xfs_metadump: properly handle obfuscation of all remote attribute blocks + * xfs_io: allow lsattr & lsproj on foreign filesystems + * libxfs: init ->b_maps on contig buffers for uncached compatibility + * xfs_db: associate proper type with free inode btree root + * xfs_io: Print filesystem statfs flags in 'statfs' command + * xfs: fix multi-AG deadlock in xfs_bunmapi + * xfs: check that dir block entries don't off the end of the buffer + * xfs: check _alloc_read_agf buffer pointer before using + * xfs: set firstfsb to NULLFSBLOCK before feeding it to _bmapi_write + * xfs: check _btree_check_block value + * xfs: don't crash on unexpected holes in dir/attr btrees + * xfs: export _inobt_btrec_to_irec and _ialloc_cluster_alignment for scrub + * xfs: try to avoid blowing out the transaction reservation when bunmaping a shared extent + +- Update to 4.12.0 + * libxfs: propagate transaction block reservations + * xfs_db: properly set inode type + * xfs_db: redirect printfs when metadumping to stdout + * mkfs.xfs: allow specification of 0 data stripe width & unit + * mkfs: set inode alignment and cluster size for minimum log size estimation + * mkfs: set agblklog when we're verifying minimum log size + * libxfs: fix fsmap.h inclusion + * xfs_db: identify attr dabtree field types correctly + * xfs_spaceman: fix potential overflowing expression in trim_f() + * xfs_spaceman: close open file for error case in openfile() + * xfs_spaceman: fix potential memory leak by malloc in scan_ag + * xfs_db: improve argument naming in set_cur and set_iocur_type + * xfs_db: update buffer size when new type is set + * xfs_spaceman: add group summary mode + * xfs_spaceman: add a man page + * xfs_spaceman: Free space mapping command + * xfs_spaceman: add new speculative prealloc control + * xfs_spaceman: add FITRIM support + * xfs_spaceman: space management tool + * xfs_repair: replace rmap_compare with libxfs version + * xfs_io: support the new getfsmap ioctl + * xfs: introduce the XFS_IOC_GETFSMAP ioctl + * libxfs: use crc32c slice-by-8 variant by default + * libxcmd: add cvt{int, long} to convert strings to int and long + * metadump: warn about corruption if log is dirty + * xfs_metadump: tag metadump image with informational flags + * xfs_repair: handle reading superblock from image on larger sector size filesystem + * xfs_db: add alignment filter to freesp command + * xfs_growfs: ensure target path is an active xfs mountpoint + * libxfs: fix xfs_trans_alloc_empty namespace + * xfs: fix unaligned access in xfs_btree_visit_blocks + * xfs: avoid mount-time deadlock in CoW extent recovery + * xfs: fix indlen accounting error on partial delalloc conversion + * xfs: abstract PF_FSTRANS to PF_MEMALLOC_NOFS + * xfs: reserve enough blocks to handle btree splits when remapping + * xfs: simplify validation of the unwritten extent bit + * xfs: introduce xfs_bmapi_remap + * xfs: pass individual arguments to xfs_bmap_add_extent_hole_real + * xfs: fix integer truncation in xfs_bmap_remap_alloc + * xfs: simplify xfs_calc_dquots_per_chunk + * xfs: implement the GETFSMAP ioctl + * xfs: add a couple of queries to iterate free extents in the rtbitmap + * xfs: create a function to query all records in a btree + * xfs: provide a query_range function for freespace btrees + * xfs: plumb in needed functions for range querying of the freespace btrees + * xfs: fix up inode validation failure message + +- Update to 4.11.0 + * xfs_io: add missed quotation marks in man page + * xfs_io: add missed inode command into man page + * xfs_io: fix statx call for changed UAPI + * xfs_db: dump metadata btrees via 'btdump' + * xfs_db: use iocursor type to guess btree geometry if bad magic + * xfs_db: don't print arrays off the end of a buffer + * mkfs.xfs: Assign proper defaults to rmapbt and reflink flags + * xfs_io: Add statx support for PowerPC architecture + * xfs_io: fix statx definition for non-x86 architecture + * xfs_db: allow write -d to dqblks + * xfs_db: allow write -d to inodes + * xfs_io: hook up statx + * xfsprogs: fix build dep on configure.ac + * xfs_repair: pass btnum not magic to phase5 functions + * xfs_io: Fix "falloc -p" to pass KEEP_SIZE + * xfs_repair: warn about dirty log with -n option + * xfs_repair: detect invalid zero-sized symlink inodes + * xfs_io: support shutdown command on foreign fses + * libxfs: fix xfs_extent_busy_flush macro definition + * xfs: verify inline directory data forks + * xfs: try any AG when allocating the first btree block when reflinking + * xfs: use iomap new flag for newly allocated delalloc blocks + * xfs: tune down agno asserts in the bmap code + * xfs: Use xfs_icluster_size_fsb() to calculate inode chunk alignment + * xfs: split indlen reservations fairly when under reserved + * xfs: handle indlen shortage on delalloc extent merge + * xfs: improve handling of busy extents in the low-level allocator + * xfs: go straight to real allocations for direct I/O COW writes + * xfs: allow unwritten extents in the CoW fork + * xfs: verify free block header fields + * xfs: check for obviously bad level values in the bmbt root + * xfs: filter out obviously bad btree pointers + * xfs: fail _dir_open when readahead fails + * xfs: fix toctou race when locking an inode to access the data map + * xfs: glean crc status from mp not flags in xfs_btree_init_block_int + +- Update to 4.10.0 + * xfs_metadump: ignore attr leaf with 0 entries + * libxfs: sync up FSGETXATTR names and definitions with the kernel + * xfsprogs: Fix building xfsprogs on 32-bit platforms (again) + * xfs: extsize hints are not unlikely in xfs_bmap_btalloc + * xfs: use per-AG reservations for the finobt + * xfs: only update mount/resv fields on success in __xfs_ag_resv_init + * xfs: verify dirblocklog correctly + * xfs: fix COW writeback race + * xfs: fix xfs_mode_to_ftype() prototype + * xfs_db: Interpret inode's di_format field as unsigned + * xfs_repair: trash dirattr btrees that cycle to the root + * xfs_repair: strengthen geometry checks + * xfs_db: fix the 'source' command when passed as a -c option + * libxfs: sanitize agcount on load + * xfs_io: add DAX and CoW extent-size flags to chattr manpage + * xfs_io: fix missing syncfs command + * xfs_logprint: handle log operation split of inode item correctly + * xfs: sanity check inode di_mode + * xfs: sanity check directory inode di_size + * xfs_repair: update the manual content about xfs_repair exit status + * xfs_repair.8: document dirty log conditions + * xfs_io: implement 'utimes' command + * libxcmd: add non-iterating user commands + * xfs_io: make various commands one-shot only + * libxcmd: don't check generic library commands + * libxcmd: merge command() and iterate_command() + * libxcmd: rename args_command to command_iterator + * libxcmd: check CMD_FLAG_GLOBAL inside args_command() + * xfs_io: fix some documentation problems + * xfs_io: fix the minimum arguments to the reflink command + * xfs_io: prefix dedupe command error messages consistently + * xfs_io: Improvements to copy_range return code handling + * xfs_io: implement 'set_encpolicy' and 'get_encpolicy' commands + * xfs_logprint: di_gen is unsigned + * xfs_io: fix building with musl + * xfs: don't rely on ->total in xfs_alloc_space_available + * xfs: adjust allocation length in xfs_alloc_space_available + * xfs: fix bogus minleft manipulations + * xfs: bump up reserved blocks in xfs_alloc_set_aside + * xfs: use the actual AG length when reserving blocks + * xfs: use GPF_NOFS when allocating btree cursors + * xfs: ignore leaf attr ichdr.count in verifier during log replay + * xfs: optimise CRC updates + * xfs: make xfs btree stats less huge + * xfs: don't allow di_size with high bit set + * xfs: error out if trying to add attrs and anextents > 0 + * xfs: don't crash if reading a directory results in an unexpected hole + * xfs: complain if we don't get nextents bmap records + * xfs: check for bogus values in btree block headers + * xfs: forbid AG btrees with level == 0 + * xfs: several xattr functions can be void + * xfs: handle cow fork in xfs_bmap_trace_exlist + * xfs: pass state not whichfork to trace_xfs_extlist + * xfs: Move AGI buffer type setting to xfs_read_agi + * xfs: track preallocation separately in xfs_bmapi_reserve_delalloc() + * fs: xfs: libxfs: constify xfs_nameops structures + * repair: use new extent lookup helpers in bmap_next_offset + * xfs: use new extent lookup helpers in __xfs_bunmapi + * xfs: use new extent lookup helpers in xfs_bmapi_write + * xfs: use new extent lookup helpers in xfs_bmapi_read + * xfs: new inode extent list lookup helpers + * xfs: check minimum block size for CRC filesystems + * xfs: provide helper for counting extents from if_bytes + * xfs: check return value of _trans_reserve_quota_nblks + * xfs: set XFS_DA_OP_OKNOENT in xfs_attr_get +- Removed now-obsolete patches: + * Removed xfs_repair-clear-pthread_t-when-pthread_create-fails.patch + * Removed xfs_repair-add-prefetch-trace-calls-to-debug-thread-creation-failures.patch + * Removed xfs_repair-fix-thread-creation-failure-recovery.patch + ------------------------------------------------------------------- Mon Aug 28 13:42:33 UTC 2017 - mmarek@suse.com diff --git a/xfsprogs.spec b/xfsprogs.spec index 2edd594..ec23a5e 100644 --- a/xfsprogs.spec +++ b/xfsprogs.spec @@ -19,7 +19,7 @@ %define _dracutmodulesdir %{_libexecdir}/dracut/modules.d Name: xfsprogs -Version: 4.9.0 +Version: 4.13.1 Release: 0 Summary: Utilities for managing the XFS file system License: GPL-2.0+ @@ -31,10 +31,10 @@ Source2: %{name}.keyring Source3: module-setup.sh.in Source4: dracut-fsck-help.txt Patch0: xfsprogs-docdir.diff -Patch1: fsr-fix-uninitialized-fs-usage-after-timeout.patch -Patch2: xfs_repair-clear-pthread_t-when-pthread_create-fails.patch -Patch3: xfs_repair-add-prefetch-trace-calls-to-debug-thread-creation-failures.patch -Patch4: xfs_repair-fix-thread-creation-failure-recovery.patch +Patch1: xfs_io-stat-fix-typo-in-statfs-f_flags.patch +Patch2: xfs_io-stat-treat-statfs.f_flags-as-optional.patch +BuildRequires: autoconf +BuildRequires: automake BuildRequires: libblkid-devel BuildRequires: readline-devel BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -83,10 +83,11 @@ want to install xfsprogs. %endif %patch1 -p1 %patch2 -p1 -%patch3 -p1 -%patch4 -p1 %build +aclocal -I m4 +autoconf + export OPTIMIZER="-fPIC" export DEBUG=-DNDEBUG export LIBUUID=%{_libdir}/libuuid.a