| 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: ext4: propagate error from dquot_initialize() in EXT4_IOC_FSSETXATTR |
| |
| From: Wang Shilong <wshilong@ddn.com> |
| |
| commit 182a79e0c17147d2c2d3990a9a7b6b58a1561c7a upstream. |
| |
| 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 |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| fs/ext4/ioctl.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| --- a/fs/ext4/ioctl.c |
| +++ b/fs/ext4/ioctl.c |
| @@ -345,7 +345,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) + |