--- btrfs-image.c.orig 2009-02-15 14:49:17.000000000 +0100 +++ btrfs-image.c 2009-02-15 12:42:10.000000000 +0100 @@ -249,7 +249,7 @@ static int metadump_init(struct metadump_struct *md, struct btrfs_root *root, FILE *out, int num_threads, int compress_level) { - int i, ret; + int i, ret = 0; memset(md, 0, sizeof(*md)); pthread_cond_init(&md->cond, NULL); @@ -608,7 +608,11 @@ if (async->start == BTRFS_SUPER_INFO_OFFSET) update_super(outbuf); +#ifdef __APPLE__ + ret = pwrite(outfd, outbuf, size, async->start); +#else ret = pwrite64(outfd, outbuf, size, async->start); +#endif BUG_ON(ret != size); pthread_mutex_lock(&mdres->mutex); @@ -834,7 +838,9 @@ } if (num_threads == 0 && compress_level > 0) { +#ifdef _SC_NPROCESSORS_ONLN num_threads = sysconf(_SC_NPROCESSORS_ONLN); +#endif if (num_threads <= 0) num_threads = 1; }