dprintk("cleaning %s\n", strblk(b));
+ if (test_bit(B_PinPending, &b->flags)) {
+ /* Cannot safely clean this now. Just make
+ * it Dirty (it probably will be soon anyway)
+ * so it gets written to the new-data segment
+ * which will effectively clean it.
+ */
+ if (!test_and_set_bit(B_Dirty, &b->flags))
+ if (!test_and_clear_bit(B_Realloc, &b->flags))
+ if (!test_and_clear_bit(B_Credit, &b->flags))
+ LAFS_BUG(1, b);
+ }
if (test_bit(B_Dirty, &b->flags)) {
/* Ignore this, checkpoint will take it */
if (test_and_clear_bit(B_Realloc, &b->flags))