You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by la...@apache.org on 2023/02/23 03:23:05 UTC

[kudu] 01/03: KUDU-3418 Improve hole punching error message description.

This is an automated email from the ASF dual-hosted git repository.

laiyingchun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git

commit 38b864082f1e230c181d89b8d1a764c6af7b7506
Author: Ashwani Raina <ar...@cloudera.com>
AuthorDate: Tue Feb 21 20:20:11 2023 +0530

    KUDU-3418 Improve hole punching error message description.
    
    Kudu LBM relies on hole punching support from filesystem.
    However, it is possible that even with supported kernel version
    and fileystem type, hole punching feature may not work.
    Hole punching uses fallocate system call to do its job.
    But it is evident from fallocate system call implementation of
    ext4, that encrypted inodes are not supported.
    Refer: https://elixir.bootlin.com/linux/latest/source/fs/ext4/extents.c#L4685
    
    The same description is added to kHolePunchErrorMsg used by
    CheckHolePunch method that checks for hole punching support.
    
    Change-Id: If87401012052508b9cdf394cd33dc32fb58659d4
    Reviewed-on: http://gerrit.cloudera.org:8080/19525
    Reviewed-by: Mahesh Reddy <mr...@cloudera.com>
    Reviewed-by: Yingchun Lai <la...@apache.org>
    Tested-by: Yingchun Lai <la...@apache.org>
---
 src/kudu/fs/dir_util.cc | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/kudu/fs/dir_util.cc b/src/kudu/fs/dir_util.cc
index 75aa76486..fabcf80a8 100644
--- a/src/kudu/fs/dir_util.cc
+++ b/src/kudu/fs/dir_util.cc
@@ -49,7 +49,10 @@ namespace {
 
 const char kHolePunchErrorMsg[] =
     "Error during hole punch test. The log block manager requires a "
-    "filesystem with hole punching support such as ext4 or xfs. On el6, "
+    "filesystem with hole punching support such as ext4 or xfs. ext4 filesystem "
+    "does not support hole punching for encrypted inodes because encrypted "
+    "inodes can't handle collapse/insert range as it would require re-encryption "
+    "of blocks with a different tweak based on the logical block number. On el6, "
     "kernel version 2.6.32-358 or newer is required. To run without hole "
     "punching (at the cost of some efficiency and scalability), reconfigure "
     "Kudu to use the file block manager. Refer to the Kudu documentation for "