ext4: save all error info in save_error_info() and drop ext4_set_errno()
Using a separate function, ext4_set_errno() to set the errno is
problematic because it doesn't do the right thing once
s_last_error_errorcode is non-zero. It's also less racy to set all of
the error information all at once. (Also, as a bonus, it shrinks code
size slightly.)
Link: https://lore.kernel.org/r/20200329020404.686965-1-tytso@mit.edu
Fixes: 878520ac45
("ext4: save the error code which triggered...")
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
This commit is contained in:
@@ -1019,7 +1019,7 @@ static void ext4_free_branches(handle_t *handle, struct inode *inode,
|
||||
* (should be rare).
|
||||
*/
|
||||
if (!bh) {
|
||||
EXT4_ERROR_INODE_BLOCK(inode, nr,
|
||||
ext4_error_inode_block(inode, nr, EIO,
|
||||
"Read failure");
|
||||
continue;
|
||||
}
|
||||
|
Reference in New Issue
Block a user