Hello, Enclosed is a simple patch to fix corruption of minix filesystem when deleting character and block device nodes (special files). >From what I've found out the bug was introduced somehwere in 2.3 and is present in all 2.4 versions, and I guess also goes into 2.6. Older 2.0 and 2.2 kernels do not have it - it seems that one who was rewriting fs code for 2.4 just forgot to add the needed check. Note that other filesystems that are rarely used nowdays may have the same bug, especially if they used minix code as a template. 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); -- Regards, Konstantin