If dquot_initialize() return non-zero and trace of ext4_unlink_enter/exit enabled then the matching-pair of trace_exit will lost in log. Signed-off-by: Yi Zhuang <zhuangyi1@xxxxxxxxxx> --- fs/ext4/namei.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c index 56738b538ddf..5e41d45915c9 100644 --- a/fs/ext4/namei.c +++ b/fs/ext4/namei.c @@ -3193,10 +3193,10 @@ static int ext4_unlink(struct inode *dir, struct dentry *dentry) * in separate transaction */ retval = dquot_initialize(dir); if (retval) - return retval; + goto out_unlink; retval = dquot_initialize(d_inode(dentry)); if (retval) - return retval; + goto out_unlink; retval = -ENOENT; bh = ext4_find_entry(dir, &dentry->d_name, &de, NULL); @@ -3255,6 +3255,7 @@ static int ext4_unlink(struct inode *dir, struct dentry *dentry) brelse(bh); if (handle) ext4_journal_stop(handle); +out_unlink: trace_ext4_unlink_exit(dentry, retval); return retval; } -- 2.26.0.106.g9fadedd