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);
}
/*