ok?
Index: milfs/milfs_subr.c =================================================================== RCS file: /cvs/src/sys/milfs/milfs_subr.c,v retrieving revision 1.6 diff -u -p -r1.6 milfs_subr.c --- milfs/milfs_subr.c 13 Aug 2009 15:28:39 -0000 1.6 +++ milfs/milfs_subr.c 14 Aug 2009 19:50:26 -0000 @@ -39,15 +39,18 @@ SPLAY_GENERATE(milfs_inode_tree, milfs_i int milfs_block_cmp(struct milfs_block *mbp1, struct milfs_block *mbp2) { - if (mbp1->mb_offset < mbp2->mb_offset) + if (mbp1->mb_offset < mbp2->mb_offset) { if (mbp1->mb_blksize > mbp2->mb_blksize) return (0); /* 1 includes 2 */ - - if (mbp2->mb_offset < mbp1->mb_offset) + else + return (-1); + } else if (mbp1->mb_offset > mbp2->mb_offset) { if (mbp2->mb_blksize > mbp1->mb_blksize) return (0); /* 2 includes 1 */ - - return (mbp1->mb_offset - mbp2->mb_offset); + else + return (1); + } + return (0); } /* @@ -56,7 +59,11 @@ milfs_block_cmp(struct milfs_block *mbp1 int milfs_inode_cmp(struct milfs_inode *mip1, struct milfs_inode *mip2) { - return (mip1->mi_inode - mip2->mi_inode); + if (mip1->mi_inode > mip2->mi_inode) + return (1); + else if (mip1->mi_inode < mip2->mi_inode) + return (-1); + return (0); } /*