diff --git a/0001-gfs2-edit-always-use-s-style-format-for-printf-style.patch b/0001-gfs2-edit-always-use-s-style-format-for-printf-style.patch deleted file mode 100644 index 77d6caa80fb54494d1ea3749298353c6ffc2e8c0..0000000000000000000000000000000000000000 --- a/0001-gfs2-edit-always-use-s-style-format-for-printf-style.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 17fb470356a6d55988f05ac70f06b382ef982604 Mon Sep 17 00:00:00 2001 -From: Sergei Trofimovich -Date: Sun, 7 Nov 2021 09:00:31 +0000 -Subject: [PATCH] gfs2/edit: always use "%s"-style format for printf()-style - functions - -`ncurses-6.3` added printf-style function attributes and now makes -it easier to catch cases when user input is used in place of format -string when built with CFLAGS=-Werror=format-security: - - hexedit.c:227:9: error: format not a string literal and no format arguments [-Werror=format-security] - 227 | printw(s2); - | ^~~~~~ - -Let's wrap all the missing places with "%s" format. ---- - gfs2/edit/hexedit.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gfs2/edit/hexedit.c b/gfs2/edit/hexedit.c -index 798639b5..88ee3e5f 100644 ---- a/gfs2/edit/hexedit.c -+++ b/gfs2/edit/hexedit.c -@@ -221,10 +221,10 @@ static void gfs2instr(const char *s1, const char *s2) - { - COLORS_HIGHLIGHT; - move(line,0); -- printw(s1); -+ printw("%s", s1); - COLORS_NORMAL; - move(line,17); -- printw(s2); -+ printw("%s", s2); - line++; - } - --- -2.27.0 - diff --git a/0002-fix-error-format-in-gfs2hex.patch b/0002-fix-error-format-in-gfs2hex.patch deleted file mode 100644 index 27ef0a400c2617bc635ea40b93e98948981b467a..0000000000000000000000000000000000000000 --- a/0002-fix-error-format-in-gfs2hex.patch +++ /dev/null @@ -1,25 +0,0 @@ -From f2cced91a440de26b30adf6a82f8bd459a04a4c2 Mon Sep 17 00:00:00 2001 -From: penelope -Date: Thu, 10 Mar 2022 21:30:47 +0800 -Subject: [PATCH] fix error format in gfs2hex - ---- - gfs2/edit/gfs2hex.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gfs2/edit/gfs2hex.c b/gfs2/edit/gfs2hex.c -index 62d5cab..b8c027e 100644 ---- a/gfs2/edit/gfs2hex.c -+++ b/gfs2/edit/gfs2hex.c -@@ -376,7 +376,7 @@ static void gfs2_inum_print2(const char *title,struct gfs2_inum *no) - if (termlines) { - check_highlight(TRUE); - move(line,2); -- printw(title); -+ printw("%s",title); - check_highlight(FALSE); - } - else --- -2.27.0 - diff --git a/0003-gfs2_jadd-Use-fallocate-to-preallocate-journals.patch b/0003-gfs2_jadd-Use-fallocate-to-preallocate-journals.patch deleted file mode 100644 index 7d570e4118e598e409a2690046b685834acb09bd..0000000000000000000000000000000000000000 --- a/0003-gfs2_jadd-Use-fallocate-to-preallocate-journals.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 2010383c860ef8ca2a80e6394b9cb89942a426e0 Mon Sep 17 00:00:00 2001 -From: Andrew Price -Date: Thu, 18 Mar 2021 17:30:53 +0000 -Subject: [PATCH] gfs2_jadd: Use fallocate to preallocate journals - -Fall back to writes for ancient kernels and use larger writes in that -case to reduce the chance of fragmentation. - -Signed-off-by: Andrew Price ---- - gfs2/mkfs/main_jadd.c | 48 +++++++++++++++++++++++++++++++++++-------- - 1 file changed, 40 insertions(+), 8 deletions(-) - -diff --git a/gfs2/mkfs/main_jadd.c b/gfs2/mkfs/main_jadd.c -index 7583ba0f..0a18bfb2 100644 ---- a/gfs2/mkfs/main_jadd.c -+++ b/gfs2/mkfs/main_jadd.c -@@ -480,6 +480,43 @@ static uint64_t find_block_address(int fd, off_t offset, unsigned bsize) - } - #endif - -+static int alloc_new_journal(int fd, unsigned bytes) -+{ -+#define ALLOC_BUF_SIZE (4 << 20) -+ unsigned left = bytes; -+ int error; -+ char *buf; -+ -+ error = fallocate(fd, 0, 0, bytes); -+ if (error == 0) -+ return 0; -+ if (errno != EOPNOTSUPP) -+ goto out_errno; -+ -+ /* No fallocate support, fall back to writes */ -+ buf = calloc(1, ALLOC_BUF_SIZE); -+ if (buf == NULL) -+ goto out_errno; -+ -+ while (left > 0) { -+ unsigned sz = ALLOC_BUF_SIZE; -+ -+ if (left < ALLOC_BUF_SIZE) -+ sz = left; -+ -+ if (pwrite(fd, buf, sz, bytes - left) != sz) { -+ free(buf); -+ goto out_errno; -+ } -+ left -= sz; -+ } -+ free(buf); -+ return 0; -+out_errno: -+ perror("Failed to allocate space for new journal"); -+ return -1; -+} -+ - static int add_j(struct gfs2_sbd *sdp, struct jadd_opts *opts) - { - int fd, error = 0; -@@ -496,14 +533,9 @@ static int add_j(struct gfs2_sbd *sdp, struct jadd_opts *opts) - if ((error = set_flags(fd, JA_FL_CLEAR, FS_JOURNAL_DATA_FL))) - goto close_fd; - -- memset(buf, 0, sdp->bsize); -- for (x=0; xbsize) != sdp->bsize) { -- perror("add_j write"); -- error = -1; -- goto close_fd; -- } -- } -+ error = alloc_new_journal(fd, sdp->jsize << 20); -+ if (error != 0) -+ goto close_fd; - - if ((error = lseek(fd, 0, SEEK_SET)) < 0) { - perror("add_j lseek"); --- -2.27.0 - diff --git a/0004-gfs2_jadd-Don-t-fsync-after-each-block-written.patch b/0004-gfs2_jadd-Don-t-fsync-after-each-block-written.patch deleted file mode 100644 index 0bd3f6c0e362d97a38bbab0bc75142f605d26c7c..0000000000000000000000000000000000000000 --- a/0004-gfs2_jadd-Don-t-fsync-after-each-block-written.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 657bbcfb7114b0246c6ce72cde75fcacb9a0d61b Mon Sep 17 00:00:00 2001 -From: Andrew Price -Date: Thu, 18 Mar 2021 17:50:16 +0000 -Subject: [PATCH] gfs2_jadd: Don't fsync after each block written - -gfs2_jadd has always called fsync() after writing each block of the -journal. There doesn't seem to be any need for that so take the fsync() -call out of the loop. - -Add an additional fsync() after preallocation to make sure we're in good -shape before writing the log headers. - -In my tests this reduces the time to add one journal from 5 minutes to -9 seconds. - -Signed-off-by: Andrew Price ---- - gfs2/mkfs/main_jadd.c | 15 ++++++++++----- - 1 file changed, 10 insertions(+), 5 deletions(-) - -diff --git a/gfs2/mkfs/main_jadd.c b/gfs2/mkfs/main_jadd.c -index 0a18bfb2..2bd0f7b0 100644 ---- a/gfs2/mkfs/main_jadd.c -+++ b/gfs2/mkfs/main_jadd.c -@@ -537,6 +537,11 @@ static int add_j(struct gfs2_sbd *sdp, struct jadd_opts *opts) - if (error != 0) - goto close_fd; - -+ error = fsync(fd); -+ if (error != 0) { -+ perror("Failed to sync journal metadata"); -+ goto close_fd; -+ } - if ((error = lseek(fd, 0, SEEK_SET)) < 0) { - perror("add_j lseek"); - goto close_fd; -@@ -580,12 +585,12 @@ static int add_j(struct gfs2_sbd *sdp, struct jadd_opts *opts) - seq = 0; - off += sdp->bsize; - -- if ((error = fsync(fd))) { -- perror("add_j fsync"); -- goto close_fd; -- } - } -- -+ error = fsync(fd); -+ if (error != 0) { -+ perror("Failed to sync journal metadata"); -+ goto close_fd; -+ } - sprintf(new_name, "journal%u", opts->journals); - error = rename2system(opts, opts->jindex, new_name); - if (error < 0 && errno != EEXIST){ --- -2.39.0.windows.2 - diff --git a/gfs2-utils-3.4.1.tar.gz b/gfs2-utils-3.4.1.tar.gz deleted file mode 100644 index 4934a7eb388097d0ad80226ac8ceb87027912ff3..0000000000000000000000000000000000000000 Binary files a/gfs2-utils-3.4.1.tar.gz and /dev/null differ diff --git a/gfs2-utils-3.5.1.tar.gz b/gfs2-utils-3.5.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..344542249e0fc5318d64d949e96e3c7a88d52ca0 Binary files /dev/null and b/gfs2-utils-3.5.1.tar.gz differ diff --git a/gfs2-utils.spec b/gfs2-utils.spec index 5d0f76648a3d699f2915d5e27a0b025f03cf8b41..85462749d9906bf06468425f5bf78845e7e8dab6 100644 --- a/gfs2-utils.spec +++ b/gfs2-utils.spec @@ -1,16 +1,12 @@ Name: gfs2-utils -Version: 3.4.1 -Release: 4 +Version: 3.5.1 +Release: 1 Summary: Utilities for managing the global file system (GFS2) License: GPLv2+ and LGPLv2+ URL: https://pagure.io/gfs2-utils Source0: https://releases.pagure.org/gfs2-utils/gfs2-utils-%{version}.tar.gz # https://github.com/andyprice/gfs2-utils/commit/17fb470 -Patch0: 0001-gfs2-edit-always-use-s-style-format-for-printf-style.patch -Patch1: 0002-fix-error-format-in-gfs2hex.patch -Patch2: 0003-gfs2_jadd-Use-fallocate-to-preallocate-journals.patch -Patch3: 0004-gfs2_jadd-Don-t-fsync-after-each-block-written.patch BuildRequires: ncurses-devel kernel-headers automake libtool zlib-devel gettext-devel BuildRequires: bison flex libblkid-devel libuuid-devel check-devel bzip2-devel make @@ -56,6 +52,9 @@ rm -f %{buildroot}%{_mandir}/man8/gfs2_lockcapture.8 %changelog +* Thu Aug 24 2023 zouzhimin - 3.5.1-1 +- Upgrade to 3.5.1 + * Mon Jan 9 2023 yaoguangzhong - 3.4.1-4 - backport gfs2_jadd: don't fsync after each block written