[gparted] Remove old workaround for btrfs resizing on Linux < 3.2 (!26)
- From: Curtis Gedak <gedakc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gparted] Remove old workaround for btrfs resizing on Linux < 3.2 (!26)
- Date: Fri, 15 Mar 2019 17:38:13 +0000 (UTC)
commit d7dbbe497980f20f27927b7570f0c3399ee7f89f
Author: Mike Fleetwood <mike fleetwood googlemail com>
Date: Mon Mar 11 14:09:51 2019 +0000
Remove old workaround for btrfs resizing on Linux < 3.2 (!26)
PATCHSET OVERVIEW
The oldest supported distributions have these versions of the Linux
kernel and btrfs-progs:
Distro EOL kernel btrfs-progs
- RHEL / CentOS 7 2024-Jun 3.10.0 4.9.1
- Ubuntu 14.04 LTS 2019-Apr 4.4.0 3.12
- Debian 8 2020-Jun 3.16.0 3.17
- SLES 12 2027-Oct 3.12.28 3.16
Making the oldest supported packages be kernel 3.10 and btrfs-progs 3.12
allows the btrfs support code to be simplified by removing backward
compatibility.
THIS CHANGE
Remove old workaround for ignoring the error when resizing a btrfs to
the same size on Linux kernel < 3.2.
Also now that only exit status 0 is considered successful from btrfs
resize, the EXEC_CHECK_STATUS flag to execute_command() can be used,
rather than having to separately call set_status() afterwards.
Relevant commit history:
* 11d044dba0c07a5c51843beec6ff38f0c55303d8
Don't ignore any errors resizing btrfs on Linux >= 3.2 (#669389)
* a580abbc30e88cb1895af342d43dcbb98183a9d5
Use newer btrfs multi-tool control command first
Closes !26 - Remove support for btrfs-progs < 3.12
src/btrfs.cc | 30 +-----------------------------
1 file changed, 1 insertion(+), 29 deletions(-)
---
diff --git a/src/btrfs.cc b/src/btrfs.cc
index 671311cf..de55fc7c 100644
--- a/src/btrfs.cc
+++ b/src/btrfs.cc
@@ -30,7 +30,6 @@ namespace GParted
{
bool btrfs_found = false ;
-bool resize_to_same_size_fails = true ;
// Cache of required btrfs file system device information by device
// E.g. For a single device btrfs on /dev/sda2 and a three device btrfs
@@ -136,10 +135,6 @@ FS btrfs::get_filesystem_support()
fs_limits.min_size = 256 * MEBIBYTE;
- //Linux before version 3.2 fails when resizing btrfs file system
- // to the same size.
- resize_to_same_size_fails = ! Utils::kernel_version_at_least( 3, 2, 0 ) ;
-
return fs ;
}
@@ -347,30 +342,7 @@ bool btrfs::resize( const Partition & partition_new, OperationDetail & operation
cmd = "btrfs filesystem resize " + devid_str + ":" + size + " " + Glib::shell_quote(
mount_point );
else
cmd = "btrfsctl -r " + devid_str + ":" + size + " " + Glib::shell_quote( mount_point
);
- exit_status = execute_command( cmd, operationdetail );
- bool resize_succeeded = ( exit_status == 0 ) ;
- if ( resize_to_same_size_fails )
- {
- //Linux before version 3.2 fails when resizing a
- // btrfs file system to the same size with ioctl()
- // returning -1 EINVAL (Invalid argument) from the
- // kernel btrfs code.
- // * Btrfs filesystem resize reports this as exit
- // status 30:
- // ERROR: Unable to resize '/MOUNTPOINT'
- // * Btrfsctl -r reports this as exit status 1:
- // ioctl:: Invalid argument
- // WARNING:
- // Ignoring these errors could mask real failures,
- // but not ignoring them will cause resizing to the
- // same size as part of check operation to fail.
- resize_succeeded = ( exit_status == 0
- || ( btrfs_found && exit_status == 30 )
- || ( ! btrfs_found && exit_status == 1 )
- ) ;
- }
- set_status( operationdetail, resize_succeeded );
- success &= resize_succeeded ;
+ success &= ! execute_command(cmd, operationdetail, EXEC_CHECK_STATUS);
if ( ! partition_new .busy )
success &= ! execute_command( "umount -v " + Glib::shell_quote( mount_point ),
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]