Message ID | 152287964415.14760.2996398134900556495.stgit@warthog.procyon.org.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Apr 4, 2018 at 3:07 PM, David Howells <dhowells@redhat.com> 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 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/fs/fscache/cookie.c b/fs/fscache/cookie.c index d705125665f0..98d22f495cd8 100644 --- a/fs/fscache/cookie.c +++ b/fs/fscache/cookie.c @@ -602,7 +602,8 @@ void __fscache_relinquish_cookie(struct fscache_cookie *cookie, bool retire) atomic_read(&cookie->n_active), retire); /* No further netfs-accessing operations on this cookie permitted */ - set_bit(FSCACHE_COOKIE_RELINQUISHED, &cookie->flags); + if (test_and_set_bit(FSCACHE_COOKIE_RELINQUISHED, &cookie->flags)) + BUG(); __fscache_disable_cookie(cookie, retire);
Report if an fscache cookie is relinquished multiple times by the netfs. Signed-off-by: David <dhowells@redhat.com> --- fs/fscache/cookie.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html