diff options
author | Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> | 2009-05-12 16:22:37 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2009-05-12 16:22:37 -0400 |
commit | 8fb0e342481c4d80040670fec915f0b9c7c6499a (patch) | |
tree | 6574f483e45cb24ebf9eb2121b67b20a75a9f180 /fs/buffer.c | |
parent | 79ffab34391933ee3b95dac7f25c0478fa2f8f1e (diff) |
vfs: Add BUG_ON for delayed and unwritten flags in submit_bh()
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 <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: linux-fsdevel@vger.kernel.org
Diffstat (limited to 'fs/buffer.c')
-rw-r--r-- | fs/buffer.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/buffer.c b/fs/buffer.c index aed297739eb0..ad0112900222 100644 --- a/fs/buffer.c +++ b/fs/buffer.c | |||
@@ -2933,6 +2933,8 @@ int submit_bh(int rw, struct buffer_head * bh) | |||
2933 | BUG_ON(!buffer_locked(bh)); | 2933 | BUG_ON(!buffer_locked(bh)); |
2934 | BUG_ON(!buffer_mapped(bh)); | 2934 | BUG_ON(!buffer_mapped(bh)); |
2935 | BUG_ON(!bh->b_end_io); | 2935 | BUG_ON(!bh->b_end_io); |
2936 | BUG_ON(buffer_delay(bh)); | ||
2937 | BUG_ON(buffer_unwritten(bh)); | ||
2936 | 2938 | ||
2937 | /* | 2939 | /* |
2938 | * Mask in barrier bit for a write (could be either a WRITE or a | 2940 | * Mask in barrier bit for a write (could be either a WRITE or a |