Re: [PATCH 06/12] fscache: Detect multiple relinquishment of a cookie

From: Linus Torvalds
Date: Wed Apr 04 2018 - 18:53:10 EST


On Wed, Apr 4, 2018 at 3:07 PM, David Howells <dhowells@xxxxxxxxxx> wrote:
> Report if an fscache cookie is relinquished multiple times by the netfs.
>
> - set_bit(FSCACHE_COOKIE_RELINQUISHED, &cookie->flags);
> + if (test_and_set_bit(FSCACHE_COOKIE_RELINQUISHED, &cookie->flags))
> + BUG();

Ugh. Please try to avoid adding BUG() calls for reporting. They can
often cause the machine to be basically dead.

This one seem fairly ok, simply because it looks like the only caller
doesn't really hold a lot of locks (the superblock s_umount lock, but
that may be all).

So I'll pull this change, I just wanted people to realize that if this
is a "help make sure we notice if things go wrong", then
"WARN_ON_ONCE()" or something is usually a better choice than
"potentially kill the machine and make it harder to actually see the
error".

Linus