(LAFSI(ino)->type >= TypeBase &&
((loff_t)bnum << ino->i_blkbits)
>= i_size_read(ino))) {
- iput(ino);
list_del_init(&b->cleaning);
putdref(b, MKREF(cleaning));
+ iput(ino);
}
putdref(b, MKREF(cleaning));
}
if (err) {
/* Eeek, what do I do?? */
list_del_init(&b->cleaning);
- iput(b->b.inode);
+ ino = b->b.inode;
putdref(b, MKREF(cleaning));
+ iput(ino);
continue;
}
cb = first_in_seg(&b->b, fs, tc->dev, tc->seg, MKREF(clean2));
/* Moved, don't want this. */
dprintk("Not in seg\n");
list_del_init(&b->cleaning);
- iput(b->b.inode);
+ ino = b->b.inode;
putdref(b, MKREF(cleaning));
+ iput(ino);
continue;
}
err = lafs_load_block(cb, NULL);
if (err) {
list_del_init(&b->cleaning);
- iput(b->b.inode);
+ ino = b->b.inode;
putdref(b, MKREF(cleaning));
putref(cb, MKREF(clean2));
+ iput(ino);
continue;
}
err = lafs_wait_block_async(cb);
if (err) {
list_del_init(&b->cleaning);
- iput(b->b.inode);
+ ino = b->b.inode;
putref(cb, MKREF(clean2));
putdref(b, MKREF(cleaning));
+ iput(ino);
continue;
}
* ref now
*/
list_del_init(&b->cleaning);
- iput(b->b.inode);
+ ino = b->b.inode;
putdref(b, MKREF(cleaning));
putref(cb, MKREF(clean2));
+ iput(ino);
rv = -1;
if (err)
goto out;