Thread (18 messages) 18 messages, 7 authors, 2016-02-24

Re: [PULL] Re: bcache stability patches

From: Denis Bychkov <hidden>
Date: 2015-12-31 07:23:55
Also in: lkml

On Tue, Dec 29, 2015 at 10:00 PM, Eric Wheeler
[off-list ref] wrote:
Hi Jens and Kent,

This affects many users, so please take a look when you have a moment:

There is a growing bcache user community with a well-tested patchset that
is necessary for production bcache use.  The diffstat is small and we all
want someone to pull it in and get it into mainline.  This would serve
many people if this can get pulled in upstream.

More below:

On Tue, 22 Dec 2015, Denis Bychkov wrote:
quoted
There is a set of bcache stability patches elevating bcache stability to
production level. As far as I know, there is no single reported and peer
confirmed bug that is not solved by this set. Unfortunately, for some
reason, Kent does not have enough time and/or energy to review them and
send them upstream. Let's come up with a solution that would allow to
review all these patches (some of them written by Ken himself, some of
them produced by the community), review them and hand them to the
maintainer who is willing to apply them upstream. Without that, bcache
is just another half-assed unstable and buggy cache layer. These patches
will allow people to start use bcache in production systems. Please find
the patch set attached. (The patches apply cleanly to 4.3 and 4.4 kernel
series).
Hi Dennis,

I'm maintaining a branch here that is ready to merge.  We have been
testing this for about a year in production and works great.  All Cc's and
authors are correct and it (should) have every stability patch below,
possibly others too.  Please tell me if there are any patches missing:
Just went through all the patches I have, looks like you did not miss any. The
only small correction - the author of commit
53803810fce7826feff7d5632a7ab3cc991e6243
is me, not Gabriel de Perthuis. Gabriel wrote the original patch which
I mention in
the comment, but it was broken (did not release the mutex), so I
created a new one,
that actually fixed the problem with device_busy error.
git pull https://github.com/ewheelerinc/linux.git bcache-patches-for-3.17
(Yes, github for hosting only, I don't edit with their web interfaces.)

Note that this branch still merges cleanly through v4.4-rc7 and as far
back as 3.17-rc1 (maybe earlier).  Each patch provides Cc: stable@vger.kernel.org.

It is ready to merge!  We just need Jens or Kent or someone to pull it in.
Here is the diffstat and shortlog against v4.4-rc7:

 drivers/md/bcache/btree.c     |  5 ++++-
 drivers/md/bcache/super.c     | 16 ++++++++++++----
 drivers/md/bcache/writeback.c | 37 ++++++++++++++++++++++++++++++-------
 drivers/md/bcache/writeback.h |  3 ++-
 4 files changed, 48 insertions(+), 13 deletions(-)

Al Viro (1):
      bcache: fix a leak in bch_cached_dev_run()

Gabriel de Perthuis (1):
      bcache: allows use of register in udev to avoid "device_busy" error.

Kent Overstreet (2):
      bcache: Add a cond_resched() call to gc
      bcache: Change refill_dirty() to always scan entire disk if
necessary

Stefan Bader (1):
      bcache: prevent crash on changing writeback_running

Zheng Liu (3):
      bcache: fix a livelock when we cause a huge number of cache misses
      bcache: clear BCACHE_DEV_UNLINK_DONE flag when attaching a backing device
      bcache: unregister reboot notifier if bcache fails to unregister device

See also these threads:
  https://lkml.org/lkml/2015/12/5/38
  https://www.mail-archive.com/linux-bcache@vger.kernel.org/msg03159.html

Quickly view commits here, too:
  https://github.com/ewheelerinc/linux/commits/bcache-patches-for-3.17


Cheers,

-Eric


--
Eric Wheeler, President           eWheeler, Inc. dba Global Linux Security
888-LINUX26 (888-546-8926)        Fax: 503-716-3878           PO Box 25107
www.GlobalLinuxSecurity.pro       Linux since 1996!     Portland, OR 97298


-- 

Denis
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help