If there is an IO error the bio completion routine will be called multiple
times. We don't want to free the dreq until the last completion.
b=6046
r=alex (original patch)
striping settings if present parent (3048)
- flush buffers from cache before direct IO in 2.6 obdfilter (4982)
- don't hold client locks on temporary worklist from l_lru (5666)
+ - handle IO errors in 2.6 obdfilter bio completion routine (6046)
* miscellania
- by default create 1 inode per 4kB space on MDS, per 16kB on OSTs
- allow --write-conf on an MDS with different nettype than client (5619)
struct dio_request *dreq = bio->bi_private;
unsigned long flags;
+ if (bio->bi_size) {
+ CWARN("gets called against non-complete bio 0x%p: %d/%d/%d\n",
+ bio, bio->bi_size, done, error);
+ return 1;
+ }
+
if (dreq == NULL) {
CERROR("***** bio->bi_private is NULL! This should never "
"happen. Normally, I would crash here, but instead I "