invalidate_inodes in generic_shutdown_super) so list gets broken.
We need locking or earlier flush.
- 7e/ Remove BUG block.c;273 as cleaner can cause this.
+DONE 7e/ Remove BUG block.c;273 as cleaner can cause this.
Check for Realloc too.
7f/ index.c:2024 no uninc credit
9/ cluster.c:478
flush_data_To_inode finds Realloc (not dirty) block
and InoIdx block is not Valid.
- [cfb5ef50]2/0(3)r1F:Index(0),Pinned,Phase1,InoIdx,SegRef,C,CI,CN,CNI,IOLock,OnFree
-,PhysValid{0,1}[0]</cluster.c:435> child(1)
+ [cfb5ef50]2/0(3)r1F:Index(0),Pinned,Phase1,InoIdx,SegRef,C,CI,CN,CNI,IOLock,OnFree,PhysValid{0,1}[0]</cluster.c:435> child(1)
I wonder if it was PinPending, or where it was IOLocked (or if).
I guess we truncated, then added data, then tried to clean.
|| test_bit(B_Uninc, &b[i].b.flags)
) {
spin_unlock(&mapping->private_lock);
- LAFS_BUG(1, &b[i].b);
- /* This not really a bug, but bugs can lead
- * here, and this is an unusual situation
- * (currently) so we BUG here to be safe.
- * When we find a situation that does fail a
- * release_page with good reason, we should
- * remove this BUG().
+ /* This can happen in various valid situations
+ * such as when cleaning a file that is only
+ * read-only to the VM so the VM feels free
+ * to try to release it.
*/
return 0;
}