Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1489265 > unrolled thread

[PATCH 4.7 119/184] Btrfs: remove root_log_ctx from ctx list before btrfs_sync_log returns

Started byGreg Kroah-Hartman <gregkh@linuxfoundation.org>
First post2016-09-22 20:20 +0200
Last post2016-09-22 20:20 +0200
Articles 1 — 1 participant

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 4.7 119/184] Btrfs: remove root_log_ctx from ctx list before btrfs_sync_log returns Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-09-22 20:20 +0200

#1489265 — [PATCH 4.7 119/184] Btrfs: remove root_log_ctx from ctx list before btrfs_sync_log returns

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2016-09-22 20:20 +0200
Subject[PATCH 4.7 119/184] Btrfs: remove root_log_ctx from ctx list before btrfs_sync_log returns
Message-ID<skgLf-1mw-9@gated-at.bofh.it>
4.7-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Chris Mason <clm@fb.com>

commit cbd60aa7cd17d81a434234268c55192862147439 upstream.

We use a btrfs_log_ctx structure to pass information into the
tree log commit, and get error values out.  It gets added to a per
log-transaction list which we walk when things go bad.

Commit d1433debe added an optimization to skip waiting for the log
commit, but didn't take root_log_ctx out of the list.  This
patch makes sure we remove things before exiting.

Signed-off-by: Chris Mason <clm@fb.com>
Fixes: d1433debe7f4346cf9fc0dafc71c3137d2a97bc4
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/btrfs/tree-log.c |    1 +
 1 file changed, 1 insertion(+)

--- a/fs/btrfs/tree-log.c
+++ b/fs/btrfs/tree-log.c
@@ -2851,6 +2851,7 @@ int btrfs_sync_log(struct btrfs_trans_ha
 
 	if (log_root_tree->log_transid_committed >= root_log_ctx.log_transid) {
 		blk_finish_plug(&plug);
+		list_del_init(&root_log_ctx.list);
 		mutex_unlock(&log_root_tree->log_mutex);
 		ret = root_log_ctx.log_ret;
 		goto out;

[toc] | [standalone]


Back to top | Article view | linux.kernel


csiph-web