These checks are executed billions of times per day, with no stack dump bug reports sent to lkml. Arguably, they will only trigger on buggy filesystems (programmer error), and thus IMO shouldn't even be executed in a non-debug kernel. Even though BUG_ON() includes unlikely(), I think this patch -- or something like it -- is preferable. The buffer_error() checks aren't even marked unlikely(). This is a micro-optimization on a key kernel fast path.