From: Jan Kara 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 Signed-off-by: Andrew Morton --- fs/udf/truncate.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletion(-) diff -puN fs/udf/truncate.c~udf-add-assertions fs/udf/truncate.c --- a/fs/udf/truncate.c~udf-add-assertions +++ a/fs/udf/truncate.c @@ -88,8 +88,9 @@ void udf_discard_prealloc(struct 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 * } UDF_I_LENEXTENTS(inode) = lbcount; + WARN_ON(lbcount != inode->i_size); brelse(epos.bh); } _