summaryrefslogtreecommitdiff
path: root/ifpps.c
diff options
context:
space:
mode:
Diffstat (limited to 'ifpps.c')
-rw-r--r--ifpps.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/ifpps.c b/ifpps.c
index 5495ce9..f2becb5 100644
--- a/ifpps.c
+++ b/ifpps.c
@@ -471,7 +471,6 @@ static void stats_diff(struct ifstat *old, struct ifstat *new,
DIFF(rx_multi);
DIFF(tx_bytes);
- DIFF(tx_bytes);
DIFF(tx_packets);
DIFF(tx_drops);
DIFF(tx_errors);
/cgit.cgi/linux/net-next.git/diff/Documentation/ntb.txt?h=packet-loop-back&id=570dd45042a7c8a7aba1ee029c5dd0f5ccf41b9b&id2=112a3edf4bc687e02b9aa13c33391203fe6b7714'>diff)
btrfs: fix races on root_log_ctx lists
btrfs_remove_all_log_ctxs takes a shortcut where it avoids walking the list because it knows all of the waiters are patiently waiting for the commit to finish. But, there's a small race where btrfs_sync_log can remove itself from the list if it finds a log commit is already done. Also, it uses list_del_init() to remove itself from the list, but there's no way to know if btrfs_remove_all_log_ctxs has already run, so we don't know for sure if it is safe to call list_del_init(). This gets rid of all the shortcuts for btrfs_remove_all_log_ctxs(), and just calls it with the proper locking. This is part two of the corruption fixed by cbd60aa7cd1. I should have done this in the first place, but convinced myself the optimizations were safe. A 12 hour run of dbench 2048 will eventually trigger a list debug WARN_ON for the list_del_init() in btrfs_sync_log(). Fixes: d1433debe7f4346cf9fc0dafc71c3137d2a97bc4 Reported-by: Dave Jones <davej@codemonkey.org.uk> cc: stable@vger.kernel.org # 3.15+ Signed-off-by: Chris Mason <clm@fb.com>
Diffstat (limited to 'Documentation/ntb.txt')