Commit 6d4cbf79 authored by Filipe Manana's avatar Filipe Manana Committed by David Sterba

Btrfs: remove no longer used io_err from btrfs_log_ctx

The io_err field of struct btrfs_log_ctx is no longer used after the
recent simplification of the fast fsync path, where we now wait for
ordered extents to complete before logging the inode. We did this in
commit b5e6c3e1 ("btrfs: always wait on ordered extents at fsync
time") and commit a2120a47 ("btrfs: clean up the left over
logged_list usage") removed its last use.
Reviewed-by: default avatarNikolay Borisov <nborisov@suse.com>
Reviewed-by: default avatarJosef Bacik <josef@toxicpanda.com>
Signed-off-by: default avatarFilipe Manana <fdmanana@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 59b0713a
...@@ -2186,25 +2186,6 @@ int btrfs_sync_file(struct file *file, loff_t start, loff_t end, int datasync) ...@@ -2186,25 +2186,6 @@ int btrfs_sync_file(struct file *file, loff_t start, loff_t end, int datasync)
up_write(&BTRFS_I(inode)->dio_sem); up_write(&BTRFS_I(inode)->dio_sem);
inode_unlock(inode); inode_unlock(inode);
/*
* If any of the ordered extents had an error, just return it to user
* space, so that the application knows some writes didn't succeed and
* can take proper action (retry for e.g.). Blindly committing the
* transaction in this case, would fool userspace that everything was
* successful. And we also want to make sure our log doesn't contain
* file extent items pointing to extents that weren't fully written to -
* just like in the non fast fsync path, where we check for the ordered
* operation's error flag before writing to the log tree and return -EIO
* if any of them had this flag set (btrfs_wait_ordered_range) -
* therefore we need to check for errors in the ordered operations,
* which are indicated by ctx.io_err.
*/
if (ctx.io_err) {
btrfs_end_transaction(trans);
ret = ctx.io_err;
goto out;
}
if (ret != BTRFS_NO_LOG_SYNC) { if (ret != BTRFS_NO_LOG_SYNC) {
if (!ret) { if (!ret) {
ret = btrfs_sync_log(trans, root, &ctx); ret = btrfs_sync_log(trans, root, &ctx);
......
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
struct btrfs_log_ctx { struct btrfs_log_ctx {
int log_ret; int log_ret;
int log_transid; int log_transid;
int io_err;
bool log_new_dentries; bool log_new_dentries;
struct inode *inode; struct inode *inode;
struct list_head list; struct list_head list;
...@@ -26,7 +25,6 @@ static inline void btrfs_init_log_ctx(struct btrfs_log_ctx *ctx, ...@@ -26,7 +25,6 @@ static inline void btrfs_init_log_ctx(struct btrfs_log_ctx *ctx,
{ {
ctx->log_ret = 0; ctx->log_ret = 0;
ctx->log_transid = 0; ctx->log_transid = 0;
ctx->io_err = 0;
ctx->log_new_dentries = false; ctx->log_new_dentries = false;
ctx->inode = inode; ctx->inode = inode;
INIT_LIST_HEAD(&ctx->list); INIT_LIST_HEAD(&ctx->list);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment