bio_endio() changed prototype on linux 2.6.24, support older kernels
using the older prototype.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
                bio->bi_private = end_io_wq->private;
                bio->bi_end_io = end_io_wq->end_io;
                kfree(end_io_wq);
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,23)
+               bio_endio(bio, bio->bi_size, err);
+#else
                bio_endio(bio, error);
+#endif
        }
 }
 
-
 struct btrfs_root *open_ctree(struct super_block *sb,
                              struct btrfs_fs_devices *fs_devices)
 {
 
                        err = multi->error;
                kfree(multi);
 
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,23)
+               bio_endio(bio, bio->bi_size, err);
+#else
                bio_endio(bio, err);
+#endif
        } else {
                bio_put(bio);
        }