[lvm-devel] master - format_text: Use versionsort to sort archive files
Alasdair Kergon
agk at sourceware.org
Fri Feb 9 01:32:30 UTC 2018
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=1b6d0346a37d34394471080ec2aff55cea1bdafe
Commit: 1b6d0346a37d34394471080ec2aff55cea1bdafe
Parent: d6cabbbc53de615fe92ff6372a570285704b59d2
Author: Alasdair G Kergon <agk at redhat.com>
AuthorDate: Fri Feb 9 01:08:55 2018 +0000
Committer: Alasdair G Kergon <agk at redhat.com>
CommitterDate: Fri Feb 9 01:08:55 2018 +0000
format_text: Use versionsort to sort archive files
Ensure that vg_100000-* follows vg_99999-* so that the expiry logic
doesn't stop too early.
https://bugzilla.redhat.com/1481085
---
WHATS_NEW | 1 +
lib/format_text/archive.c | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/WHATS_NEW b/WHATS_NEW
index 9e6cb39..197adc3 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.02.178 -
=====================================
+ Use versionsort to fix archive file expiry beyond 100000 files.
Add devices/use_aio, aio_max, aio_memory to configure AIO limits.
Support asynchronous I/O when scanning devices.
Detect asynchronous I/O capability in configure or accept --disable-aio.
diff --git a/lib/format_text/archive.c b/lib/format_text/archive.c
index 4d4e7ac..a81a83b 100644
--- a/lib/format_text/archive.c
+++ b/lib/format_text/archive.c
@@ -136,8 +136,8 @@ static struct dm_list *_scan_archive(struct dm_pool *mem,
dm_list_init(results);
- /* Sort fails beyond 5-digit indexes */
- if ((count = scandir(dir, &dirent, NULL, alphasort)) < 0) {
+ /* Use versionsort to handle numbers beyond 5 digits */
+ if ((count = scandir(dir, &dirent, NULL, versionsort)) < 0) {
log_error("Couldn't scan the archive directory (%s).", dir);
return 0;
}
More information about the lvm-devel
mailing list