summaryrefslogtreecommitdiff
path: root/fs/ext4
diff options
context:
space:
mode:
authorRitesh Harjani <riteshh@linux.ibm.com>2020-05-10 09:24:52 +0300
committerTheodore Ts'o <tytso@mit.edu>2020-06-04 06:16:52 +0300
commitec8c60be96d6de74be601fbca56342efb9a1e039 (patch)
treeca4a9d6177ee0f814d476e309e801cbb2eca6663 /fs/ext4
parent6db074618969dc6fac4978e8043945fd440b310a (diff)
downloadlinux-ec8c60be96d6de74be601fbca56342efb9a1e039.tar.xz
ext4: improve ext_debug() msg in case of block allocation failure
ext4_map_blocks() has ext_debug msg early at the start of function. We also get ext_debug msg if we could allocate a block from ext4_ext_map_blocks(). But there is no ext_debug() msg in case of block allocation failure. So add one along with error code. Also add more info in ext_debug() msg like how many blocks were allocated v/s how many were requested in ext4_ext_map_blocks(). Signed-off-by: Ritesh Harjani <riteshh@linux.ibm.com> Link: https://lore.kernel.org/r/1610ec2aa932396be00f9d552fe29da473ead176.1589086800.git.riteshh@linux.ibm.com Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'fs/ext4')
-rw-r--r--fs/ext4/extents.c4
-rw-r--r--fs/ext4/inode.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
index ff7eeb5a77ef..7b4b0c0110ac 100644
--- a/fs/ext4/extents.c
+++ b/fs/ext4/extents.c
@@ -4246,10 +4246,10 @@ int ext4_ext_map_blocks(handle_t *handle, struct inode *inode,
newblock = ext4_mb_new_blocks(handle, &ar, &err);
if (!newblock)
goto out2;
- ext_debug("allocate new block: goal %llu, found %llu/%u\n",
- ar.goal, newblock, allocated);
allocated_clusters = ar.len;
ar.len = EXT4_C2B(sbi, ar.len) - offset;
+ ext_debug("allocate new block: goal %llu, found %llu/%u, requested %u\n",
+ ar.goal, newblock, ar.len, allocated);
if (ar.len > allocated)
ar.len = allocated;
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index 043ee7efce5f..0a52f98512d7 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -732,6 +732,10 @@ out_sem:
return ret;
}
}
+
+ if (retval < 0)
+ ext_debug("failed for inode %lu with err %d\n",
+ inode->i_ino, retval);
return retval;
}