Adar Dembo has submitted this change and it was merged. Change subject: env: add RWFile::GetExtentMap for analyzing file extents ......................................................................
env: add RWFile::GetExtentMap for analyzing file extents This patch introduces a method to get the extent metadata of a file provided it resides on an extent-based filesystem (such as ext4 or xfs). Each extent is an offset and length into the file, and represents a chunk of filesystem that has been allocated for the file. Gaps between extents are expected to be unallocated and may represent punched out holes. On Linux, the extent listing is retrieved via repeated calls to the FS_IOC_FIEMAP ioctl, though only some of the information returned is actually used. Originally I intended to use this in the log block manager for finding extra allocated space in container files. I ended up using a coarser heuristic, but I'd like to merge this anyway as I think it'll be useful in future as a more precise way of repairing extra allocated space. Change-Id: I35bd1bdb9e1a839af2ab95ea73b79217c1f4a2b3 Reviewed-on: http://gerrit.cloudera.org:8080/6583 Tested-by: Kudu Jenkins Reviewed-by: David Ribeiro Alves <davidral...@gmail.com> --- M src/kudu/util/env-test.cc M src/kudu/util/env.h M src/kudu/util/env_posix.cc M src/kudu/util/file_cache.cc 4 files changed, 145 insertions(+), 3 deletions(-) Approvals: David Ribeiro Alves: Looks good to me, approved Kudu Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/6583 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I35bd1bdb9e1a839af2ab95ea73b79217c1f4a2b3 Gerrit-PatchSet: 12 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com> Gerrit-Reviewer: David Ribeiro Alves <davidral...@gmail.com> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon <t...@apache.org>