Blob Blame History Raw
From 182a79e0c17147d2c2d3990a9a7b6b58a1561c7a Mon Sep 17 00:00:00 2001
From: Wang Shilong <wshilong@ddn.com>
Date: Wed, 3 Oct 2018 12:19:21 -0400
Subject: [PATCH] ext4: propagate error from dquot_initialize() in
 EXT4_IOC_FSSETXATTR
Git-commit: 182a79e0c17147d2c2d3990a9a7b6b58a1561c7a
Patch-mainline: v4.20-rc1
References: bsc#1117790

We return most failure of dquota_initialize() except
inode evict, this could make a bit sense, for example
we allow file removal even quota files are broken?

But it dosen't make sense to allow setting project
if quota files etc are broken.

Signed-off-by: Wang Shilong <wshilong@ddn.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@kernel.org
Acked-by: Jan Kara <jack@suse.cz>

---
 fs/ext4/ioctl.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

--- a/fs/ext4/ioctl.c
+++ b/fs/ext4/ioctl.c
@@ -363,7 +363,9 @@ static int ext4_ioctl_setproject(struct
 	}
 	brelse(iloc.bh);
 
-	dquot_initialize(inode);
+	err = dquot_initialize(inode);
+	if (err)
+		return err;
 
 	handle = ext4_journal_start(inode, EXT4_HT_QUOTA,
 		EXT4_QUOTA_INIT_BLOCKS(sb) +