Compare commits
23 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
e61a0b7443 | ||
|
b557c8beb8 | ||
|
ae500ad192 | ||
|
17c685dc70 | ||
|
b5de6e391d | ||
|
b4034dc428 | ||
|
0211491f0e | ||
|
370dc5be90 | ||
|
9cef146124 | ||
|
c5958f7403 | ||
|
51469ed8c6 | ||
|
877fbd4ee5 | ||
|
38744e8d9c | ||
|
2c5723788c | ||
|
92b35f27e4 | ||
|
7db4900d26 | ||
|
e352342bc0 | ||
|
7094c22bad | ||
|
df2a0bb91a | ||
|
f70dbb9d0a | ||
|
266946abde | ||
|
85251bda22 | ||
|
e6ede9b559 |
34
.gitignore
vendored
34
.gitignore
vendored
@ -88,3 +88,37 @@
|
||||
/btrfs-progs-v5.14.1.tar.xz
|
||||
/btrfs-progs-v5.14.2.tar.sign
|
||||
/btrfs-progs-v5.14.2.tar.xz
|
||||
/btrfs-progs-v5.14.91.tar.sign
|
||||
/btrfs-progs-v5.14.91.tar.xz
|
||||
/btrfs-progs-v5.15.tar.sign
|
||||
/btrfs-progs-v5.15.tar.xz
|
||||
/btrfs-progs-v5.15.1.tar.sign
|
||||
/btrfs-progs-v5.15.1.tar.xz
|
||||
/btrfs-progs-v5.16.tar.sign
|
||||
/btrfs-progs-v5.16.tar.xz
|
||||
/btrfs-progs-v5.16.1.tar.sign
|
||||
/btrfs-progs-v5.16.1.tar.xz
|
||||
/btrfs-progs-v5.16.2.tar.sign
|
||||
/btrfs-progs-v5.16.2.tar.xz
|
||||
/btrfs-progs-v5.18.tar.sign
|
||||
/btrfs-progs-v5.18.tar.xz
|
||||
/btrfs-progs-v5.19.1.tar.sign
|
||||
/btrfs-progs-v5.19.1.tar.xz
|
||||
/btrfs-progs-v6.0.tar.sign
|
||||
/btrfs-progs-v6.0.tar.xz
|
||||
/btrfs-progs-v6.0.1.tar.sign
|
||||
/btrfs-progs-v6.0.1.tar.xz
|
||||
/btrfs-progs-v6.0.2.tar.sign
|
||||
/btrfs-progs-v6.0.2.tar.xz
|
||||
/btrfs-progs-v6.1.tar.sign
|
||||
/btrfs-progs-v6.1.tar.xz
|
||||
/btrfs-progs-v6.1.1.tar.sign
|
||||
/btrfs-progs-v6.1.1.tar.xz
|
||||
/btrfs-progs-v6.1.2.tar.sign
|
||||
/btrfs-progs-v6.1.2.tar.xz
|
||||
/btrfs-progs-v6.1.3.tar.sign
|
||||
/btrfs-progs-v6.1.3.tar.xz
|
||||
/btrfs-progs-v6.2.1.tar.sign
|
||||
/btrfs-progs-v6.2.1.tar.xz
|
||||
/btrfs-progs-v6.2.2.tar.sign
|
||||
/btrfs-progs-v6.2.2.tar.xz
|
||||
|
91
0001-btrfs-progs-mkfs-Enforce-4k-sectorsize-by-default.patch
Normal file
91
0001-btrfs-progs-mkfs-Enforce-4k-sectorsize-by-default.patch
Normal file
@ -0,0 +1,91 @@
|
||||
From: Neal Gompa <neal@gompa.dev>
|
||||
Subject: [PATCH 1/1] btrfs-progs: mkfs: Enforce 4k sectorsize by default
|
||||
Date: Wed, 22 Mar 2023 18:17:14 -0400
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
We have had working subpage support in Btrfs for many cycles now.
|
||||
Generally, we do not want people creating filesystems by default
|
||||
with non-4k sectorsizes since it creates portability problems.
|
||||
|
||||
Signed-off-by: Neal Gompa <neal@gompa.dev>
|
||||
|
||||
Reviewed-by: Anand Jain <anand.jain@oracle.com>
|
||||
Reviewed-by: Qu Wenruo <wqu@suse.com>
|
||||
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
|
||||
|
||||
---
|
||||
Documentation/Subpage.rst | 15 ++++++++-------
|
||||
Documentation/mkfs.btrfs.rst | 13 +++++++++----
|
||||
mkfs/main.c | 2 +-
|
||||
3 files changed, 18 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/Documentation/Subpage.rst b/Documentation/Subpage.rst
|
||||
index 21a495d5..39ef7d6d 100644
|
||||
--- a/Documentation/Subpage.rst
|
||||
+++ b/Documentation/Subpage.rst
|
||||
@@ -9,17 +9,18 @@ to the exactly same size of the block and page. On x86_64 this is typically
|
||||
pages, like 64KiB on 64bit ARM or PowerPC. This means filesystems created
|
||||
with 64KiB sector size cannot be mounted on a system with 4KiB page size.
|
||||
|
||||
-While with subpage support, systems with 64KiB page size can create (still needs
|
||||
-"-s 4k" option for mkfs.btrfs) and mount filesystems with 4KiB sectorsize,
|
||||
-allowing us to push 4KiB sectorsize as default sectorsize for all platforms in the
|
||||
-near future.
|
||||
+Since v6.3, filesystems are created with a 4KiB sectorsize by default,
|
||||
+though it remains possible to create filesystems with other page sizes
|
||||
+(such as 64KiB with the "-s 64k" option for mkfs.btrfs). This ensures that
|
||||
+new filesystems are compatible across other architecture variants using
|
||||
+larger page sizes.
|
||||
|
||||
Requirements, limitations
|
||||
-------------------------
|
||||
|
||||
-The initial subpage support has been added in v5.15, although it's still
|
||||
-considered as experimental at the time of writing (v5.18), most features are
|
||||
-already working without problems.
|
||||
+The initial subpage support has been added in v5.15. Most features are
|
||||
+already working without problems. Subpage support is used by default
|
||||
+for systems with a non-4KiB page size since v6.3.
|
||||
|
||||
End users can mount filesystems with 4KiB sectorsize and do their usual
|
||||
workload, while should not notice any obvious change, as long as the initial
|
||||
diff --git a/Documentation/mkfs.btrfs.rst b/Documentation/mkfs.btrfs.rst
|
||||
index ba7227b3..16abf0ca 100644
|
||||
--- a/Documentation/mkfs.btrfs.rst
|
||||
+++ b/Documentation/mkfs.btrfs.rst
|
||||
@@ -116,10 +116,15 @@ OPTIONS
|
||||
-s|--sectorsize <size>
|
||||
Specify the sectorsize, the minimum data block allocation unit.
|
||||
|
||||
- The default value is the page size and is autodetected. If the sectorsize
|
||||
- differs from the page size, the created filesystem may not be mountable by the
|
||||
- running kernel. Therefore it is not recommended to use this option unless you
|
||||
- are going to mount it on a system with the appropriate page size.
|
||||
+ By default, the value is 4KiB, but it can be manually set to match the
|
||||
+ system page size. However, if the sector size is different from the page
|
||||
+ size, the resulting filesystem may not be mountable by the current
|
||||
+ kernel, apart from the default 4KiB. Hence, using this option is not
|
||||
+ advised unless you intend to mount it on a system with the suitable
|
||||
+ page size.
|
||||
+
|
||||
+ .. note::
|
||||
+ Versions prior to 6.3 set the sectorsize matching to the page size.
|
||||
|
||||
-L|--label <string>
|
||||
Specify a label for the filesystem. The *string* should be less than 256
|
||||
diff --git a/mkfs/main.c b/mkfs/main.c
|
||||
index f5e34cbd..5e1834d7 100644
|
||||
--- a/mkfs/main.c
|
||||
+++ b/mkfs/main.c
|
||||
@@ -1207,7 +1207,7 @@ int BOX_MAIN(mkfs)(int argc, char **argv)
|
||||
}
|
||||
|
||||
if (!sectorsize)
|
||||
- sectorsize = (u32)sysconf(_SC_PAGESIZE);
|
||||
+ sectorsize = (u32)SZ_4K;
|
||||
if (btrfs_check_sectorsize(sectorsize))
|
||||
goto error;
|
||||
|
||||
--
|
||||
2.39.2
|
||||
|
@ -0,0 +1,52 @@
|
||||
From 56ea5a3eba4f2048d3e6297a7ab7eb5ef19e2177 Mon Sep 17 00:00:00 2001
|
||||
From: Neal Gompa <ngompa@fedoraproject.org>
|
||||
Date: Tue, 21 Mar 2023 15:40:15 -0400
|
||||
Subject: [PATCH 2/2] btrfs-progs: mkfs: doc: Drop version change for 4k
|
||||
sectorsize
|
||||
|
||||
This is not yet upstream so we don't know what version this change
|
||||
has landed in.
|
||||
---
|
||||
Documentation/Subpage.rst | 4 ++--
|
||||
Documentation/mkfs.btrfs.rst | 3 ---
|
||||
2 files changed, 2 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/Documentation/Subpage.rst b/Documentation/Subpage.rst
|
||||
index 39ef7d6d..a128db95 100644
|
||||
--- a/Documentation/Subpage.rst
|
||||
+++ b/Documentation/Subpage.rst
|
||||
@@ -9,7 +9,7 @@ to the exactly same size of the block and page. On x86_64 this is typically
|
||||
pages, like 64KiB on 64bit ARM or PowerPC. This means filesystems created
|
||||
with 64KiB sector size cannot be mounted on a system with 4KiB page size.
|
||||
|
||||
-Since v6.3, filesystems are created with a 4KiB sectorsize by default,
|
||||
+Filesystems are created with a 4KiB sectorsize by default,
|
||||
though it remains possible to create filesystems with other page sizes
|
||||
(such as 64KiB with the "-s 64k" option for mkfs.btrfs). This ensures that
|
||||
new filesystems are compatible across other architecture variants using
|
||||
@@ -20,7 +20,7 @@ Requirements, limitations
|
||||
|
||||
The initial subpage support has been added in v5.15. Most features are
|
||||
already working without problems. Subpage support is used by default
|
||||
-for systems with a non-4KiB page size since v6.3.
|
||||
+for systems with a non-4KiB page size.
|
||||
|
||||
End users can mount filesystems with 4KiB sectorsize and do their usual
|
||||
workload, while should not notice any obvious change, as long as the initial
|
||||
diff --git a/Documentation/mkfs.btrfs.rst b/Documentation/mkfs.btrfs.rst
|
||||
index 50d9921a..0f6056a4 100644
|
||||
--- a/Documentation/mkfs.btrfs.rst
|
||||
+++ b/Documentation/mkfs.btrfs.rst
|
||||
@@ -123,9 +123,6 @@ OPTIONS
|
||||
advised unless you intend to mount it on a system with the suitable
|
||||
page size.
|
||||
|
||||
- .. note::
|
||||
- Versions prior to 6.3 set the sectorsize matching to the page size.
|
||||
-
|
||||
-L|--label <string>
|
||||
Specify a label for the filesystem. The *string* should be less than 256
|
||||
bytes and must not contain newline characters.
|
||||
--
|
||||
2.39.2
|
||||
|
@ -2,26 +2,35 @@
|
||||
%{!?version_no_tilde: %define version_no_tilde %{shrink:%(echo '%{version}' | tr '~' '-')}}
|
||||
|
||||
Name: btrfs-progs
|
||||
Version: 5.14.2
|
||||
Version: 6.2.2
|
||||
Release: 1%{?dist}
|
||||
Summary: Userspace programs for btrfs
|
||||
|
||||
License: GPLv2
|
||||
License: GPL-2.0-only
|
||||
URL: https://btrfs.wiki.kernel.org/index.php/Main_Page
|
||||
Source0: https://www.kernel.org/pub/linux/kernel/people/kdave/%{name}/%{name}-v%{version_no_tilde}.tar.xz
|
||||
Source1: https://www.kernel.org/pub/linux/kernel/people/kdave/%{name}/%{name}-v%{version_no_tilde}.tar.sign
|
||||
Source2: gpgkey-F2B41200C54EFB30380C1756C565D5F9D76D583B.gpg
|
||||
|
||||
# Upstreamable changes
|
||||
## From: https://lore.kernel.org/linux-btrfs/20230322221714.2702819-1-neal@gompa.dev/T/#t
|
||||
Patch0101: 0001-btrfs-progs-mkfs-Enforce-4k-sectorsize-by-default.patch
|
||||
## Fedora specific doc change stacked on top
|
||||
Patch0102: 0002-btrfs-progs-mkfs-doc-Drop-version-change-for-4k-sect.patch
|
||||
|
||||
|
||||
BuildRequires: gnupg2
|
||||
BuildRequires: gcc, autoconf, automake, make
|
||||
BuildRequires: git-core
|
||||
BuildRequires: e2fsprogs-devel
|
||||
BuildRequires: libacl-devel, lzo-devel
|
||||
BuildRequires: pkgconfig(blkid)
|
||||
BuildRequires: pkgconfig(uuid)
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
BuildRequires: pkgconfig(libgcrypt) >= 1.8.0
|
||||
BuildRequires: pkgconfig(libudev)
|
||||
BuildRequires: pkgconfig(libzstd) >= 1.0.0
|
||||
BuildRequires: asciidoc, xmlto
|
||||
BuildRequires: python3-sphinx
|
||||
BuildRequires: systemd
|
||||
BuildRequires: python3-devel >= 3.4
|
||||
BuildRequires: python3-setuptools
|
||||
@ -32,7 +41,7 @@ check, modify and correct any inconsistencies in the btrfs filesystem.
|
||||
|
||||
%package -n libbtrfs
|
||||
Summary: btrfs filesystem-specific runtime libraries
|
||||
License: GPLv2
|
||||
License: GPL-2.0-only
|
||||
# Upstream deprecated this library
|
||||
Provides: deprecated()
|
||||
# This was not properly split out before
|
||||
@ -44,7 +53,7 @@ filesystem-specific programs.
|
||||
|
||||
%package -n libbtrfsutil
|
||||
Summary: btrfs filesystem-specific runtime utility libraries
|
||||
License: LGPLv2+
|
||||
License: LGPL-2.1-or-later
|
||||
# This was not properly split out before
|
||||
Conflicts: %{name}-devel < 4.20.2
|
||||
|
||||
@ -55,7 +64,7 @@ filesystem-specific programs.
|
||||
%package devel
|
||||
Summary: btrfs filesystem-specific libraries and headers
|
||||
# libbtrfsutil is LGPLv2+
|
||||
License: GPLv2 and LGPLv2+
|
||||
License: GPL-2.0-only and LGPL-2.1-or-later
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: libbtrfs%{?_isa} = %{version}-%{release}
|
||||
Requires: libbtrfsutil%{?_isa} = %{version}-%{release}
|
||||
@ -73,7 +82,7 @@ btrfs filesystem-specific programs.
|
||||
|
||||
%package -n python3-btrfsutil
|
||||
Summary: Python 3 bindings for libbtrfsutil
|
||||
License: LGPLv2+
|
||||
License: LGPL-2.1-or-later
|
||||
Requires: libbtrfsutil%{?_isa} = %{version}-%{release}
|
||||
%{?python_provide:%python_provide python3-btrfsutil}
|
||||
|
||||
@ -86,11 +95,11 @@ btrfs filesystem-specific programs in Python.
|
||||
|
||||
%prep
|
||||
xzcat '%{SOURCE0}' | %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data=-
|
||||
%autosetup -n %{name}-v%{version_no_tilde} -p1
|
||||
%autosetup -n %{name}-v%{version_no_tilde} -S git_am
|
||||
|
||||
%build
|
||||
./autogen.sh
|
||||
%configure CFLAGS="%{optflags} -fno-strict-aliasing" --disable-python
|
||||
%configure CFLAGS="%{optflags} -fno-strict-aliasing" --with-crypto=libgcrypt --disable-python
|
||||
%make_build
|
||||
|
||||
pushd libbtrfsutil/python
|
||||
@ -122,6 +131,7 @@ popd
|
||||
%{_mandir}/man5/*
|
||||
%{_mandir}/man8/*
|
||||
%{_udevrulesdir}/64-btrfs-dm.rules
|
||||
%{_udevrulesdir}/64-btrfs-zoned.rules
|
||||
%{_datadir}/bash-completion/completions/btrfs
|
||||
|
||||
%files -n libbtrfs
|
||||
@ -144,6 +154,77 @@ popd
|
||||
%{python3_sitearch}/btrfsutil-*.egg-info/
|
||||
|
||||
%changelog
|
||||
* Sun Mar 26 2023 Neal Gompa <ngompa@fedoraproject.org> - 6.2.2-1
|
||||
- Update to 6.2.2
|
||||
|
||||
* Wed Mar 22 2023 Neal Gompa <ngompa@fedoraproject.org> - 6.2.1-2
|
||||
- Add patch to force default sectorsize to 4k
|
||||
|
||||
* Mon Mar 06 2023 Neal Gompa <ngompa@fedoraproject.org> - 6.2.1-1
|
||||
- Update to 6.2.1
|
||||
|
||||
* Wed Jan 25 2023 Neal Gompa <ngompa@fedoraproject.org> - 6.1.3-1
|
||||
- Update to 6.1.3
|
||||
- Switch to SPDX license identifiers
|
||||
|
||||
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 6.1.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Thu Jan 05 2023 Neal Gompa <ngompa@fedoraproject.org> - 6.1.2-1
|
||||
- Update to 6.1.2
|
||||
|
||||
* Tue Jan 03 2023 Neal Gompa <ngompa@fedoraproject.org> - 6.1.1-1
|
||||
- Update to 6.1.1
|
||||
|
||||
* Fri Dec 30 2022 Neal Gompa <ngompa@fedoraproject.org> - 6.1-2
|
||||
- Add fix to show UUID with "btrfs subvolume list -u"
|
||||
|
||||
* Fri Dec 23 2022 Neal Gompa <ngompa@fedoraproject.org> - 6.1-1
|
||||
- Update to 6.1
|
||||
- Use libgcrypt for cryptographic hash functions
|
||||
|
||||
* Fri Nov 25 2022 Neal Gompa <ngompa@fedoraproject.org> - 6.0.2-1
|
||||
- Update to 6.0.2
|
||||
|
||||
* Fri Nov 04 2022 Igor Raits <ignatenkobrain@fedoraproject.org> - 6.0.1-1
|
||||
- Update to 6.0.1
|
||||
|
||||
* Thu Oct 13 2022 Neal Gompa <ngompa@fedoraproject.org> - 6.0-1
|
||||
- Update to 6.0
|
||||
|
||||
* Thu Oct 13 2022 Neal Gompa <ngompa@fedoraproject.org> - 5.19.1-1
|
||||
- Update to 5.19.1
|
||||
|
||||
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.18-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 5.18-2
|
||||
- Rebuilt for Python 3.11
|
||||
|
||||
* Wed May 25 2022 Neal Gompa <ngompa@fedoraproject.org> - 5.18-1
|
||||
- Update to 5.18
|
||||
|
||||
* Wed Feb 16 2022 Neal Gompa <ngompa@fedoraproject.org> - 5.16.2-1
|
||||
- Update to 5.16.2
|
||||
|
||||
* Sat Feb 05 2022 Igor Raits <igor.raits@gmail.com> - 5.16.1-1
|
||||
- Update to 5.16.1
|
||||
|
||||
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.16-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Mon Jan 17 2022 Neal Gompa <ngompa@fedoraproject.org> - 5.16-1
|
||||
- Update to 5.16
|
||||
|
||||
* Mon Nov 22 2021 Neal Gompa <ngompa@fedoraproject.org> - 5.15.1-1
|
||||
- Update to 5.15.1
|
||||
|
||||
* Fri Nov 05 2021 Neal Gompa <ngompa@fedoraproject.org> - 5.15-1
|
||||
- Update to 5.15
|
||||
|
||||
* Sat Oct 30 2021 Neal Gompa <ngompa@fedoraproject.org> - 5.14.91-1
|
||||
- Update to 5.14.91 (5.15~rc1)
|
||||
|
||||
* Sat Oct 09 2021 Neal Gompa <ngompa@fedoraproject.org> - 5.14.2-1
|
||||
- Update to 5.14.2
|
||||
|
||||
|
4
sources
4
sources
@ -1,2 +1,2 @@
|
||||
SHA512 (btrfs-progs-v5.14.2.tar.sign) = a2dc30d2bc402ea2370fd093b9816e1414c72af5a3184efa8aa5e537bcb8a05b06bfb02cdc43ad2f81b041f58a0682d86742065e6cc60771abf956c7ab37a294
|
||||
SHA512 (btrfs-progs-v5.14.2.tar.xz) = dc1a73e49dd94ccd8128c197d99f112977b16350d22bc0ca32247211314a3fec66de73827305bf24ef8e0571fc890f00378d0ec3a82988f0ee54f5db10f6578c
|
||||
SHA512 (btrfs-progs-v6.2.2.tar.sign) = cd05827dfd66de7eefb0dc9534baacffe7b115fa1f3b2c0d0e7bb280ff47ed9c6308684db2284f65750fb883bbcc2fecb36c09b597f11b07e29d8864b032af33
|
||||
SHA512 (btrfs-progs-v6.2.2.tar.xz) = 967e1c1a6b956a4e11a794aad090d1cf370fd98e4186525ccfbbbc9ae3f2bb66ace1d684730f93c558403b7ac1c991aec3d04d07548b19ee1516352a069431db
|
||||
|
Loading…
Reference in New Issue
Block a user