]> git.neil.brown.name Git - LaFS.git/commitdiff
Remove BUG_ON that is no longer valid.
authorNeilBrown <neilb@suse.de>
Mon, 28 Jun 2010 02:59:03 +0000 (12:59 +1000)
committerNeilBrown <neilb@suse.de>
Mon, 28 Jun 2010 02:59:03 +0000 (12:59 +1000)
Hasn't been valid for a while really - see comment.
However it finally triggered, so time to go.

Signed-off-by: NeilBrown <neilb@suse.de>
README
block.c

diff --git a/README b/README
index 3db11350251b16a5a5c5f4dcf8f45a6cf113881a..7b7c46ac30432212706832e06a202ad2b2ae508b 100644 (file)
--- 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]</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.
diff --git a/block.c b/block.c
index 22a6613e3d017b368756cc7441a0938e37eccb3e..3fc0bdfe5dc808d64dc9b9815799561c5610656a 100644 (file)
--- 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;
                }