> + for (i = 0; i < es->num_bh; i++) > + err ? bforget(es->bh[i]):brelse(es->bh[i]); Please use a good old if / else instead of obsfucating the code. Also even without that this seems to be missing a few whitespaces.
> + for (i = 0; i < es->num_bh; i++) > + err ? bforget(es->bh[i]):brelse(es->bh[i]); Please use a good old if / else instead of obsfucating the code. Also even without that this seems to be missing a few whitespaces.