From 9a730233c935085ec5de9440796daa0d416ba4ba Mon Sep 17 00:00:00 2001 From: Alasdair G Kergon Date: Fri, 9 Feb 2018 01:08:55 +0000 Subject: [PATCH] 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 35695ab79..25707ab84 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. Version 2.02.178-rc1 - 24th May 2018 ==================================== diff --git a/lib/format_text/archive.c b/lib/format_text/archive.c index 690bc7408..533e91ce6 100644 --- a/lib/format_text/archive.c +++ b/lib/format_text/archive.c @@ -135,8 +135,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; }