From mboxrd@z Thu Jan 1 00:00:00 1970 From: Theodore Ts'o Subject: [PATCH 5/6] vfs: Add BUG_ON for delayed and unwritten flags in submit_bh() Date: Tue, 12 May 2009 18:45:26 -0400 Message-ID: <1242168327-31127-6-git-send-email-tytso@mit.edu> References: <1242168327-31127-1-git-send-email-tytso@mit.edu> <1242168327-31127-2-git-send-email-tytso@mit.edu> <1242168327-31127-3-git-send-email-tytso@mit.edu> <1242168327-31127-4-git-send-email-tytso@mit.edu> <1242168327-31127-5-git-send-email-tytso@mit.edu> Cc: "Aneesh Kumar K.V" , "Theodore Ts'o" , linux-fsdevel@vger.kernel.org To: Ext4 Developers List Return-path: Received: from THUNK.ORG ([69.25.196.29]:44259 "EHLO thunker.thunk.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753110AbZELWpb (ORCPT ); Tue, 12 May 2009 18:45:31 -0400 In-Reply-To: <1242168327-31127-5-git-send-email-tytso@mit.edu> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: From: Aneesh Kumar K.V The BH_Delay and BH_Unwritten flags should never leak out to submit_bh(). So add some BUG_ON() checks to submit_bh so we can get a stack trace and determine how and why this might have happened. (Note that only XFS and ext4 use these buffer head flags, and XFS does not use submit_bh(). So this patch should only modify behavior for ext4.) Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" Cc: linux-fsdevel@vger.kernel.org --- fs/buffer.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/fs/buffer.c b/fs/buffer.c index aed2977..ad01129 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -2933,6 +2933,8 @@ int submit_bh(int rw, struct buffer_head * bh) BUG_ON(!buffer_locked(bh)); BUG_ON(!buffer_mapped(bh)); BUG_ON(!bh->b_end_io); + BUG_ON(buffer_delay(bh)); + BUG_ON(buffer_unwritten(bh)); /* * Mask in barrier bit for a write (could be either a WRITE or a -- 1.6.3.rc4.1.g3e14.dirty