Re: 3.14.23-rt20 - fs,btrfs: fix rt deadlock on extent_buffer->lock

From: Sebastian Andrzej Siewior
Date: Tue Feb 17 2015 - 06:56:50 EST


* Mike Galbraith | 2014-11-02 08:31:18 [+0100]:

>--- a/fs/btrfs/ctree.c
>+++ b/fs/btrfs/ctree.c
>@@ -80,7 +80,7 @@ noinline void btrfs_clear_path_blocking(
> {
> int i;
>
>-#ifdef CONFIG_DEBUG_LOCK_ALLOC
>+#if (defined(CONFIG_DEBUG_LOCK_ALLOC) || defined(CONFIG_PREEMPT_RT_BASE))
> /* lockdep really cares that we take all of these spinlocks
> * in the right order. If any of the locks in the path are not
> * currently blocking, it is going to complain. So, make really

This is gone since commit f82c458 ("btrfs: fix lockups from
btrfs_clear_path_blocking")

>@@ -107,7 +107,7 @@ noinline void btrfs_clear_path_blocking(
> }
> }
>
>-#ifdef CONFIG_DEBUG_LOCK_ALLOC
>+#if (defined(CONFIG_DEBUG_LOCK_ALLOC) || defined(CONFIG_PREEMPT_RT_BASE))
> if (held)
> btrfs_clear_lock_blocking_rw(held, held_rw);
> #endif
>--- a/fs/btrfs/extent-tree.c
>+++ b/fs/btrfs/extent-tree.c
>@@ -6938,14 +6938,6 @@ use_block_rsv(struct btrfs_trans_handle
> goto again;
> }
>
>- if (btrfs_test_opt(root, ENOSPC_DEBUG)) {
>- static DEFINE_RATELIMIT_STATE(_rs,
>- DEFAULT_RATELIMIT_INTERVAL * 10,
>- /*DEFAULT_RATELIMIT_BURST*/ 1);
>- if (__ratelimit(&_rs))
>- WARN(1, KERN_DEBUG
>- "BTRFS: block rsv returned %d\n", ret);
>- }
> try_reserve:
> ret = reserve_metadata_bytes(root, block_rsv, blocksize,
> BTRFS_RESERVE_NO_FLUSH);
>
and this look like just a warning with enabled debug that is supressed.
May I drop this patch?

Sebastian
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/