commit | 61b85cb0d773115d9a4b20c3e67286844cf73f34 | [log] [tgz] |
---|---|---|
author | Kent Overstreet <kent.overstreet@linux.dev> | Tue Nov 14 18:52:22 2023 -0500 |
committer | Kent Overstreet <kent.overstreet@linux.dev> | Tue Nov 14 23:44:44 2023 -0500 |
tree | f7d611b4c3442a847f3461aaa895cafeca113946 | |
parent | 62d73dfc44d54c97e0df6b947f0bccf6c4b8030e [diff] |
bcachefs: six locks: Fix lost wakeup In percpu reader mode, trylock() for read had a lost wakeup: on failure to get the lock, we may have caused a writer to fail to get the lock, because we temporarily elevated the reader count. We need to check for waiters after decrementing the read count - not before. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>