Compare commits
No commits in common. "c10s" and "c9s" have entirely different histories.
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +0,0 @@
|
||||
/erofs-utils-1.7.1.tar.gz
|
||||
/erofs-utils-1.8.2.tar.gz
|
@ -1,51 +0,0 @@
|
||||
From 882ad1c3157f7544bd4d004e3b6d744f0cbe3ffc Mon Sep 17 00:00:00 2001
|
||||
From: Gao Xiang <hsiangkao@linux.alibaba.com>
|
||||
Date: Sat, 12 Oct 2024 11:52:13 +0800
|
||||
Subject: erofs-utils: mkfs: fix `-Eall-fragments` for multi-threaded
|
||||
compression
|
||||
|
||||
If `-Eall-fragments` is specified when multi-threaded compression is
|
||||
enabled, it should only apply to the packed inode instead of other
|
||||
real inodes for now.
|
||||
|
||||
Fixes: 10c1590c0920 ("erofs-utils: enable multi-threaded support for `-Eall-fragments`")
|
||||
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
|
||||
Link: https://lore.kernel.org/r/20241012035213.3729725-1-hsiangkao@linux.alibaba.com
|
||||
---
|
||||
lib/compress.c | 13 +++++++------
|
||||
1 file changed, 7 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/lib/compress.c b/lib/compress.c
|
||||
index 5d6fb2a..cbd4620 100644
|
||||
--- a/lib/compress.c
|
||||
+++ b/lib/compress.c
|
||||
@@ -1456,12 +1456,8 @@ void *erofs_begin_compressed_file(struct erofs_inode *inode, int fd, u64 fpos)
|
||||
inode->idata_size = 0;
|
||||
inode->fragment_size = 0;
|
||||
|
||||
- if (z_erofs_mt_enabled) {
|
||||
- ictx = malloc(sizeof(*ictx));
|
||||
- if (!ictx)
|
||||
- return ERR_PTR(-ENOMEM);
|
||||
- ictx->fd = dup(fd);
|
||||
- } else {
|
||||
+ if (!z_erofs_mt_enabled ||
|
||||
+ (cfg.c_all_fragments && !erofs_is_packed_inode(inode))) {
|
||||
#ifdef EROFS_MT_ENABLED
|
||||
pthread_mutex_lock(&g_ictx.mutex);
|
||||
if (g_ictx.seg_num)
|
||||
@@ -1471,6 +1467,11 @@ void *erofs_begin_compressed_file(struct erofs_inode *inode, int fd, u64 fpos)
|
||||
#endif
|
||||
ictx = &g_ictx;
|
||||
ictx->fd = fd;
|
||||
+ } else {
|
||||
+ ictx = malloc(sizeof(*ictx));
|
||||
+ if (!ictx)
|
||||
+ return ERR_PTR(-ENOMEM);
|
||||
+ ictx->fd = dup(fd);
|
||||
}
|
||||
|
||||
ictx->ccfg = &erofs_ccfg[inode->z_algorithmtype[0]];
|
||||
--
|
||||
cgit 1.2.3-korg
|
||||
|
109
erofs-utils.spec
109
erofs-utils.spec
@ -1,109 +0,0 @@
|
||||
%bcond deflate %[ 0%{?fedora} >= 34 || (0%{?rhel} >= 8 && 0%{?rhel} <= 9) ]
|
||||
%bcond fuse 1
|
||||
%bcond lz4 %[ 0%{?fedora} >= 34 || 0%{?rhel} >= 9 ]
|
||||
%bcond lzma %[ 0%{?fedora} >= 36 || 0%{?rhel} >= 10 ]
|
||||
%bcond qpl %[ 0%{?fedora} >= 41 && "%{_arch}" == "x86_64" ]
|
||||
%bcond selinux 1
|
||||
%bcond uuid 1
|
||||
%bcond zlib 1
|
||||
%bcond zstd 1
|
||||
|
||||
Name: erofs-utils
|
||||
Version: 1.8.2
|
||||
Release: 2%{?dist}
|
||||
|
||||
Summary: Utilities for working with EROFS
|
||||
License: GPL-2.0-only AND GPL-2.0-or-later AND (GPL-2.0-only OR Apache-2.0) AND (GPL-2.0-or-later OR Apache-2.0) AND (GPL-2.0-only OR BSD-2-Clause) AND (GPL-2.0-or-later OR BSD-2-Clause) AND Unlicense
|
||||
URL: https://erofs.docs.kernel.org/
|
||||
|
||||
Source: https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/snapshot/%{name}-%{version}.tar.gz
|
||||
Patch: https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/patch/?id=882ad1c3157f7544bd4d004e3b6d744f0cbe3ffc#/%{name}-1.8.2-fix-all-fragments.patch
|
||||
|
||||
BuildRequires: %[ "%{toolchain}" == "clang" ? "clang compiler-rt" : "gcc" ]
|
||||
BuildRequires: libtool
|
||||
BuildRequires: make
|
||||
%{?with_deflate:BuildRequires: pkgconfig(libdeflate)}
|
||||
%{?with_fuse:BuildRequires: pkgconfig(fuse3) >= 3.2}
|
||||
%{?with_lz4:BuildRequires: lz4-devel >= 1.9.3}
|
||||
%{?with_lzma:BuildRequires: pkgconfig(liblzma) >= 5.4}
|
||||
%{?with_qpl:BuildRequires: pkgconfig(qpl) >= 1.5.0}
|
||||
%{?with_selinux:BuildRequires: pkgconfig(libselinux)}
|
||||
%{?with_uuid:BuildRequires: pkgconfig(uuid)}
|
||||
%{?with_zlib:BuildRequires: pkgconfig(zlib)}
|
||||
%{?with_zstd:BuildRequires: pkgconfig(libzstd) >= 1.4.0}
|
||||
|
||||
%description
|
||||
EROFS stands for Enhanced Read-Only File System. It aims to be a general
|
||||
read-only file system solution for various use cases instead of just focusing
|
||||
on saving storage space without considering runtime performance.
|
||||
|
||||
This package includes tools to create, check, and extract EROFS images.
|
||||
|
||||
%if %{with fuse}
|
||||
%package -n erofs-fuse
|
||||
Summary: FUSE support for mounting EROFS images
|
||||
Requires: fuse3
|
||||
|
||||
%description -n erofs-fuse
|
||||
EROFS stands for Enhanced Read-Only File System. It aims to be a general
|
||||
read-only file system solution for various use cases instead of just focusing
|
||||
on saving storage space without considering runtime performance.
|
||||
|
||||
This package includes erofsfuse to mount EROFS images.
|
||||
%endif
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
autoreconf -fi
|
||||
|
||||
%build
|
||||
%configure \
|
||||
--enable-multithreading \
|
||||
--%{?with_deflate:with}%{!?with_deflate:without}-libdeflate \
|
||||
--%{?with_fuse:enable}%{!?with_fuse:disable}-fuse \
|
||||
--%{?with_lz4:enable}%{!?with_lz4:disable}-lz4 \
|
||||
--%{?with_lzma:enable}%{!?with_lzma:disable}-lzma \
|
||||
--%{?with_qpl:with}%{!?with_qpl:without}-qpl \
|
||||
--%{?with_selinux:with}%{!?with_selinux:without}-selinux \
|
||||
--%{?with_uuid:with}%{!?with_uuid:without}-uuid \
|
||||
--%{?with_zlib:with}%{!?with_zlib:without}-zlib \
|
||||
--%{?with_zstd:with}%{!?with_zstd:without}-libzstd
|
||||
%make_build
|
||||
|
||||
%install
|
||||
%make_install
|
||||
|
||||
|
||||
%files
|
||||
%{_bindir}/dump.erofs
|
||||
%{_bindir}/fsck.erofs
|
||||
%{_bindir}/mkfs.erofs
|
||||
%{_mandir}/man1/dump.erofs.1*
|
||||
%{_mandir}/man1/fsck.erofs.1*
|
||||
%{_mandir}/man1/mkfs.erofs.1*
|
||||
%doc AUTHORS ChangeLog README docs/PERFORMANCE.md docs/compress-hints.example
|
||||
%license LICENSES/Apache-2.0 LICENSES/GPL-2.0
|
||||
|
||||
%if %{with fuse}
|
||||
%files -n erofs-fuse
|
||||
%{_bindir}/erofsfuse
|
||||
%{_mandir}/man1/erofsfuse.1*
|
||||
%doc AUTHORS ChangeLog README
|
||||
%license LICENSES/Apache-2.0 LICENSES/GPL-2.0
|
||||
%endif
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed Nov 20 2024 Abhi Das <adas@redhat.com> - 1.8.2-2
|
||||
- Rebase to 1.8.2-2 for zstd and multithreading support and
|
||||
Remove erroneously added gating.yaml
|
||||
Resolves: RHEL-68370
|
||||
|
||||
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 1.7.1-5
|
||||
- Bump release for October 2024 mass rebuild:
|
||||
Resolves: RHEL-64018
|
||||
|
||||
* Wed Jul 17 2024 Abhi Das <adas@redhat.com> - 1.7.1-4
|
||||
- Import 1.7.1 to RHEL
|
||||
|
Loading…
Reference in New Issue
Block a user