[lvm-devel] master - libdm: ensure first extent is always counted
Bryn Reeves
bmr at fedoraproject.org
Tue Dec 13 21:41:54 UTC 2016
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=f4401fe351f63679ae8f4bab448a9283fb631a4a
Commit: f4401fe351f63679ae8f4bab448a9283fb631a4a
Parent: fce7449d7311b49839f339b714c48e953e9a837a
Author: Bryn M. Reeves <bmr at redhat.com>
AuthorDate: Tue Dec 13 21:36:11 2016 +0000
Committer: Bryn M. Reeves <bmr at redhat.com>
CommitterDate: Tue Dec 13 21:41:31 2016 +0000
libdm: ensure first extent is always counted
If FIEMAP returns a single extent after the first call, no extent
boundary is detected and the first extent is not counted by the
normal mechanism.
In this case, increment nr_extents at the same time the extent is
added to the region table, before returning.
---
libdm/libdm-stats.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/libdm/libdm-stats.c b/libdm/libdm-stats.c
index 02a30dc..8d202d2 100644
--- a/libdm/libdm-stats.c
+++ b/libdm/libdm-stats.c
@@ -4286,8 +4286,10 @@ static uint64_t _stats_map_extents(struct dm_pool *mem,
* If the file only has a single extent, no boundary is ever
* detected to trigger addition of the first extent.
*/
- if (fm_ext[i - 1].fe_logical == 0)
+ if (fm_ext[i - 1].fe_logical == 0) {
_stats_add_extent(mem, fm_pending, nr_extents);
+ nr_extents++;
+ }
fiemap->fm_start = (fm_ext[i - 1].fe_logical +
fm_ext[i - 1].fe_length);
More information about the lvm-devel
mailing list