Re: [PATCH] ext4: Log inode exhaustion to dmesg

From: Theodore Ts'o
Date: Mon Oct 23 2017 - 08:04:53 EST


Hi,

The Signed-off-by needs to contain your real name (sorry, no
pseudonyms or anonymous contributions.) That's because it has a
formal legal meaning. See Section 11: "Sign your work - the
Developerâs Certificate of Origin" of the Submitting Patches
docuementation:

https://www.kernel.org/doc/html/latest/process/submitting-patches.html

(Also, you should use ext4_warning() and not a bare printk).

- Ted

On Mon, Oct 23, 2017 at 05:32:47PM +0530, Team Athena wrote:
> Make a log in dmesg when file creation fails due to no free inodes.
> The error code for both "out of disk space" and "out of inode" is the same.
> This is misleading to the user. Logging the exact reason helps to find and
> correct the issue from the users' side.
>
> Fix bug 197335 - https://bugzilla.kernel.org/show_bug.cgi?id=197335
>
> Signed-off-by: Team Athena <teamathena.nitc@xxxxxxxxx>
> ---
> fs/ext4/namei.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c
> index c1cf020d..c3990d2d 100644
> --- a/fs/ext4/namei.c
> +++ b/fs/ext4/namei.c
> @@ -2463,6 +2463,8 @@ static int ext4_create(struct inode *dir, struct dentry *dentry, umode_t mode,
> ext4_journal_stop(handle);
> if (err == -ENOSPC && ext4_should_retry_alloc(dir->i_sb, &retries))
> goto retry;
> + else if (err == -ENOSPC && printk_ratelimited())
> + printk(pr_warning "ext4: No space on disk, inode usage full");
> return err;
> }
>
> --
> 2.11.0
>