summaryrefslogtreecommitdiff
path: root/fs/udf/truncate.c
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2007-05-08 00:35:18 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-08 11:15:21 -0700
commit948b9b2c967c3bec6136b2dbb9e1c12f62e03efa (patch)
tree25a2376aef384fb05221e20b3c96f3c490c8195c /fs/udf/truncate.c
parent3bf25cb40d899eeb5a471f497e56ddfe2c96c019 (diff)
downloadlwn-948b9b2c967c3bec6136b2dbb9e1c12f62e03efa.tar.gz
lwn-948b9b2c967c3bec6136b2dbb9e1c12f62e03efa.zip
udf: add assertions
Add a few assertions into udf_discard_prealloc() to check that the file is sane (mostly helps debugging further patches ;). Signed-off-by: Jan Kara <jack@suse.cz> Acked-by: Christoph Hellwig <hch@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/udf/truncate.c')
-rw-r--r--fs/udf/truncate.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/udf/truncate.c b/fs/udf/truncate.c
index 0449b2216e71..0e328cdc9a45 100644
--- a/fs/udf/truncate.c
+++ b/fs/udf/truncate.c
@@ -88,8 +88,9 @@ void udf_discard_prealloc(struct inode * inode)
{
etype = netype;
lbcount += elen;
- if (lbcount > inode->i_size && lbcount - inode->i_size < inode->i_sb->s_blocksize)
+ if (lbcount > inode->i_size && lbcount - elen < inode->i_size)
{
+ WARN_ON(lbcount - inode->i_size >= inode->i_sb->s_blocksize);
nelen = elen - (lbcount - inode->i_size);
epos.offset -= adsize;
extent_trunc(inode, &epos, eloc, etype, elen, nelen);
@@ -119,6 +120,7 @@ void udf_discard_prealloc(struct inode * inode)
}
UDF_I_LENEXTENTS(inode) = lbcount;
+ WARN_ON(lbcount != inode->i_size);
brelse(epos.bh);
}