From 2bf55889a09f2331d97b02b2fec2b8b69702875a Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Mon, 28 Jun 2010 12:59:03 +1000 Subject: [PATCH] Remove BUG_ON that is no longer valid. Hasn't been valid for a while really - see comment. However it finally triggered, so time to go. Signed-off-by: NeilBrown --- README | 5 ++--- block.c | 11 ++++------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/README b/README index 3db1135..7b7c46a 100644 --- a/README +++ b/README @@ -4850,7 +4850,7 @@ DONE 7d/ paging request at 6b6b6bfb. 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 @@ -4877,8 +4877,7 @@ DONE 8/ looping in do_checkpoint 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] child(1) + [cfb5ef50]2/0(3)r1F:Index(0),Pinned,Phase1,InoIdx,SegRef,C,CI,CN,CNI,IOLock,OnFree,PhysValid{0,1}[0] 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. diff --git a/block.c b/block.c index 22a6613..3fc0bdf 100644 --- a/block.c +++ b/block.c @@ -270,13 +270,10 @@ int lafs_release_page(struct page *page, gfp_t gfp_flags) || 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; } -- 2.39.5