diff -urN linux-2.4.22/fs/minix/itree_common.c linux/fs/minix/itree_common.c --- linux-2.4.22/fs/minix/itree_common.c Thu Oct 16 11:30:27 2003 +++ linux/fs/minix/itree_common.c Mon Nov 3 12:25:20 2003 @@ -301,6 +301,12 @@ int first_whole; long iblock; + if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) || + S_ISLNK(inode->i_mode))) + return; + if (IS_APPEND(inode) || IS_IMMUTABLE(inode)) + return; + iblock = (inode->i_size + BLOCK_SIZE-1) >> 10; block_truncate_page(inode->i_mapping, inode->i_size, get_block);