Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.2:Update
util-linux.6436
util-linux-fstrim-de-duplicate.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File util-linux-fstrim-de-duplicate.patch of Package util-linux.6436
From afa382f2e087b71c9e626144f2f313abc42ad594 Mon Sep 17 00:00:00 2001 From: Stanislav Brabec <sbrabec@suse.cz> Date: Wed, 25 Jan 2017 18:30:26 +0100 Subject: [PATCH] fstrim: de-duplicate btrfs sub-volumes There was a comparison of roots in uniq_fs_source_cmp(). As we care only on device names, comparing roots makes only a little sense, and it breaks on btrfs. As a result, FITRIM ioctl() is called for each subvolume. But by design, only one TRIM is needed for the whole btrfs volume. Remove it to be able to de-duplicate btrfs subvolumes. Fixes opensuse #1020077. Signed-off-by: Stanislav Brabec <sbrabec@suse.cz> --- sys-utils/fstrim.c | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/sys-utils/fstrim.c b/sys-utils/fstrim.c index e92a822f0..f252edba0 100644 --- a/sys-utils/fstrim.c +++ b/sys-utils/fstrim.c @@ -158,23 +158,11 @@ static int uniq_fs_source_cmp( struct libmnt_fs *a, struct libmnt_fs *b) { - int eq; - if (mnt_fs_is_pseudofs(a) || mnt_fs_is_netfs(a) || mnt_fs_is_pseudofs(b) || mnt_fs_is_netfs(b)) return 1; - eq = mnt_fs_streq_srcpath(a, mnt_fs_get_srcpath(b)); - if (eq) { - const char *aroot = mnt_fs_get_root(a), - *broot = mnt_fs_get_root(b); - if (!aroot || !broot) - eq = 0; - else if (strcmp(aroot, broot) != 0) - eq = 0; - } - - return !eq; + return !mnt_fs_streq_srcpath(a, mnt_fs_get_srcpath(b)); } /* -- 2.11.0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor