diff --git a/fs/ext4/fsync.c b/fs/ext4/fsync.c index 1d668c8f131ff68111b3780285da45faa924e209..6476994d9861debd1504a55fcd46f5f86cd4f3d9 100644 --- a/fs/ext4/fsync.c +++ b/fs/ext4/fsync.c @@ -150,7 +150,7 @@ int ext4_sync_file(struct file *file, loff_t start, loff_t end, int datasync) ret = file_write_and_wait_range(file, start, end); if (ret) - return ret; + goto out; /* * data=writeback,ordered: diff --git a/fs/ext4/indirect.c b/fs/ext4/indirect.c index a56ce3873e6d4fae2e3ed9fb9ea51ebbaf46f892..23e504a40cd70763f5aa75b4243787b4e4e2cfb9 100644 --- a/fs/ext4/indirect.c +++ b/fs/ext4/indirect.c @@ -593,7 +593,8 @@ int ext4_ind_map_blocks(handle_t *handle, struct inode *inode, if (ext4_has_feature_bigalloc(inode->i_sb)) { EXT4_ERROR_INODE(inode, "Can't allocate blocks for " "non-extent mapped inodes with bigalloc"); - return -EFSCORRUPTED; + err = -EFSCORRUPTED; + goto out; } /* Set up for the direct block allocation */