diff mbox

Btrfs: don't ignore errors from btrfs_run_delayed_items

Message ID 1375662326-23444-1-git-send-email-fdmanana@gmail.com (mailing list archive)
State Superseded, archived
Headers show

Commit Message

Filipe Manana Aug. 5, 2013, 12:25 a.m. UTC
tree-log.c was ignoring the return value from btrfs_run_delayed_items()
in several places.

Signed-off-by: Filipe David Borba Manana <fdmanana@gmail.com>
---
 fs/btrfs/tree-log.c |   12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

Comments

Miao Xie Aug. 5, 2013, 2:21 a.m. UTC | #1
On mon, 5 Aug 2013 01:25:26 +0100, Filipe David Borba Manana wrote:
> tree-log.c was ignoring the return value from btrfs_run_delayed_items()
> in several places.
> 
> Signed-off-by: Filipe David Borba Manana <fdmanana@gmail.com>
> ---
>  fs/btrfs/tree-log.c |   12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
> index ff60d89..f919f26 100644
> --- a/fs/btrfs/tree-log.c
> +++ b/fs/btrfs/tree-log.c
> @@ -747,7 +747,8 @@ static noinline int drop_one_dir_item(struct btrfs_trans_handle *trans,
>  	ret = btrfs_unlink_inode(trans, root, dir, inode, name, name_len);
>  	if (ret)
>  		goto out;
> -	btrfs_run_delayed_items(trans, root);
> +	else
> +		ret = btrfs_run_delayed_items(trans, root);
>  out:
>  	kfree(name);
>  	iput(inode);
> @@ -923,7 +924,9 @@ again:
>  				kfree(victim_name);
>  				if (ret)
>  					return ret;
> -				btrfs_run_delayed_items(trans, root);
> +				ret = btrfs_run_delayed_items(trans, root);
> +				if (ret)
> +					return ret;
>  				*search_done = 1;
>  				goto again;
>  			}
> @@ -990,7 +993,8 @@ again:
>  								 inode,
>  								 victim_name,
>  								 victim_name_len);
> -					btrfs_run_delayed_items(trans, root);
> +					if (!ret)
> +						ret = btrfs_run_delayed_items(trans, root);

checkpatch.pl reported:

WARNING: line over 80 characters
#141: FILE: fs/btrfs/tree-log.c:997:
+						ret = btrfs_run_delayed_items(trans, root);

The other code is OK.

Thanks
Miao

>  				}
>  				iput(victim_parent);
>  				kfree(victim_name);
> @@ -1810,7 +1814,7 @@ again:
>  			ret = btrfs_unlink_inode(trans, root, dir, inode,
>  						 name, name_len);
>  			if (!ret)
> -				btrfs_run_delayed_items(trans, root);
> +				ret = btrfs_run_delayed_items(trans, root);
>  			kfree(name);
>  			iput(inode);
>  			if (ret)
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
index ff60d89..f919f26 100644
--- a/fs/btrfs/tree-log.c
+++ b/fs/btrfs/tree-log.c
@@ -747,7 +747,8 @@  static noinline int drop_one_dir_item(struct btrfs_trans_handle *trans,
 	ret = btrfs_unlink_inode(trans, root, dir, inode, name, name_len);
 	if (ret)
 		goto out;
-	btrfs_run_delayed_items(trans, root);
+	else
+		ret = btrfs_run_delayed_items(trans, root);
 out:
 	kfree(name);
 	iput(inode);
@@ -923,7 +924,9 @@  again:
 				kfree(victim_name);
 				if (ret)
 					return ret;
-				btrfs_run_delayed_items(trans, root);
+				ret = btrfs_run_delayed_items(trans, root);
+				if (ret)
+					return ret;
 				*search_done = 1;
 				goto again;
 			}
@@ -990,7 +993,8 @@  again:
 								 inode,
 								 victim_name,
 								 victim_name_len);
-					btrfs_run_delayed_items(trans, root);
+					if (!ret)
+						ret = btrfs_run_delayed_items(trans, root);
 				}
 				iput(victim_parent);
 				kfree(victim_name);
@@ -1810,7 +1814,7 @@  again:
 			ret = btrfs_unlink_inode(trans, root, dir, inode,
 						 name, name_len);
 			if (!ret)
-				btrfs_run_delayed_items(trans, root);
+				ret = btrfs_run_delayed_items(trans, root);
 			kfree(name);
 			iput(inode);
 			if (ret)