public inbox for linux-bcachefs@vger.kernel.org
 help / color / mirror / Atom feed
From: Thomas Bertschinger <tahbertschinger@gmail.com>
To: kent.overstreet@linux.dev, linux-bcachefs@vger.kernel.org,
	bfoster@redhat.com
Cc: Thomas Bertschinger <tahbertschinger@gmail.com>
Subject: [PATCH TOOLS v2 3/3] move Rust sources to top level, C sources into c_src
Date: Mon, 15 Jan 2024 23:41:02 -0700	[thread overview]
Message-ID: <20240116064102.193643-4-tahbertschinger@gmail.com> (raw)
In-Reply-To: <20240116064102.193643-1-tahbertschinger@gmail.com>

This moves the Rust sources out of rust_src/ and into the top level.
Running the bcachefs executable out of the development tree is now:

$ ./target/release/bcachefs command
or
$ cargo run --profile release -- command

instead of "./bcachefs command".

Building and installing is still:

$ make && make install

Signed-off-by: Thomas Bertschinger <tahbertschinger@gmail.com>
---
 .github/workflows/build-packages.yml          |  2 +-
 .gitignore                                    | 10 +++
 rust-src/Cargo.lock => Cargo.lock             |  0
 rust-src/Cargo.toml => Cargo.toml             |  0
 Makefile                                      | 23 ++++---
 .../bch_bindgen => bch_bindgen}/.gitignore    |  0
 .../bch_bindgen => bch_bindgen}/Cargo.lock    |  0
 .../bch_bindgen => bch_bindgen}/Cargo.toml    |  0
 .../bch_bindgen => bch_bindgen}/build.rs      |  3 +-
 .../bch_bindgen => bch_bindgen}/rustfmt.toml  |  0
 .../src/bcachefs.rs                           |  0
 .../bch_bindgen => bch_bindgen}/src/bkey.rs   |  0
 .../bch_bindgen => bch_bindgen}/src/btree.rs  |  0
 .../src/errcode.rs                            |  0
 .../bch_bindgen => bch_bindgen}/src/fs.rs     |  0
 .../src/keyutils.rs                           |  0
 .../src/keyutils_wrapper.h                    |  0
 .../bch_bindgen => bch_bindgen}/src/lib.rs    |  0
 bch_bindgen/src/libbcachefs_wrapper.h         | 22 +++++++
 .../bch_bindgen => bch_bindgen}/src/opts.rs   |  0
 .../bch_bindgen => bch_bindgen}/src/rs.rs     |  0
 build.nix                                     |  4 +-
 rust-src/build.rs => build.rs                 |  4 +-
 bcachefs.c => c_src/bcachefs.c                |  0
 {ccan => c_src/ccan}/array_size/LICENSE       |  0
 {ccan => c_src/ccan}/array_size/_info         |  0
 {ccan => c_src/ccan}/array_size/array_size.h  |  0
 {ccan => c_src/ccan}/build_assert/LICENSE     |  0
 {ccan => c_src/ccan}/build_assert/_info       |  0
 .../ccan}/build_assert/build_assert.h         |  0
 {ccan => c_src/ccan}/compiler/LICENSE         |  0
 {ccan => c_src/ccan}/compiler/_info           |  0
 {ccan => c_src/ccan}/compiler/compiler.h      |  0
 cmd_assemble.c => c_src/cmd_assemble.c        |  0
 cmd_attr.c => c_src/cmd_attr.c                |  0
 cmd_counters.c => c_src/cmd_counters.c        |  0
 cmd_data.c => c_src/cmd_data.c                |  0
 cmd_device.c => c_src/cmd_device.c            |  0
 cmd_dump.c => c_src/cmd_dump.c                |  0
 cmd_format.c => c_src/cmd_format.c            |  0
 cmd_fs.c => c_src/cmd_fs.c                    |  0
 cmd_fsck.c => c_src/cmd_fsck.c                |  0
 cmd_fusemount.c => c_src/cmd_fusemount.c      |  0
 cmd_key.c => c_src/cmd_key.c                  |  0
 .../cmd_kill_btree_node.c                     |  0
 .../cmd_list_journal.c                        |  0
 cmd_migrate.c => c_src/cmd_migrate.c          |  0
 cmd_option.c => c_src/cmd_option.c            |  0
 cmd_run.c => c_src/cmd_run.c                  |  0
 cmd_subvolume.c => c_src/cmd_subvolume.c      |  0
 cmd_version.c => c_src/cmd_version.c          |  0
 cmds.h => c_src/cmds.h                        |  0
 config.h => c_src/config.h                    |  0
 crypto.c => c_src/crypto.c                    |  0
 crypto.h => c_src/crypto.h                    |  0
 {include => c_src/include}/asm/page.h         |  0
 {include => c_src/include}/asm/unaligned.h    |  0
 {include => c_src/include}/crypto/algapi.h    |  0
 {include => c_src/include}/crypto/chacha.h    |  0
 {include => c_src/include}/crypto/hash.h      |  0
 {include => c_src/include}/crypto/poly1305.h  |  0
 {include => c_src/include}/crypto/sha2.h      |  0
 {include => c_src/include}/crypto/skcipher.h  |  0
 {include => c_src/include}/keys/user-type.h   |  0
 {include => c_src/include}/linux/atomic.h     |  0
 .../include}/linux/backing-dev-defs.h         |  0
 .../include}/linux/backing-dev.h              |  0
 {include => c_src/include}/linux/bio.h        |  0
 .../include}/linux/bit_spinlock.h             |  0
 {include => c_src/include}/linux/bitmap.h     |  0
 {include => c_src/include}/linux/bitops.h     |  0
 {include => c_src/include}/linux/blk_types.h  |  0
 {include => c_src/include}/linux/blkdev.h     |  0
 {include => c_src/include}/linux/bsearch.h    |  0
 {include => c_src/include}/linux/bug.h        |  0
 {include => c_src/include}/linux/bvec.h       |  0
 {include => c_src/include}/linux/byteorder.h  |  0
 {include => c_src/include}/linux/cache.h      |  0
 {include => c_src/include}/linux/closure.h    |  0
 {include => c_src/include}/linux/compiler.h   |  0
 {include => c_src/include}/linux/completion.h |  0
 {include => c_src/include}/linux/console.h    |  0
 {include => c_src/include}/linux/cpumask.h    |  0
 {include => c_src/include}/linux/crc32c.h     |  0
 {include => c_src/include}/linux/crc64.h      |  0
 {include => c_src/include}/linux/crypto.h     |  0
 {include => c_src/include}/linux/ctype.h      |  0
 {include => c_src/include}/linux/dcache.h     |  0
 {include => c_src/include}/linux/debugfs.h    |  0
 {include => c_src/include}/linux/device.h     |  0
 .../include}/linux/dynamic_fault.h            |  0
 {include => c_src/include}/linux/err.h        |  0
 {include => c_src/include}/linux/errname.h    |  0
 {include => c_src/include}/linux/export.h     |  0
 {include => c_src/include}/linux/freezer.h    |  0
 .../include}/linux/generic-radix-tree.h       |  0
 {include => c_src/include}/linux/genhd.h      |  0
 {include => c_src/include}/linux/gfp.h        |  0
 {include => c_src/include}/linux/hash.h       |  0
 {include => c_src/include}/linux/idr.h        |  0
 {include => c_src/include}/linux/ioprio.h     |  0
 {include => c_src/include}/linux/jhash.h      |  0
 {include => c_src/include}/linux/jiffies.h    |  0
 {include => c_src/include}/linux/kernel.h     |  0
 {include => c_src/include}/linux/key.h        |  0
 {include => c_src/include}/linux/kmemleak.h   |  0
 {include => c_src/include}/linux/kobject.h    |  0
 {include => c_src/include}/linux/kthread.h    |  0
 {include => c_src/include}/linux/list.h       |  0
 {include => c_src/include}/linux/list_nulls.h |  0
 {include => c_src/include}/linux/llist.h      |  0
 {include => c_src/include}/linux/lockdep.h    |  0
 {include => c_src/include}/linux/log2.h       |  0
 {include => c_src/include}/linux/lz4.h        |  0
 {include => c_src/include}/linux/math.h       |  0
 {include => c_src/include}/linux/math64.h     |  0
 {include => c_src/include}/linux/mempool.h    |  0
 {include => c_src/include}/linux/minmax.h     |  0
 {include => c_src/include}/linux/mm.h         |  0
 {include => c_src/include}/linux/module.h     |  0
 {include => c_src/include}/linux/mutex.h      |  0
 {include => c_src/include}/linux/osq_lock.h   |  0
 {include => c_src/include}/linux/overflow.h   |  0
 {include => c_src/include}/linux/page.h       |  0
 .../include}/linux/percpu-refcount.h          |  0
 .../include}/linux/percpu-rwsem.h             |  0
 {include => c_src/include}/linux/percpu.h     |  0
 {include => c_src/include}/linux/poison.h     |  0
 {include => c_src/include}/linux/posix_acl.h  |  0
 .../include}/linux/posix_acl_xattr.h          |  0
 {include => c_src/include}/linux/prandom.h    |  0
 {include => c_src/include}/linux/preempt.h    |  0
 {include => c_src/include}/linux/prefetch.h   |  0
 .../include}/linux/pretty-printers.h          |  0
 {include => c_src/include}/linux/printk.h     |  0
 {include => c_src/include}/linux/random.h     |  0
 {include => c_src/include}/linux/ratelimit.h  |  0
 {include => c_src/include}/linux/rculist.h    |  0
 {include => c_src/include}/linux/rcupdate.h   |  0
 {include => c_src/include}/linux/refcount.h   |  0
 .../include}/linux/rhashtable-types.h         |  0
 {include => c_src/include}/linux/rhashtable.h |  0
 {include => c_src/include}/linux/rwsem.h      |  0
 .../include}/linux/scatterlist.h              |  0
 {include => c_src/include}/linux/sched.h      |  0
 .../include}/linux/sched/clock.h              |  0
 .../include}/linux/sched/cputime.h            |  0
 .../include}/linux/sched/debug.h              |  0
 {include => c_src/include}/linux/sched/mm.h   |  0
 {include => c_src/include}/linux/sched/rt.h   |  0
 .../include}/linux/sched/signal.h             |  0
 {include => c_src/include}/linux/sched/task.h |  0
 .../include}/linux/sched/task_stack.h         |  0
 {include => c_src/include}/linux/semaphore.h  |  0
 {include => c_src/include}/linux/seq_buf.h    |  0
 {include => c_src/include}/linux/seq_file.h   |  0
 {include => c_src/include}/linux/seqlock.h    |  0
 {include => c_src/include}/linux/shrinker.h   |  0
 {include => c_src/include}/linux/siphash.h    |  0
 {include => c_src/include}/linux/slab.h       |  0
 {include => c_src/include}/linux/sort.h       |  0
 {include => c_src/include}/linux/spinlock.h   |  0
 {include => c_src/include}/linux/srcu.h       |  0
 {include => c_src/include}/linux/stat.h       |  0
 {include => c_src/include}/linux/string.h     |  0
 .../include}/linux/string_helpers.h           |  0
 {include => c_src/include}/linux/sysfs.h      |  0
 {include => c_src/include}/linux/time64.h     |  0
 {include => c_src/include}/linux/timer.h      |  0
 {include => c_src/include}/linux/tracepoint.h |  0
 {include => c_src/include}/linux/typecheck.h  |  0
 {include => c_src/include}/linux/types.h      |  0
 .../include}/linux/unaligned/be_byteshift.h   |  0
 .../include}/linux/unaligned/be_struct.h      |  0
 .../include}/linux/unaligned/generic.h        |  0
 .../include}/linux/unaligned/le_byteshift.h   |  0
 .../include}/linux/unaligned/le_struct.h      |  0
 .../include}/linux/unaligned/packed_struct.h  |  0
 {include => c_src/include}/linux/uuid.h       |  0
 {include => c_src/include}/linux/vmalloc.h    |  0
 {include => c_src/include}/linux/wait.h       |  0
 {include => c_src/include}/linux/workqueue.h  |  0
 {include => c_src/include}/linux/xattr.h      |  0
 {include => c_src/include}/linux/xxhash.h     |  0
 {include => c_src/include}/linux/zlib.h       |  0
 {include => c_src/include}/linux/zstd.h       |  0
 .../include}/linux/zstd_errors.h              |  0
 .../include}/trace/define_trace.h             |  0
 .../include}/trace/events/lock.h              |  0
 {include => c_src/include}/uapi/linux/xattr.h |  0
 libbcachefs.c => c_src/libbcachefs.c          |  0
 libbcachefs.h => c_src/libbcachefs.h          |  0
 {libbcachefs => c_src/libbcachefs}/acl.c      |  0
 {libbcachefs => c_src/libbcachefs}/acl.h      |  0
 .../libbcachefs}/alloc_background.c           |  0
 .../libbcachefs}/alloc_background.h           |  0
 .../libbcachefs}/alloc_foreground.c           |  0
 .../libbcachefs}/alloc_foreground.h           |  0
 .../libbcachefs}/alloc_types.h                |  0
 .../libbcachefs}/backpointers.c               |  0
 .../libbcachefs}/backpointers.h               |  0
 {libbcachefs => c_src/libbcachefs}/bbpos.h    |  0
 .../libbcachefs}/bbpos_types.h                |  0
 {libbcachefs => c_src/libbcachefs}/bcachefs.h |  0
 .../libbcachefs}/bcachefs_format.h            |  0
 .../libbcachefs}/bcachefs_ioctl.h             |  0
 {libbcachefs => c_src/libbcachefs}/bkey.c     |  0
 {libbcachefs => c_src/libbcachefs}/bkey.h     |  0
 {libbcachefs => c_src/libbcachefs}/bkey_buf.h |  0
 {libbcachefs => c_src/libbcachefs}/bkey_cmp.h |  0
 .../libbcachefs}/bkey_methods.c               |  0
 .../libbcachefs}/bkey_methods.h               |  0
 .../libbcachefs}/bkey_sort.c                  |  0
 .../libbcachefs}/bkey_sort.h                  |  0
 {libbcachefs => c_src/libbcachefs}/bset.c     |  0
 {libbcachefs => c_src/libbcachefs}/bset.h     |  0
 .../libbcachefs}/btree_cache.c                |  0
 .../libbcachefs}/btree_cache.h                |  0
 {libbcachefs => c_src/libbcachefs}/btree_gc.c |  0
 {libbcachefs => c_src/libbcachefs}/btree_gc.h |  0
 {libbcachefs => c_src/libbcachefs}/btree_io.c |  0
 {libbcachefs => c_src/libbcachefs}/btree_io.h |  0
 .../libbcachefs}/btree_iter.c                 |  0
 .../libbcachefs}/btree_iter.h                 |  0
 .../libbcachefs}/btree_journal_iter.c         |  0
 .../libbcachefs}/btree_journal_iter.h         |  0
 .../libbcachefs}/btree_key_cache.c            |  0
 .../libbcachefs}/btree_key_cache.h            |  0
 .../libbcachefs}/btree_key_cache_types.h      |  0
 .../libbcachefs}/btree_locking.c              |  0
 .../libbcachefs}/btree_locking.h              |  0
 .../libbcachefs}/btree_trans_commit.c         |  0
 .../libbcachefs}/btree_types.h                |  0
 .../libbcachefs}/btree_update.c               |  0
 .../libbcachefs}/btree_update.h               |  0
 .../libbcachefs}/btree_update_interior.c      |  0
 .../libbcachefs}/btree_update_interior.h      |  0
 .../libbcachefs}/btree_write_buffer.c         |  0
 .../libbcachefs}/btree_write_buffer.h         |  0
 .../libbcachefs}/btree_write_buffer_types.h   |  0
 {libbcachefs => c_src/libbcachefs}/buckets.c  |  0
 {libbcachefs => c_src/libbcachefs}/buckets.h  |  0
 .../libbcachefs}/buckets_types.h              |  0
 .../buckets_waiting_for_journal.c             |  0
 .../buckets_waiting_for_journal.h             |  0
 .../buckets_waiting_for_journal_types.h       |  0
 {libbcachefs => c_src/libbcachefs}/chardev.c  |  0
 {libbcachefs => c_src/libbcachefs}/chardev.h  |  0
 {libbcachefs => c_src/libbcachefs}/checksum.c |  0
 {libbcachefs => c_src/libbcachefs}/checksum.h |  0
 {libbcachefs => c_src/libbcachefs}/clock.c    |  0
 {libbcachefs => c_src/libbcachefs}/clock.h    |  0
 .../libbcachefs}/clock_types.h                |  0
 {libbcachefs => c_src/libbcachefs}/compress.c |  0
 {libbcachefs => c_src/libbcachefs}/compress.h |  0
 {libbcachefs => c_src/libbcachefs}/counters.c |  0
 {libbcachefs => c_src/libbcachefs}/counters.h |  0
 {libbcachefs => c_src/libbcachefs}/darray.c   |  0
 {libbcachefs => c_src/libbcachefs}/darray.h   |  0
 .../libbcachefs}/data_update.c                |  0
 .../libbcachefs}/data_update.h                |  0
 {libbcachefs => c_src/libbcachefs}/debug.c    |  0
 {libbcachefs => c_src/libbcachefs}/debug.h    |  0
 {libbcachefs => c_src/libbcachefs}/dirent.c   |  0
 {libbcachefs => c_src/libbcachefs}/dirent.h   |  0
 .../libbcachefs}/disk_groups.c                |  0
 .../libbcachefs}/disk_groups.h                |  0
 .../libbcachefs}/disk_groups_types.h          |  0
 {libbcachefs => c_src/libbcachefs}/ec.c       |  0
 {libbcachefs => c_src/libbcachefs}/ec.h       |  0
 {libbcachefs => c_src/libbcachefs}/ec_types.h |  0
 {libbcachefs => c_src/libbcachefs}/errcode.c  |  0
 {libbcachefs => c_src/libbcachefs}/errcode.h  |  0
 {libbcachefs => c_src/libbcachefs}/error.c    |  0
 {libbcachefs => c_src/libbcachefs}/error.h    |  0
 .../libbcachefs}/extent_update.c              |  0
 .../libbcachefs}/extent_update.h              |  0
 {libbcachefs => c_src/libbcachefs}/extents.c  |  0
 {libbcachefs => c_src/libbcachefs}/extents.h  |  0
 .../libbcachefs}/extents_types.h              |  0
 .../libbcachefs}/eytzinger.h                  |  0
 {libbcachefs => c_src/libbcachefs}/fifo.h     |  0
 .../libbcachefs}/fs-common.c                  |  0
 .../libbcachefs}/fs-common.h                  |  0
 .../libbcachefs}/fs-io-buffered.c             |  0
 .../libbcachefs}/fs-io-buffered.h             |  0
 .../libbcachefs}/fs-io-direct.c               |  0
 .../libbcachefs}/fs-io-direct.h               |  0
 .../libbcachefs}/fs-io-pagecache.c            |  0
 .../libbcachefs}/fs-io-pagecache.h            |  0
 {libbcachefs => c_src/libbcachefs}/fs-io.c    |  0
 {libbcachefs => c_src/libbcachefs}/fs-io.h    |  0
 {libbcachefs => c_src/libbcachefs}/fs-ioctl.c |  0
 {libbcachefs => c_src/libbcachefs}/fs-ioctl.h |  0
 {libbcachefs => c_src/libbcachefs}/fs.c       |  0
 {libbcachefs => c_src/libbcachefs}/fs.h       |  0
 {libbcachefs => c_src/libbcachefs}/fsck.c     |  0
 {libbcachefs => c_src/libbcachefs}/fsck.h     |  0
 {libbcachefs => c_src/libbcachefs}/inode.c    |  0
 {libbcachefs => c_src/libbcachefs}/inode.h    |  0
 {libbcachefs => c_src/libbcachefs}/io_misc.c  |  0
 {libbcachefs => c_src/libbcachefs}/io_misc.h  |  0
 {libbcachefs => c_src/libbcachefs}/io_read.c  |  0
 {libbcachefs => c_src/libbcachefs}/io_read.h  |  0
 {libbcachefs => c_src/libbcachefs}/io_write.c |  0
 {libbcachefs => c_src/libbcachefs}/io_write.h |  0
 .../libbcachefs}/io_write_types.h             |  0
 {libbcachefs => c_src/libbcachefs}/journal.c  |  0
 {libbcachefs => c_src/libbcachefs}/journal.h  |  0
 .../libbcachefs}/journal_io.c                 |  0
 .../libbcachefs}/journal_io.h                 |  0
 .../libbcachefs}/journal_reclaim.c            |  0
 .../libbcachefs}/journal_reclaim.h            |  0
 .../libbcachefs}/journal_sb.c                 |  0
 .../libbcachefs}/journal_sb.h                 |  0
 .../libbcachefs}/journal_seq_blacklist.c      |  0
 .../libbcachefs}/journal_seq_blacklist.h      |  0
 .../libbcachefs}/journal_types.h              |  0
 {libbcachefs => c_src/libbcachefs}/keylist.c  |  0
 {libbcachefs => c_src/libbcachefs}/keylist.h  |  0
 .../libbcachefs}/keylist_types.h              |  0
 .../libbcachefs}/logged_ops.c                 |  0
 .../libbcachefs}/logged_ops.h                 |  0
 {libbcachefs => c_src/libbcachefs}/lru.c      |  0
 {libbcachefs => c_src/libbcachefs}/lru.h      |  0
 .../libbcachefs}/mean_and_variance.c          |  0
 .../libbcachefs}/mean_and_variance.h          |  0
 {libbcachefs => c_src/libbcachefs}/migrate.c  |  0
 {libbcachefs => c_src/libbcachefs}/migrate.h  |  0
 {libbcachefs => c_src/libbcachefs}/move.c     |  0
 {libbcachefs => c_src/libbcachefs}/move.h     |  0
 .../libbcachefs}/move_types.h                 |  0
 {libbcachefs => c_src/libbcachefs}/movinggc.c |  0
 {libbcachefs => c_src/libbcachefs}/movinggc.h |  0
 .../libbcachefs}/nocow_locking.c              |  0
 .../libbcachefs}/nocow_locking.h              |  0
 .../libbcachefs}/nocow_locking_types.h        |  0
 {libbcachefs => c_src/libbcachefs}/opts.c     |  0
 {libbcachefs => c_src/libbcachefs}/opts.h     |  0
 {libbcachefs => c_src/libbcachefs}/printbuf.c |  0
 {libbcachefs => c_src/libbcachefs}/printbuf.h |  0
 {libbcachefs => c_src/libbcachefs}/quota.c    |  0
 {libbcachefs => c_src/libbcachefs}/quota.h    |  0
 .../libbcachefs}/quota_types.h                |  0
 .../libbcachefs}/rebalance.c                  |  0
 .../libbcachefs}/rebalance.h                  |  0
 .../libbcachefs}/rebalance_types.h            |  0
 {libbcachefs => c_src/libbcachefs}/recovery.c |  0
 {libbcachefs => c_src/libbcachefs}/recovery.h |  0
 .../libbcachefs}/recovery_types.h             |  0
 {libbcachefs => c_src/libbcachefs}/reflink.c  |  0
 {libbcachefs => c_src/libbcachefs}/reflink.h  |  0
 {libbcachefs => c_src/libbcachefs}/replicas.c |  0
 {libbcachefs => c_src/libbcachefs}/replicas.h |  0
 .../libbcachefs}/replicas_types.h             |  0
 {libbcachefs => c_src/libbcachefs}/sb-clean.c |  0
 {libbcachefs => c_src/libbcachefs}/sb-clean.h |  0
 .../libbcachefs}/sb-downgrade.c               |  0
 .../libbcachefs}/sb-downgrade.h               |  0
 .../libbcachefs}/sb-errors.c                  |  0
 .../libbcachefs}/sb-errors.h                  |  0
 .../libbcachefs}/sb-errors_types.h            |  0
 .../libbcachefs}/sb-members.c                 |  0
 .../libbcachefs}/sb-members.h                 |  0
 {libbcachefs => c_src/libbcachefs}/seqmutex.h |  0
 {libbcachefs => c_src/libbcachefs}/siphash.c  |  0
 {libbcachefs => c_src/libbcachefs}/siphash.h  |  0
 {libbcachefs => c_src/libbcachefs}/six.c      |  0
 {libbcachefs => c_src/libbcachefs}/six.h      |  0
 {libbcachefs => c_src/libbcachefs}/snapshot.c |  0
 {libbcachefs => c_src/libbcachefs}/snapshot.h |  0
 {libbcachefs => c_src/libbcachefs}/str_hash.h |  0
 .../libbcachefs}/subvolume.c                  |  0
 .../libbcachefs}/subvolume.h                  |  0
 .../libbcachefs}/subvolume_types.h            |  0
 {libbcachefs => c_src/libbcachefs}/super-io.c |  0
 {libbcachefs => c_src/libbcachefs}/super-io.h |  0
 {libbcachefs => c_src/libbcachefs}/super.c    |  0
 {libbcachefs => c_src/libbcachefs}/super.h    |  0
 .../libbcachefs}/super_types.h                |  0
 {libbcachefs => c_src/libbcachefs}/sysfs.c    |  0
 {libbcachefs => c_src/libbcachefs}/sysfs.h    |  0
 {libbcachefs => c_src/libbcachefs}/tests.c    |  0
 {libbcachefs => c_src/libbcachefs}/tests.h    |  0
 .../libbcachefs}/thread_with_file.c           |  0
 .../libbcachefs}/thread_with_file.h           |  0
 .../libbcachefs}/thread_with_file_types.h     |  0
 {libbcachefs => c_src/libbcachefs}/trace.c    |  0
 {libbcachefs => c_src/libbcachefs}/trace.h    |  0
 .../libbcachefs}/two_state_shared_lock.c      |  0
 .../libbcachefs}/two_state_shared_lock.h      |  0
 {libbcachefs => c_src/libbcachefs}/util.c     |  0
 {libbcachefs => c_src/libbcachefs}/util.h     |  0
 {libbcachefs => c_src/libbcachefs}/varint.c   |  0
 {libbcachefs => c_src/libbcachefs}/varint.h   |  0
 {libbcachefs => c_src/libbcachefs}/vstructs.h |  0
 {libbcachefs => c_src/libbcachefs}/xattr.c    |  0
 {libbcachefs => c_src/libbcachefs}/xattr.h    |  0
 {linux => c_src/linux}/atomic64.c             |  0
 {linux => c_src/linux}/bio.c                  |  0
 {linux => c_src/linux}/blkdev.c               |  0
 {linux => c_src/linux}/closure.c              |  0
 {linux => c_src/linux}/crc64.c                |  0
 {linux => c_src/linux}/crc64table.h           |  0
 {linux => c_src/linux}/crypto/api.c           |  0
 .../linux}/crypto/chacha20_generic.c          |  0
 .../linux}/crypto/poly1305_generic.c          |  0
 .../linux}/crypto/sha256_generic.c            |  0
 {linux => c_src/linux}/fs.c                   |  0
 {linux => c_src/linux}/generic-radix-tree.c   |  0
 {linux => c_src/linux}/int_sqrt.c             |  0
 {linux => c_src/linux}/kstrtox.c              |  0
 {linux => c_src/linux}/kstrtox.h              |  0
 {linux => c_src/linux}/kthread.c              |  0
 {linux => c_src/linux}/llist.c                |  0
 {linux => c_src/linux}/mempool.c              |  0
 {linux => c_src/linux}/preempt.c              |  0
 {linux => c_src/linux}/ratelimit.c            |  0
 {linux => c_src/linux}/rhashtable.c           |  0
 {linux => c_src/linux}/sched.c                |  0
 {linux => c_src/linux}/semaphore.c            |  0
 {linux => c_src/linux}/seq_buf.c              |  0
 {linux => c_src/linux}/shrinker.c             |  0
 {linux => c_src/linux}/siphash.c              |  0
 {linux => c_src/linux}/string.c               |  0
 {linux => c_src/linux}/string_helpers.c       |  0
 {linux => c_src/linux}/timer.c                |  0
 {linux => c_src/linux}/wait.c                 |  0
 {linux => c_src/linux}/workqueue.c            |  0
 {linux => c_src/linux}/xxhash.c               |  0
 {linux => c_src/linux}/zstd_compress_module.c |  0
 .../linux}/zstd_decompress_module.c           |  0
 qcow2.c => c_src/qcow2.c                      |  0
 qcow2.h => c_src/qcow2.h                      |  0
 {raid => c_src/raid}/COPYING                  |  0
 {raid => c_src/raid}/check.c                  |  0
 {raid => c_src/raid}/combo.h                  |  0
 {raid => c_src/raid}/cpu.h                    |  0
 {raid => c_src/raid}/gf.h                     |  0
 {raid => c_src/raid}/helper.c                 |  0
 {raid => c_src/raid}/helper.h                 |  0
 {raid => c_src/raid}/int.c                    |  0
 {raid => c_src/raid}/internal.h               |  0
 {raid => c_src/raid}/intz.c                   |  0
 {raid => c_src/raid}/memory.c                 |  0
 {raid => c_src/raid}/memory.h                 |  0
 {raid => c_src/raid}/module.c                 |  0
 {raid => c_src/raid}/raid.c                   |  0
 {raid => c_src/raid}/raid.h                   |  0
 {raid => c_src/raid}/tables.c                 |  0
 {raid => c_src/raid}/tag.c                    |  0
 {raid => c_src/raid}/test.c                   |  0
 {raid => c_src/raid}/test.h                   |  0
 {raid => c_src/raid}/x86.c                    |  0
 {raid => c_src/raid}/x86z.c                   |  0
 tools-util.c => c_src/tools-util.c            |  0
 tools-util.h => c_src/tools-util.h            |  0
 make-release-tarball.sh                       |  4 +-
 rust-src/.gitignore                           | 15 -----
 rust-src/README.md                            | 62 -------------------
 .../bch_bindgen/src/libbcachefs_wrapper.h     | 22 -------
 rust-src/rustfmt.toml => rustfmt.toml         |  0
 {rust-src/src => src}/bcachefs.rs             |  0
 .../src => src}/commands/cmd_completions.rs   |  0
 {rust-src/src => src}/commands/cmd_list.rs    |  0
 {rust-src/src => src}/commands/cmd_mount.rs   |  0
 {rust-src/src => src}/commands/logger.rs      |  0
 {rust-src/src => src}/commands/mod.rs         |  0
 {rust-src/src => src}/key.rs                  |  0
 tests/util.py                                 |  2 +-
 470 files changed, 52 insertions(+), 121 deletions(-)
 rename rust-src/Cargo.lock => Cargo.lock (100%)
 rename rust-src/Cargo.toml => Cargo.toml (100%)
 rename {rust-src/bch_bindgen => bch_bindgen}/.gitignore (100%)
 rename {rust-src/bch_bindgen => bch_bindgen}/Cargo.lock (100%)
 rename {rust-src/bch_bindgen => bch_bindgen}/Cargo.toml (100%)
 rename {rust-src/bch_bindgen => bch_bindgen}/build.rs (96%)
 rename {rust-src/bch_bindgen => bch_bindgen}/rustfmt.toml (100%)
 rename {rust-src/bch_bindgen => bch_bindgen}/src/bcachefs.rs (100%)
 rename {rust-src/bch_bindgen => bch_bindgen}/src/bkey.rs (100%)
 rename {rust-src/bch_bindgen => bch_bindgen}/src/btree.rs (100%)
 rename {rust-src/bch_bindgen => bch_bindgen}/src/errcode.rs (100%)
 rename {rust-src/bch_bindgen => bch_bindgen}/src/fs.rs (100%)
 rename {rust-src/bch_bindgen => bch_bindgen}/src/keyutils.rs (100%)
 rename {rust-src/bch_bindgen => bch_bindgen}/src/keyutils_wrapper.h (100%)
 rename {rust-src/bch_bindgen => bch_bindgen}/src/lib.rs (100%)
 create mode 100644 bch_bindgen/src/libbcachefs_wrapper.h
 rename {rust-src/bch_bindgen => bch_bindgen}/src/opts.rs (100%)
 rename {rust-src/bch_bindgen => bch_bindgen}/src/rs.rs (100%)
 rename rust-src/build.rs => build.rs (86%)
 rename bcachefs.c => c_src/bcachefs.c (100%)
 rename {ccan => c_src/ccan}/array_size/LICENSE (100%)
 rename {ccan => c_src/ccan}/array_size/_info (100%)
 rename {ccan => c_src/ccan}/array_size/array_size.h (100%)
 rename {ccan => c_src/ccan}/build_assert/LICENSE (100%)
 rename {ccan => c_src/ccan}/build_assert/_info (100%)
 rename {ccan => c_src/ccan}/build_assert/build_assert.h (100%)
 rename {ccan => c_src/ccan}/compiler/LICENSE (100%)
 rename {ccan => c_src/ccan}/compiler/_info (100%)
 rename {ccan => c_src/ccan}/compiler/compiler.h (100%)
 rename cmd_assemble.c => c_src/cmd_assemble.c (100%)
 rename cmd_attr.c => c_src/cmd_attr.c (100%)
 rename cmd_counters.c => c_src/cmd_counters.c (100%)
 rename cmd_data.c => c_src/cmd_data.c (100%)
 rename cmd_device.c => c_src/cmd_device.c (100%)
 rename cmd_dump.c => c_src/cmd_dump.c (100%)
 rename cmd_format.c => c_src/cmd_format.c (100%)
 rename cmd_fs.c => c_src/cmd_fs.c (100%)
 rename cmd_fsck.c => c_src/cmd_fsck.c (100%)
 rename cmd_fusemount.c => c_src/cmd_fusemount.c (100%)
 rename cmd_key.c => c_src/cmd_key.c (100%)
 rename cmd_kill_btree_node.c => c_src/cmd_kill_btree_node.c (100%)
 rename cmd_list_journal.c => c_src/cmd_list_journal.c (100%)
 rename cmd_migrate.c => c_src/cmd_migrate.c (100%)
 rename cmd_option.c => c_src/cmd_option.c (100%)
 rename cmd_run.c => c_src/cmd_run.c (100%)
 rename cmd_subvolume.c => c_src/cmd_subvolume.c (100%)
 rename cmd_version.c => c_src/cmd_version.c (100%)
 rename cmds.h => c_src/cmds.h (100%)
 rename config.h => c_src/config.h (100%)
 rename crypto.c => c_src/crypto.c (100%)
 rename crypto.h => c_src/crypto.h (100%)
 rename {include => c_src/include}/asm/page.h (100%)
 rename {include => c_src/include}/asm/unaligned.h (100%)
 rename {include => c_src/include}/crypto/algapi.h (100%)
 rename {include => c_src/include}/crypto/chacha.h (100%)
 rename {include => c_src/include}/crypto/hash.h (100%)
 rename {include => c_src/include}/crypto/poly1305.h (100%)
 rename {include => c_src/include}/crypto/sha2.h (100%)
 rename {include => c_src/include}/crypto/skcipher.h (100%)
 rename {include => c_src/include}/keys/user-type.h (100%)
 rename {include => c_src/include}/linux/atomic.h (100%)
 rename {include => c_src/include}/linux/backing-dev-defs.h (100%)
 rename {include => c_src/include}/linux/backing-dev.h (100%)
 rename {include => c_src/include}/linux/bio.h (100%)
 rename {include => c_src/include}/linux/bit_spinlock.h (100%)
 rename {include => c_src/include}/linux/bitmap.h (100%)
 rename {include => c_src/include}/linux/bitops.h (100%)
 rename {include => c_src/include}/linux/blk_types.h (100%)
 rename {include => c_src/include}/linux/blkdev.h (100%)
 rename {include => c_src/include}/linux/bsearch.h (100%)
 rename {include => c_src/include}/linux/bug.h (100%)
 rename {include => c_src/include}/linux/bvec.h (100%)
 rename {include => c_src/include}/linux/byteorder.h (100%)
 rename {include => c_src/include}/linux/cache.h (100%)
 rename {include => c_src/include}/linux/closure.h (100%)
 rename {include => c_src/include}/linux/compiler.h (100%)
 rename {include => c_src/include}/linux/completion.h (100%)
 rename {include => c_src/include}/linux/console.h (100%)
 rename {include => c_src/include}/linux/cpumask.h (100%)
 rename {include => c_src/include}/linux/crc32c.h (100%)
 rename {include => c_src/include}/linux/crc64.h (100%)
 rename {include => c_src/include}/linux/crypto.h (100%)
 rename {include => c_src/include}/linux/ctype.h (100%)
 rename {include => c_src/include}/linux/dcache.h (100%)
 rename {include => c_src/include}/linux/debugfs.h (100%)
 rename {include => c_src/include}/linux/device.h (100%)
 rename {include => c_src/include}/linux/dynamic_fault.h (100%)
 rename {include => c_src/include}/linux/err.h (100%)
 rename {include => c_src/include}/linux/errname.h (100%)
 rename {include => c_src/include}/linux/export.h (100%)
 rename {include => c_src/include}/linux/freezer.h (100%)
 rename {include => c_src/include}/linux/generic-radix-tree.h (100%)
 rename {include => c_src/include}/linux/genhd.h (100%)
 rename {include => c_src/include}/linux/gfp.h (100%)
 rename {include => c_src/include}/linux/hash.h (100%)
 rename {include => c_src/include}/linux/idr.h (100%)
 rename {include => c_src/include}/linux/ioprio.h (100%)
 rename {include => c_src/include}/linux/jhash.h (100%)
 rename {include => c_src/include}/linux/jiffies.h (100%)
 rename {include => c_src/include}/linux/kernel.h (100%)
 rename {include => c_src/include}/linux/key.h (100%)
 rename {include => c_src/include}/linux/kmemleak.h (100%)
 rename {include => c_src/include}/linux/kobject.h (100%)
 rename {include => c_src/include}/linux/kthread.h (100%)
 rename {include => c_src/include}/linux/list.h (100%)
 rename {include => c_src/include}/linux/list_nulls.h (100%)
 rename {include => c_src/include}/linux/llist.h (100%)
 rename {include => c_src/include}/linux/lockdep.h (100%)
 rename {include => c_src/include}/linux/log2.h (100%)
 rename {include => c_src/include}/linux/lz4.h (100%)
 rename {include => c_src/include}/linux/math.h (100%)
 rename {include => c_src/include}/linux/math64.h (100%)
 rename {include => c_src/include}/linux/mempool.h (100%)
 rename {include => c_src/include}/linux/minmax.h (100%)
 rename {include => c_src/include}/linux/mm.h (100%)
 rename {include => c_src/include}/linux/module.h (100%)
 rename {include => c_src/include}/linux/mutex.h (100%)
 rename {include => c_src/include}/linux/osq_lock.h (100%)
 rename {include => c_src/include}/linux/overflow.h (100%)
 rename {include => c_src/include}/linux/page.h (100%)
 rename {include => c_src/include}/linux/percpu-refcount.h (100%)
 rename {include => c_src/include}/linux/percpu-rwsem.h (100%)
 rename {include => c_src/include}/linux/percpu.h (100%)
 rename {include => c_src/include}/linux/poison.h (100%)
 rename {include => c_src/include}/linux/posix_acl.h (100%)
 rename {include => c_src/include}/linux/posix_acl_xattr.h (100%)
 rename {include => c_src/include}/linux/prandom.h (100%)
 rename {include => c_src/include}/linux/preempt.h (100%)
 rename {include => c_src/include}/linux/prefetch.h (100%)
 rename {include => c_src/include}/linux/pretty-printers.h (100%)
 rename {include => c_src/include}/linux/printk.h (100%)
 rename {include => c_src/include}/linux/random.h (100%)
 rename {include => c_src/include}/linux/ratelimit.h (100%)
 rename {include => c_src/include}/linux/rculist.h (100%)
 rename {include => c_src/include}/linux/rcupdate.h (100%)
 rename {include => c_src/include}/linux/refcount.h (100%)
 rename {include => c_src/include}/linux/rhashtable-types.h (100%)
 rename {include => c_src/include}/linux/rhashtable.h (100%)
 rename {include => c_src/include}/linux/rwsem.h (100%)
 rename {include => c_src/include}/linux/scatterlist.h (100%)
 rename {include => c_src/include}/linux/sched.h (100%)
 rename {include => c_src/include}/linux/sched/clock.h (100%)
 rename {include => c_src/include}/linux/sched/cputime.h (100%)
 rename {include => c_src/include}/linux/sched/debug.h (100%)
 rename {include => c_src/include}/linux/sched/mm.h (100%)
 rename {include => c_src/include}/linux/sched/rt.h (100%)
 rename {include => c_src/include}/linux/sched/signal.h (100%)
 rename {include => c_src/include}/linux/sched/task.h (100%)
 rename {include => c_src/include}/linux/sched/task_stack.h (100%)
 rename {include => c_src/include}/linux/semaphore.h (100%)
 rename {include => c_src/include}/linux/seq_buf.h (100%)
 rename {include => c_src/include}/linux/seq_file.h (100%)
 rename {include => c_src/include}/linux/seqlock.h (100%)
 rename {include => c_src/include}/linux/shrinker.h (100%)
 rename {include => c_src/include}/linux/siphash.h (100%)
 rename {include => c_src/include}/linux/slab.h (100%)
 rename {include => c_src/include}/linux/sort.h (100%)
 rename {include => c_src/include}/linux/spinlock.h (100%)
 rename {include => c_src/include}/linux/srcu.h (100%)
 rename {include => c_src/include}/linux/stat.h (100%)
 rename {include => c_src/include}/linux/string.h (100%)
 rename {include => c_src/include}/linux/string_helpers.h (100%)
 rename {include => c_src/include}/linux/sysfs.h (100%)
 rename {include => c_src/include}/linux/time64.h (100%)
 rename {include => c_src/include}/linux/timer.h (100%)
 rename {include => c_src/include}/linux/tracepoint.h (100%)
 rename {include => c_src/include}/linux/typecheck.h (100%)
 rename {include => c_src/include}/linux/types.h (100%)
 rename {include => c_src/include}/linux/unaligned/be_byteshift.h (100%)
 rename {include => c_src/include}/linux/unaligned/be_struct.h (100%)
 rename {include => c_src/include}/linux/unaligned/generic.h (100%)
 rename {include => c_src/include}/linux/unaligned/le_byteshift.h (100%)
 rename {include => c_src/include}/linux/unaligned/le_struct.h (100%)
 rename {include => c_src/include}/linux/unaligned/packed_struct.h (100%)
 rename {include => c_src/include}/linux/uuid.h (100%)
 rename {include => c_src/include}/linux/vmalloc.h (100%)
 rename {include => c_src/include}/linux/wait.h (100%)
 rename {include => c_src/include}/linux/workqueue.h (100%)
 rename {include => c_src/include}/linux/xattr.h (100%)
 rename {include => c_src/include}/linux/xxhash.h (100%)
 rename {include => c_src/include}/linux/zlib.h (100%)
 rename {include => c_src/include}/linux/zstd.h (100%)
 rename {include => c_src/include}/linux/zstd_errors.h (100%)
 rename {include => c_src/include}/trace/define_trace.h (100%)
 rename {include => c_src/include}/trace/events/lock.h (100%)
 rename {include => c_src/include}/uapi/linux/xattr.h (100%)
 rename libbcachefs.c => c_src/libbcachefs.c (100%)
 rename libbcachefs.h => c_src/libbcachefs.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/acl.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/acl.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/alloc_background.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/alloc_background.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/alloc_foreground.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/alloc_foreground.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/alloc_types.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/backpointers.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/backpointers.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/bbpos.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/bbpos_types.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/bcachefs.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/bcachefs_format.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/bcachefs_ioctl.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/bkey.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/bkey.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/bkey_buf.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/bkey_cmp.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/bkey_methods.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/bkey_methods.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/bkey_sort.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/bkey_sort.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/bset.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/bset.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/btree_cache.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/btree_cache.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/btree_gc.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/btree_gc.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/btree_io.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/btree_io.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/btree_iter.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/btree_iter.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/btree_journal_iter.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/btree_journal_iter.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/btree_key_cache.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/btree_key_cache.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/btree_key_cache_types.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/btree_locking.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/btree_locking.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/btree_trans_commit.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/btree_types.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/btree_update.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/btree_update.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/btree_update_interior.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/btree_update_interior.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/btree_write_buffer.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/btree_write_buffer.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/btree_write_buffer_types.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/buckets.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/buckets.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/buckets_types.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/buckets_waiting_for_journal.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/buckets_waiting_for_journal.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/buckets_waiting_for_journal_types.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/chardev.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/chardev.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/checksum.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/checksum.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/clock.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/clock.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/clock_types.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/compress.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/compress.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/counters.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/counters.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/darray.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/darray.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/data_update.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/data_update.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/debug.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/debug.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/dirent.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/dirent.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/disk_groups.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/disk_groups.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/disk_groups_types.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/ec.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/ec.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/ec_types.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/errcode.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/errcode.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/error.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/error.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/extent_update.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/extent_update.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/extents.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/extents.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/extents_types.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/eytzinger.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/fifo.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/fs-common.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/fs-common.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/fs-io-buffered.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/fs-io-buffered.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/fs-io-direct.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/fs-io-direct.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/fs-io-pagecache.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/fs-io-pagecache.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/fs-io.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/fs-io.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/fs-ioctl.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/fs-ioctl.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/fs.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/fs.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/fsck.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/fsck.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/inode.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/inode.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/io_misc.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/io_misc.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/io_read.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/io_read.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/io_write.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/io_write.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/io_write_types.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/journal.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/journal.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/journal_io.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/journal_io.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/journal_reclaim.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/journal_reclaim.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/journal_sb.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/journal_sb.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/journal_seq_blacklist.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/journal_seq_blacklist.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/journal_types.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/keylist.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/keylist.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/keylist_types.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/logged_ops.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/logged_ops.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/lru.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/lru.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/mean_and_variance.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/mean_and_variance.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/migrate.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/migrate.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/move.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/move.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/move_types.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/movinggc.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/movinggc.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/nocow_locking.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/nocow_locking.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/nocow_locking_types.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/opts.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/opts.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/printbuf.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/printbuf.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/quota.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/quota.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/quota_types.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/rebalance.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/rebalance.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/rebalance_types.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/recovery.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/recovery.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/recovery_types.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/reflink.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/reflink.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/replicas.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/replicas.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/replicas_types.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/sb-clean.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/sb-clean.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/sb-downgrade.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/sb-downgrade.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/sb-errors.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/sb-errors.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/sb-errors_types.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/sb-members.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/sb-members.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/seqmutex.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/siphash.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/siphash.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/six.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/six.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/snapshot.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/snapshot.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/str_hash.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/subvolume.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/subvolume.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/subvolume_types.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/super-io.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/super-io.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/super.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/super.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/super_types.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/sysfs.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/sysfs.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/tests.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/tests.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/thread_with_file.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/thread_with_file.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/thread_with_file_types.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/trace.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/trace.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/two_state_shared_lock.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/two_state_shared_lock.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/util.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/util.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/varint.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/varint.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/vstructs.h (100%)
 rename {libbcachefs => c_src/libbcachefs}/xattr.c (100%)
 rename {libbcachefs => c_src/libbcachefs}/xattr.h (100%)
 rename {linux => c_src/linux}/atomic64.c (100%)
 rename {linux => c_src/linux}/bio.c (100%)
 rename {linux => c_src/linux}/blkdev.c (100%)
 rename {linux => c_src/linux}/closure.c (100%)
 rename {linux => c_src/linux}/crc64.c (100%)
 rename {linux => c_src/linux}/crc64table.h (100%)
 rename {linux => c_src/linux}/crypto/api.c (100%)
 rename {linux => c_src/linux}/crypto/chacha20_generic.c (100%)
 rename {linux => c_src/linux}/crypto/poly1305_generic.c (100%)
 rename {linux => c_src/linux}/crypto/sha256_generic.c (100%)
 rename {linux => c_src/linux}/fs.c (100%)
 rename {linux => c_src/linux}/generic-radix-tree.c (100%)
 rename {linux => c_src/linux}/int_sqrt.c (100%)
 rename {linux => c_src/linux}/kstrtox.c (100%)
 rename {linux => c_src/linux}/kstrtox.h (100%)
 rename {linux => c_src/linux}/kthread.c (100%)
 rename {linux => c_src/linux}/llist.c (100%)
 rename {linux => c_src/linux}/mempool.c (100%)
 rename {linux => c_src/linux}/preempt.c (100%)
 rename {linux => c_src/linux}/ratelimit.c (100%)
 rename {linux => c_src/linux}/rhashtable.c (100%)
 rename {linux => c_src/linux}/sched.c (100%)
 rename {linux => c_src/linux}/semaphore.c (100%)
 rename {linux => c_src/linux}/seq_buf.c (100%)
 rename {linux => c_src/linux}/shrinker.c (100%)
 rename {linux => c_src/linux}/siphash.c (100%)
 rename {linux => c_src/linux}/string.c (100%)
 rename {linux => c_src/linux}/string_helpers.c (100%)
 rename {linux => c_src/linux}/timer.c (100%)
 rename {linux => c_src/linux}/wait.c (100%)
 rename {linux => c_src/linux}/workqueue.c (100%)
 rename {linux => c_src/linux}/xxhash.c (100%)
 rename {linux => c_src/linux}/zstd_compress_module.c (100%)
 rename {linux => c_src/linux}/zstd_decompress_module.c (100%)
 rename qcow2.c => c_src/qcow2.c (100%)
 rename qcow2.h => c_src/qcow2.h (100%)
 rename {raid => c_src/raid}/COPYING (100%)
 rename {raid => c_src/raid}/check.c (100%)
 rename {raid => c_src/raid}/combo.h (100%)
 rename {raid => c_src/raid}/cpu.h (100%)
 rename {raid => c_src/raid}/gf.h (100%)
 rename {raid => c_src/raid}/helper.c (100%)
 rename {raid => c_src/raid}/helper.h (100%)
 rename {raid => c_src/raid}/int.c (100%)
 rename {raid => c_src/raid}/internal.h (100%)
 rename {raid => c_src/raid}/intz.c (100%)
 rename {raid => c_src/raid}/memory.c (100%)
 rename {raid => c_src/raid}/memory.h (100%)
 rename {raid => c_src/raid}/module.c (100%)
 rename {raid => c_src/raid}/raid.c (100%)
 rename {raid => c_src/raid}/raid.h (100%)
 rename {raid => c_src/raid}/tables.c (100%)
 rename {raid => c_src/raid}/tag.c (100%)
 rename {raid => c_src/raid}/test.c (100%)
 rename {raid => c_src/raid}/test.h (100%)
 rename {raid => c_src/raid}/x86.c (100%)
 rename {raid => c_src/raid}/x86z.c (100%)
 rename tools-util.c => c_src/tools-util.c (100%)
 rename tools-util.h => c_src/tools-util.h (100%)
 delete mode 100644 rust-src/.gitignore
 delete mode 100644 rust-src/README.md
 delete mode 100644 rust-src/bch_bindgen/src/libbcachefs_wrapper.h
 rename rust-src/rustfmt.toml => rustfmt.toml (100%)
 rename {rust-src/src => src}/bcachefs.rs (100%)
 rename {rust-src/src => src}/commands/cmd_completions.rs (100%)
 rename {rust-src/src => src}/commands/cmd_list.rs (100%)
 rename {rust-src/src => src}/commands/cmd_mount.rs (100%)
 rename {rust-src/src => src}/commands/logger.rs (100%)
 rename {rust-src/src => src}/commands/mod.rs (100%)
 rename {rust-src/src => src}/key.rs (100%)

diff --git a/.github/workflows/build-packages.yml b/.github/workflows/build-packages.yml
index 08a6827..0d134b5 100644
--- a/.github/workflows/build-packages.yml
+++ b/.github/workflows/build-packages.yml
@@ -78,7 +78,7 @@ jobs:
               uuid-dev zlib1g-dev valgrind libudev-dev python3-docutils libclang-dev
       - name: Extract MSRV
         run: |
-          MSRV=$(cargo metadata --format-version 1 --no-deps --manifest-path rust-src/Cargo.toml |
+          MSRV=$(cargo metadata --format-version 1 --no-deps |
                   jq -r '.packages[] | select(.name == "bcachefs-tools") | .rust_version')
           echo "MSRV=$MSRV" >> $GITHUB_ENV
       - name: Install Rust ${{ env.MSRV }} toolchain
diff --git a/.gitignore b/.gitignore
index efd7dc7..cf86eab 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,3 +20,13 @@ tests/__pycache__/
 !.editorconfig
 
 bcachefs-principles-of-operation.*
+
+# will have compiled files and executables
+debug/
+target/
+
+# These are backup files generated by rustfmt
+**/*.rs.bk
+
+# MSVC Windows builds of rustc generate these, which store debugging information
+*.pdb
diff --git a/rust-src/Cargo.lock b/Cargo.lock
similarity index 100%
rename from rust-src/Cargo.lock
rename to Cargo.lock
diff --git a/rust-src/Cargo.toml b/Cargo.toml
similarity index 100%
rename from rust-src/Cargo.toml
rename to Cargo.toml
diff --git a/Makefile b/Makefile
index d283c7b..4b4762a 100644
--- a/Makefile
+++ b/Makefile
@@ -30,7 +30,7 @@ CFLAGS+=-std=gnu11 -O2 -g -MMD -Wall -fPIC			\
 	-Wno-deprecated-declarations				\
 	-fno-strict-aliasing					\
 	-fno-delete-null-pointer-checks				\
-	-I. -Iinclude -Iraid					\
+	-Ic_src -Ic_src/include					\
 	-D_FILE_OFFSET_BITS=64					\
 	-D_GNU_SOURCE						\
 	-D_LGPL_SOURCE						\
@@ -55,12 +55,11 @@ CARGO_ARGS=${CARGO_TOOLCHAIN}
 CARGO=cargo $(CARGO_ARGS)
 CARGO_PROFILE=release
 # CARGO_PROFILE=debug
-CARGO_MANIFEST=--manifest-path rust-src/Cargo.toml
 
 CARGO_BUILD_ARGS=--$(CARGO_PROFILE)
-CARGO_BUILD=$(CARGO) build $(CARGO_BUILD_ARGS) $(CARGO_MANIFEST)
+CARGO_BUILD=$(CARGO) build $(CARGO_BUILD_ARGS)
 
-CARGO_CLEAN=$(CARGO) clean $(CARGO_CLEAN_ARGS) $(CARGO_MANIFEST)
+CARGO_CLEAN=$(CARGO) clean $(CARGO_CLEAN_ARGS)
 
 include Makefile.compiler
 
@@ -172,13 +171,13 @@ OBJS:=$(SRCS:.c=.o)
 	@echo "    [CC]     $@"
 	$(Q)$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
 
-BCACHEFS_DEPS=libbcachefs.a
-RUST_SRCS:=$(shell find rust-src/src rust-src/bch_bindgen/src -type f -iname '*.rs')
+BCACHEFS_DEPS=c_src/libbcachefs.a
+RUST_SRCS:=$(shell find src bch_bindgen/src -type f -iname '*.rs')
 
 bcachefs: $(BCACHEFS_DEPS) $(RUST_SRCS)
-	$(CARGO_BUILD)
+	$(Q)$(CARGO_BUILD)
 
-libbcachefs.a: $(filter-out ./tests/%.o, $(OBJS))
+c_src/libbcachefs.a: $(filter-out ./tests/%.o, $(OBJS))
 	@echo "    [AR]     $@"
 	$(Q)ar -rc $@ $+
 
@@ -201,7 +200,7 @@ cmd_version.o : .version
 install: INITRAMFS_HOOK=$(INITRAMFS_DIR)/hooks/bcachefs
 install: INITRAMFS_SCRIPT=$(INITRAMFS_DIR)/scripts/local-premount/bcachefs
 install: bcachefs $(optional_install)
-	$(INSTALL) -m0755 -D rust-src/target/release/bcachefs -t $(DESTDIR)$(ROOT_SBINDIR)
+	$(INSTALL) -m0755 -D target/release/bcachefs -t $(DESTDIR)$(ROOT_SBINDIR)
 	$(INSTALL) -m0644 -D bcachefs.8    -t $(DESTDIR)$(PREFIX)/share/man/man8/
 	$(INSTALL) -m0755 -D initramfs/script $(DESTDIR)$(INITRAMFS_SCRIPT)
 	$(INSTALL) -m0755 -D initramfs/hook   $(DESTDIR)$(INITRAMFS_HOOK)
@@ -224,7 +223,7 @@ install_systemd: $(systemd_services) $(systemd_libexecfiles)
 .PHONY: clean
 clean:
 	@echo "Cleaning all"
-	$(Q)$(RM) libbcachefs.a tests/test_helper .version *.tar.xz $(OBJS) $(DEPS) $(DOCGENERATED)
+	$(Q)$(RM) c_src/libbcachefs.a tests/test_helper .version *.tar.xz $(OBJS) $(DEPS) $(DOCGENERATED)
 	$(Q)$(CARGO_CLEAN)
 	$(Q)$(RM) -f $(built_scripts)
 
@@ -244,8 +243,8 @@ doc: bcachefs-principles-of-operation.pdf
 
 .PHONY: cargo-update-msrv
 cargo-update-msrv:
-	cargo +nightly generate-lockfile --manifest-path rust-src/Cargo.toml -Zmsrv-policy
-	cargo +nightly generate-lockfile --manifest-path rust-src/bch_bindgen/Cargo.toml -Zmsrv-policy
+	cargo +nightly generate-lockfile -Zmsrv-policy
+	cargo +nightly generate-lockfile --manifest-path bch_bindgen/Cargo.toml -Zmsrv-policy
 
 .PHONY: update-bcachefs-sources
 update-bcachefs-sources:
diff --git a/rust-src/bch_bindgen/.gitignore b/bch_bindgen/.gitignore
similarity index 100%
rename from rust-src/bch_bindgen/.gitignore
rename to bch_bindgen/.gitignore
diff --git a/rust-src/bch_bindgen/Cargo.lock b/bch_bindgen/Cargo.lock
similarity index 100%
rename from rust-src/bch_bindgen/Cargo.lock
rename to bch_bindgen/Cargo.lock
diff --git a/rust-src/bch_bindgen/Cargo.toml b/bch_bindgen/Cargo.toml
similarity index 100%
rename from rust-src/bch_bindgen/Cargo.toml
rename to bch_bindgen/Cargo.toml
diff --git a/rust-src/bch_bindgen/build.rs b/bch_bindgen/build.rs
similarity index 96%
rename from rust-src/bch_bindgen/build.rs
rename to bch_bindgen/build.rs
index d9805a8..facea21 100644
--- a/rust-src/bch_bindgen/build.rs
+++ b/bch_bindgen/build.rs
@@ -19,9 +19,8 @@ fn main() {
         .expect("ENV Var 'CARGO_MANIFEST_DIR' Expected")
         .into();
 
-    let libbcachefs_inc_dir = std::path::Path::new("../..");
+    let libbcachefs_inc_dir = std::path::Path::new("../c_src");
 
-    let _libbcachefs_dir = top_dir.join("libbcachefs").join("libbcachefs");
     let bindings = bindgen::builder()
         .header(
             top_dir
diff --git a/rust-src/bch_bindgen/rustfmt.toml b/bch_bindgen/rustfmt.toml
similarity index 100%
rename from rust-src/bch_bindgen/rustfmt.toml
rename to bch_bindgen/rustfmt.toml
diff --git a/rust-src/bch_bindgen/src/bcachefs.rs b/bch_bindgen/src/bcachefs.rs
similarity index 100%
rename from rust-src/bch_bindgen/src/bcachefs.rs
rename to bch_bindgen/src/bcachefs.rs
diff --git a/rust-src/bch_bindgen/src/bkey.rs b/bch_bindgen/src/bkey.rs
similarity index 100%
rename from rust-src/bch_bindgen/src/bkey.rs
rename to bch_bindgen/src/bkey.rs
diff --git a/rust-src/bch_bindgen/src/btree.rs b/bch_bindgen/src/btree.rs
similarity index 100%
rename from rust-src/bch_bindgen/src/btree.rs
rename to bch_bindgen/src/btree.rs
diff --git a/rust-src/bch_bindgen/src/errcode.rs b/bch_bindgen/src/errcode.rs
similarity index 100%
rename from rust-src/bch_bindgen/src/errcode.rs
rename to bch_bindgen/src/errcode.rs
diff --git a/rust-src/bch_bindgen/src/fs.rs b/bch_bindgen/src/fs.rs
similarity index 100%
rename from rust-src/bch_bindgen/src/fs.rs
rename to bch_bindgen/src/fs.rs
diff --git a/rust-src/bch_bindgen/src/keyutils.rs b/bch_bindgen/src/keyutils.rs
similarity index 100%
rename from rust-src/bch_bindgen/src/keyutils.rs
rename to bch_bindgen/src/keyutils.rs
diff --git a/rust-src/bch_bindgen/src/keyutils_wrapper.h b/bch_bindgen/src/keyutils_wrapper.h
similarity index 100%
rename from rust-src/bch_bindgen/src/keyutils_wrapper.h
rename to bch_bindgen/src/keyutils_wrapper.h
diff --git a/rust-src/bch_bindgen/src/lib.rs b/bch_bindgen/src/lib.rs
similarity index 100%
rename from rust-src/bch_bindgen/src/lib.rs
rename to bch_bindgen/src/lib.rs
diff --git a/bch_bindgen/src/libbcachefs_wrapper.h b/bch_bindgen/src/libbcachefs_wrapper.h
new file mode 100644
index 0000000..141b083
--- /dev/null
+++ b/bch_bindgen/src/libbcachefs_wrapper.h
@@ -0,0 +1,22 @@
+#include "libbcachefs/super-io.h"
+#include "libbcachefs/checksum.h"
+#include "libbcachefs/bcachefs_format.h"
+#include "libbcachefs/btree_cache.h"
+#include "libbcachefs/btree_iter.h"
+#include "libbcachefs/debug.h"
+#include "libbcachefs/errcode.h"
+#include "libbcachefs/error.h"
+#include "libbcachefs/opts.h"
+#include "libbcachefs.h"
+#include "crypto.h"
+#include "include/linux/bio.h"
+#include "include/linux/blkdev.h"
+#include "cmds.h"
+#include "raid/raid.h"
+
+
+#define MARK_FIX_753(req_name) const blk_mode_t Fix753_##req_name = req_name;
+
+MARK_FIX_753(BLK_OPEN_READ);
+MARK_FIX_753(BLK_OPEN_WRITE);
+MARK_FIX_753(BLK_OPEN_EXCL);
diff --git a/rust-src/bch_bindgen/src/opts.rs b/bch_bindgen/src/opts.rs
similarity index 100%
rename from rust-src/bch_bindgen/src/opts.rs
rename to bch_bindgen/src/opts.rs
diff --git a/rust-src/bch_bindgen/src/rs.rs b/bch_bindgen/src/rs.rs
similarity index 100%
rename from rust-src/bch_bindgen/src/rs.rs
rename to bch_bindgen/src/rs.rs
diff --git a/build.nix b/build.nix
index 831c7e9..a37a6c6 100644
--- a/build.nix
+++ b/build.nix
@@ -35,12 +35,12 @@ in stdenv.mkDerivation {
 
   BCACHEFS_FUSE = if fuseSupport then "1" else "";
 
-  cargoRoot = "rust-src";
+  cargoRoot = ".";
   # when git-based crates are updated, run:
   # nix run github:Mic92/nix-update -- --version=skip --flake default
   # to update the hashes
   cargoDeps = rustPlatform.importCargoLock {
-    lockFile = "${src}/rust-src/Cargo.lock";
+    lockFile = "${src}/Cargo.lock";
     outputHashes = {
       "bindgen-0.64.0" = "sha256-GNG8as33HLRYJGYe0nw6qBzq86aHiGonyynEM7gaEE4=";
     };
diff --git a/rust-src/build.rs b/build.rs
similarity index 86%
rename from rust-src/build.rs
rename to build.rs
index e4662bd..3364c6a 100644
--- a/rust-src/build.rs
+++ b/build.rs
@@ -1,6 +1,6 @@
 fn main() {
-    println!("cargo:rustc-link-search=..");
-    println!("cargo:rerun-if-changed=../libbcachefs.a");
+    println!("cargo:rustc-link-search=c_src");
+    println!("cargo:rerun-if-changed=c_src/libbcachefs.a");
     println!("cargo:rustc-link-lib=static:+whole-archive=bcachefs");
 
     println!("cargo:rustc-link-lib=urcu");
diff --git a/bcachefs.c b/c_src/bcachefs.c
similarity index 100%
rename from bcachefs.c
rename to c_src/bcachefs.c
diff --git a/ccan/array_size/LICENSE b/c_src/ccan/array_size/LICENSE
similarity index 100%
rename from ccan/array_size/LICENSE
rename to c_src/ccan/array_size/LICENSE
diff --git a/ccan/array_size/_info b/c_src/ccan/array_size/_info
similarity index 100%
rename from ccan/array_size/_info
rename to c_src/ccan/array_size/_info
diff --git a/ccan/array_size/array_size.h b/c_src/ccan/array_size/array_size.h
similarity index 100%
rename from ccan/array_size/array_size.h
rename to c_src/ccan/array_size/array_size.h
diff --git a/ccan/build_assert/LICENSE b/c_src/ccan/build_assert/LICENSE
similarity index 100%
rename from ccan/build_assert/LICENSE
rename to c_src/ccan/build_assert/LICENSE
diff --git a/ccan/build_assert/_info b/c_src/ccan/build_assert/_info
similarity index 100%
rename from ccan/build_assert/_info
rename to c_src/ccan/build_assert/_info
diff --git a/ccan/build_assert/build_assert.h b/c_src/ccan/build_assert/build_assert.h
similarity index 100%
rename from ccan/build_assert/build_assert.h
rename to c_src/ccan/build_assert/build_assert.h
diff --git a/ccan/compiler/LICENSE b/c_src/ccan/compiler/LICENSE
similarity index 100%
rename from ccan/compiler/LICENSE
rename to c_src/ccan/compiler/LICENSE
diff --git a/ccan/compiler/_info b/c_src/ccan/compiler/_info
similarity index 100%
rename from ccan/compiler/_info
rename to c_src/ccan/compiler/_info
diff --git a/ccan/compiler/compiler.h b/c_src/ccan/compiler/compiler.h
similarity index 100%
rename from ccan/compiler/compiler.h
rename to c_src/ccan/compiler/compiler.h
diff --git a/cmd_assemble.c b/c_src/cmd_assemble.c
similarity index 100%
rename from cmd_assemble.c
rename to c_src/cmd_assemble.c
diff --git a/cmd_attr.c b/c_src/cmd_attr.c
similarity index 100%
rename from cmd_attr.c
rename to c_src/cmd_attr.c
diff --git a/cmd_counters.c b/c_src/cmd_counters.c
similarity index 100%
rename from cmd_counters.c
rename to c_src/cmd_counters.c
diff --git a/cmd_data.c b/c_src/cmd_data.c
similarity index 100%
rename from cmd_data.c
rename to c_src/cmd_data.c
diff --git a/cmd_device.c b/c_src/cmd_device.c
similarity index 100%
rename from cmd_device.c
rename to c_src/cmd_device.c
diff --git a/cmd_dump.c b/c_src/cmd_dump.c
similarity index 100%
rename from cmd_dump.c
rename to c_src/cmd_dump.c
diff --git a/cmd_format.c b/c_src/cmd_format.c
similarity index 100%
rename from cmd_format.c
rename to c_src/cmd_format.c
diff --git a/cmd_fs.c b/c_src/cmd_fs.c
similarity index 100%
rename from cmd_fs.c
rename to c_src/cmd_fs.c
diff --git a/cmd_fsck.c b/c_src/cmd_fsck.c
similarity index 100%
rename from cmd_fsck.c
rename to c_src/cmd_fsck.c
diff --git a/cmd_fusemount.c b/c_src/cmd_fusemount.c
similarity index 100%
rename from cmd_fusemount.c
rename to c_src/cmd_fusemount.c
diff --git a/cmd_key.c b/c_src/cmd_key.c
similarity index 100%
rename from cmd_key.c
rename to c_src/cmd_key.c
diff --git a/cmd_kill_btree_node.c b/c_src/cmd_kill_btree_node.c
similarity index 100%
rename from cmd_kill_btree_node.c
rename to c_src/cmd_kill_btree_node.c
diff --git a/cmd_list_journal.c b/c_src/cmd_list_journal.c
similarity index 100%
rename from cmd_list_journal.c
rename to c_src/cmd_list_journal.c
diff --git a/cmd_migrate.c b/c_src/cmd_migrate.c
similarity index 100%
rename from cmd_migrate.c
rename to c_src/cmd_migrate.c
diff --git a/cmd_option.c b/c_src/cmd_option.c
similarity index 100%
rename from cmd_option.c
rename to c_src/cmd_option.c
diff --git a/cmd_run.c b/c_src/cmd_run.c
similarity index 100%
rename from cmd_run.c
rename to c_src/cmd_run.c
diff --git a/cmd_subvolume.c b/c_src/cmd_subvolume.c
similarity index 100%
rename from cmd_subvolume.c
rename to c_src/cmd_subvolume.c
diff --git a/cmd_version.c b/c_src/cmd_version.c
similarity index 100%
rename from cmd_version.c
rename to c_src/cmd_version.c
diff --git a/cmds.h b/c_src/cmds.h
similarity index 100%
rename from cmds.h
rename to c_src/cmds.h
diff --git a/config.h b/c_src/config.h
similarity index 100%
rename from config.h
rename to c_src/config.h
diff --git a/crypto.c b/c_src/crypto.c
similarity index 100%
rename from crypto.c
rename to c_src/crypto.c
diff --git a/crypto.h b/c_src/crypto.h
similarity index 100%
rename from crypto.h
rename to c_src/crypto.h
diff --git a/include/asm/page.h b/c_src/include/asm/page.h
similarity index 100%
rename from include/asm/page.h
rename to c_src/include/asm/page.h
diff --git a/include/asm/unaligned.h b/c_src/include/asm/unaligned.h
similarity index 100%
rename from include/asm/unaligned.h
rename to c_src/include/asm/unaligned.h
diff --git a/include/crypto/algapi.h b/c_src/include/crypto/algapi.h
similarity index 100%
rename from include/crypto/algapi.h
rename to c_src/include/crypto/algapi.h
diff --git a/include/crypto/chacha.h b/c_src/include/crypto/chacha.h
similarity index 100%
rename from include/crypto/chacha.h
rename to c_src/include/crypto/chacha.h
diff --git a/include/crypto/hash.h b/c_src/include/crypto/hash.h
similarity index 100%
rename from include/crypto/hash.h
rename to c_src/include/crypto/hash.h
diff --git a/include/crypto/poly1305.h b/c_src/include/crypto/poly1305.h
similarity index 100%
rename from include/crypto/poly1305.h
rename to c_src/include/crypto/poly1305.h
diff --git a/include/crypto/sha2.h b/c_src/include/crypto/sha2.h
similarity index 100%
rename from include/crypto/sha2.h
rename to c_src/include/crypto/sha2.h
diff --git a/include/crypto/skcipher.h b/c_src/include/crypto/skcipher.h
similarity index 100%
rename from include/crypto/skcipher.h
rename to c_src/include/crypto/skcipher.h
diff --git a/include/keys/user-type.h b/c_src/include/keys/user-type.h
similarity index 100%
rename from include/keys/user-type.h
rename to c_src/include/keys/user-type.h
diff --git a/include/linux/atomic.h b/c_src/include/linux/atomic.h
similarity index 100%
rename from include/linux/atomic.h
rename to c_src/include/linux/atomic.h
diff --git a/include/linux/backing-dev-defs.h b/c_src/include/linux/backing-dev-defs.h
similarity index 100%
rename from include/linux/backing-dev-defs.h
rename to c_src/include/linux/backing-dev-defs.h
diff --git a/include/linux/backing-dev.h b/c_src/include/linux/backing-dev.h
similarity index 100%
rename from include/linux/backing-dev.h
rename to c_src/include/linux/backing-dev.h
diff --git a/include/linux/bio.h b/c_src/include/linux/bio.h
similarity index 100%
rename from include/linux/bio.h
rename to c_src/include/linux/bio.h
diff --git a/include/linux/bit_spinlock.h b/c_src/include/linux/bit_spinlock.h
similarity index 100%
rename from include/linux/bit_spinlock.h
rename to c_src/include/linux/bit_spinlock.h
diff --git a/include/linux/bitmap.h b/c_src/include/linux/bitmap.h
similarity index 100%
rename from include/linux/bitmap.h
rename to c_src/include/linux/bitmap.h
diff --git a/include/linux/bitops.h b/c_src/include/linux/bitops.h
similarity index 100%
rename from include/linux/bitops.h
rename to c_src/include/linux/bitops.h
diff --git a/include/linux/blk_types.h b/c_src/include/linux/blk_types.h
similarity index 100%
rename from include/linux/blk_types.h
rename to c_src/include/linux/blk_types.h
diff --git a/include/linux/blkdev.h b/c_src/include/linux/blkdev.h
similarity index 100%
rename from include/linux/blkdev.h
rename to c_src/include/linux/blkdev.h
diff --git a/include/linux/bsearch.h b/c_src/include/linux/bsearch.h
similarity index 100%
rename from include/linux/bsearch.h
rename to c_src/include/linux/bsearch.h
diff --git a/include/linux/bug.h b/c_src/include/linux/bug.h
similarity index 100%
rename from include/linux/bug.h
rename to c_src/include/linux/bug.h
diff --git a/include/linux/bvec.h b/c_src/include/linux/bvec.h
similarity index 100%
rename from include/linux/bvec.h
rename to c_src/include/linux/bvec.h
diff --git a/include/linux/byteorder.h b/c_src/include/linux/byteorder.h
similarity index 100%
rename from include/linux/byteorder.h
rename to c_src/include/linux/byteorder.h
diff --git a/include/linux/cache.h b/c_src/include/linux/cache.h
similarity index 100%
rename from include/linux/cache.h
rename to c_src/include/linux/cache.h
diff --git a/include/linux/closure.h b/c_src/include/linux/closure.h
similarity index 100%
rename from include/linux/closure.h
rename to c_src/include/linux/closure.h
diff --git a/include/linux/compiler.h b/c_src/include/linux/compiler.h
similarity index 100%
rename from include/linux/compiler.h
rename to c_src/include/linux/compiler.h
diff --git a/include/linux/completion.h b/c_src/include/linux/completion.h
similarity index 100%
rename from include/linux/completion.h
rename to c_src/include/linux/completion.h
diff --git a/include/linux/console.h b/c_src/include/linux/console.h
similarity index 100%
rename from include/linux/console.h
rename to c_src/include/linux/console.h
diff --git a/include/linux/cpumask.h b/c_src/include/linux/cpumask.h
similarity index 100%
rename from include/linux/cpumask.h
rename to c_src/include/linux/cpumask.h
diff --git a/include/linux/crc32c.h b/c_src/include/linux/crc32c.h
similarity index 100%
rename from include/linux/crc32c.h
rename to c_src/include/linux/crc32c.h
diff --git a/include/linux/crc64.h b/c_src/include/linux/crc64.h
similarity index 100%
rename from include/linux/crc64.h
rename to c_src/include/linux/crc64.h
diff --git a/include/linux/crypto.h b/c_src/include/linux/crypto.h
similarity index 100%
rename from include/linux/crypto.h
rename to c_src/include/linux/crypto.h
diff --git a/include/linux/ctype.h b/c_src/include/linux/ctype.h
similarity index 100%
rename from include/linux/ctype.h
rename to c_src/include/linux/ctype.h
diff --git a/include/linux/dcache.h b/c_src/include/linux/dcache.h
similarity index 100%
rename from include/linux/dcache.h
rename to c_src/include/linux/dcache.h
diff --git a/include/linux/debugfs.h b/c_src/include/linux/debugfs.h
similarity index 100%
rename from include/linux/debugfs.h
rename to c_src/include/linux/debugfs.h
diff --git a/include/linux/device.h b/c_src/include/linux/device.h
similarity index 100%
rename from include/linux/device.h
rename to c_src/include/linux/device.h
diff --git a/include/linux/dynamic_fault.h b/c_src/include/linux/dynamic_fault.h
similarity index 100%
rename from include/linux/dynamic_fault.h
rename to c_src/include/linux/dynamic_fault.h
diff --git a/include/linux/err.h b/c_src/include/linux/err.h
similarity index 100%
rename from include/linux/err.h
rename to c_src/include/linux/err.h
diff --git a/include/linux/errname.h b/c_src/include/linux/errname.h
similarity index 100%
rename from include/linux/errname.h
rename to c_src/include/linux/errname.h
diff --git a/include/linux/export.h b/c_src/include/linux/export.h
similarity index 100%
rename from include/linux/export.h
rename to c_src/include/linux/export.h
diff --git a/include/linux/freezer.h b/c_src/include/linux/freezer.h
similarity index 100%
rename from include/linux/freezer.h
rename to c_src/include/linux/freezer.h
diff --git a/include/linux/generic-radix-tree.h b/c_src/include/linux/generic-radix-tree.h
similarity index 100%
rename from include/linux/generic-radix-tree.h
rename to c_src/include/linux/generic-radix-tree.h
diff --git a/include/linux/genhd.h b/c_src/include/linux/genhd.h
similarity index 100%
rename from include/linux/genhd.h
rename to c_src/include/linux/genhd.h
diff --git a/include/linux/gfp.h b/c_src/include/linux/gfp.h
similarity index 100%
rename from include/linux/gfp.h
rename to c_src/include/linux/gfp.h
diff --git a/include/linux/hash.h b/c_src/include/linux/hash.h
similarity index 100%
rename from include/linux/hash.h
rename to c_src/include/linux/hash.h
diff --git a/include/linux/idr.h b/c_src/include/linux/idr.h
similarity index 100%
rename from include/linux/idr.h
rename to c_src/include/linux/idr.h
diff --git a/include/linux/ioprio.h b/c_src/include/linux/ioprio.h
similarity index 100%
rename from include/linux/ioprio.h
rename to c_src/include/linux/ioprio.h
diff --git a/include/linux/jhash.h b/c_src/include/linux/jhash.h
similarity index 100%
rename from include/linux/jhash.h
rename to c_src/include/linux/jhash.h
diff --git a/include/linux/jiffies.h b/c_src/include/linux/jiffies.h
similarity index 100%
rename from include/linux/jiffies.h
rename to c_src/include/linux/jiffies.h
diff --git a/include/linux/kernel.h b/c_src/include/linux/kernel.h
similarity index 100%
rename from include/linux/kernel.h
rename to c_src/include/linux/kernel.h
diff --git a/include/linux/key.h b/c_src/include/linux/key.h
similarity index 100%
rename from include/linux/key.h
rename to c_src/include/linux/key.h
diff --git a/include/linux/kmemleak.h b/c_src/include/linux/kmemleak.h
similarity index 100%
rename from include/linux/kmemleak.h
rename to c_src/include/linux/kmemleak.h
diff --git a/include/linux/kobject.h b/c_src/include/linux/kobject.h
similarity index 100%
rename from include/linux/kobject.h
rename to c_src/include/linux/kobject.h
diff --git a/include/linux/kthread.h b/c_src/include/linux/kthread.h
similarity index 100%
rename from include/linux/kthread.h
rename to c_src/include/linux/kthread.h
diff --git a/include/linux/list.h b/c_src/include/linux/list.h
similarity index 100%
rename from include/linux/list.h
rename to c_src/include/linux/list.h
diff --git a/include/linux/list_nulls.h b/c_src/include/linux/list_nulls.h
similarity index 100%
rename from include/linux/list_nulls.h
rename to c_src/include/linux/list_nulls.h
diff --git a/include/linux/llist.h b/c_src/include/linux/llist.h
similarity index 100%
rename from include/linux/llist.h
rename to c_src/include/linux/llist.h
diff --git a/include/linux/lockdep.h b/c_src/include/linux/lockdep.h
similarity index 100%
rename from include/linux/lockdep.h
rename to c_src/include/linux/lockdep.h
diff --git a/include/linux/log2.h b/c_src/include/linux/log2.h
similarity index 100%
rename from include/linux/log2.h
rename to c_src/include/linux/log2.h
diff --git a/include/linux/lz4.h b/c_src/include/linux/lz4.h
similarity index 100%
rename from include/linux/lz4.h
rename to c_src/include/linux/lz4.h
diff --git a/include/linux/math.h b/c_src/include/linux/math.h
similarity index 100%
rename from include/linux/math.h
rename to c_src/include/linux/math.h
diff --git a/include/linux/math64.h b/c_src/include/linux/math64.h
similarity index 100%
rename from include/linux/math64.h
rename to c_src/include/linux/math64.h
diff --git a/include/linux/mempool.h b/c_src/include/linux/mempool.h
similarity index 100%
rename from include/linux/mempool.h
rename to c_src/include/linux/mempool.h
diff --git a/include/linux/minmax.h b/c_src/include/linux/minmax.h
similarity index 100%
rename from include/linux/minmax.h
rename to c_src/include/linux/minmax.h
diff --git a/include/linux/mm.h b/c_src/include/linux/mm.h
similarity index 100%
rename from include/linux/mm.h
rename to c_src/include/linux/mm.h
diff --git a/include/linux/module.h b/c_src/include/linux/module.h
similarity index 100%
rename from include/linux/module.h
rename to c_src/include/linux/module.h
diff --git a/include/linux/mutex.h b/c_src/include/linux/mutex.h
similarity index 100%
rename from include/linux/mutex.h
rename to c_src/include/linux/mutex.h
diff --git a/include/linux/osq_lock.h b/c_src/include/linux/osq_lock.h
similarity index 100%
rename from include/linux/osq_lock.h
rename to c_src/include/linux/osq_lock.h
diff --git a/include/linux/overflow.h b/c_src/include/linux/overflow.h
similarity index 100%
rename from include/linux/overflow.h
rename to c_src/include/linux/overflow.h
diff --git a/include/linux/page.h b/c_src/include/linux/page.h
similarity index 100%
rename from include/linux/page.h
rename to c_src/include/linux/page.h
diff --git a/include/linux/percpu-refcount.h b/c_src/include/linux/percpu-refcount.h
similarity index 100%
rename from include/linux/percpu-refcount.h
rename to c_src/include/linux/percpu-refcount.h
diff --git a/include/linux/percpu-rwsem.h b/c_src/include/linux/percpu-rwsem.h
similarity index 100%
rename from include/linux/percpu-rwsem.h
rename to c_src/include/linux/percpu-rwsem.h
diff --git a/include/linux/percpu.h b/c_src/include/linux/percpu.h
similarity index 100%
rename from include/linux/percpu.h
rename to c_src/include/linux/percpu.h
diff --git a/include/linux/poison.h b/c_src/include/linux/poison.h
similarity index 100%
rename from include/linux/poison.h
rename to c_src/include/linux/poison.h
diff --git a/include/linux/posix_acl.h b/c_src/include/linux/posix_acl.h
similarity index 100%
rename from include/linux/posix_acl.h
rename to c_src/include/linux/posix_acl.h
diff --git a/include/linux/posix_acl_xattr.h b/c_src/include/linux/posix_acl_xattr.h
similarity index 100%
rename from include/linux/posix_acl_xattr.h
rename to c_src/include/linux/posix_acl_xattr.h
diff --git a/include/linux/prandom.h b/c_src/include/linux/prandom.h
similarity index 100%
rename from include/linux/prandom.h
rename to c_src/include/linux/prandom.h
diff --git a/include/linux/preempt.h b/c_src/include/linux/preempt.h
similarity index 100%
rename from include/linux/preempt.h
rename to c_src/include/linux/preempt.h
diff --git a/include/linux/prefetch.h b/c_src/include/linux/prefetch.h
similarity index 100%
rename from include/linux/prefetch.h
rename to c_src/include/linux/prefetch.h
diff --git a/include/linux/pretty-printers.h b/c_src/include/linux/pretty-printers.h
similarity index 100%
rename from include/linux/pretty-printers.h
rename to c_src/include/linux/pretty-printers.h
diff --git a/include/linux/printk.h b/c_src/include/linux/printk.h
similarity index 100%
rename from include/linux/printk.h
rename to c_src/include/linux/printk.h
diff --git a/include/linux/random.h b/c_src/include/linux/random.h
similarity index 100%
rename from include/linux/random.h
rename to c_src/include/linux/random.h
diff --git a/include/linux/ratelimit.h b/c_src/include/linux/ratelimit.h
similarity index 100%
rename from include/linux/ratelimit.h
rename to c_src/include/linux/ratelimit.h
diff --git a/include/linux/rculist.h b/c_src/include/linux/rculist.h
similarity index 100%
rename from include/linux/rculist.h
rename to c_src/include/linux/rculist.h
diff --git a/include/linux/rcupdate.h b/c_src/include/linux/rcupdate.h
similarity index 100%
rename from include/linux/rcupdate.h
rename to c_src/include/linux/rcupdate.h
diff --git a/include/linux/refcount.h b/c_src/include/linux/refcount.h
similarity index 100%
rename from include/linux/refcount.h
rename to c_src/include/linux/refcount.h
diff --git a/include/linux/rhashtable-types.h b/c_src/include/linux/rhashtable-types.h
similarity index 100%
rename from include/linux/rhashtable-types.h
rename to c_src/include/linux/rhashtable-types.h
diff --git a/include/linux/rhashtable.h b/c_src/include/linux/rhashtable.h
similarity index 100%
rename from include/linux/rhashtable.h
rename to c_src/include/linux/rhashtable.h
diff --git a/include/linux/rwsem.h b/c_src/include/linux/rwsem.h
similarity index 100%
rename from include/linux/rwsem.h
rename to c_src/include/linux/rwsem.h
diff --git a/include/linux/scatterlist.h b/c_src/include/linux/scatterlist.h
similarity index 100%
rename from include/linux/scatterlist.h
rename to c_src/include/linux/scatterlist.h
diff --git a/include/linux/sched.h b/c_src/include/linux/sched.h
similarity index 100%
rename from include/linux/sched.h
rename to c_src/include/linux/sched.h
diff --git a/include/linux/sched/clock.h b/c_src/include/linux/sched/clock.h
similarity index 100%
rename from include/linux/sched/clock.h
rename to c_src/include/linux/sched/clock.h
diff --git a/include/linux/sched/cputime.h b/c_src/include/linux/sched/cputime.h
similarity index 100%
rename from include/linux/sched/cputime.h
rename to c_src/include/linux/sched/cputime.h
diff --git a/include/linux/sched/debug.h b/c_src/include/linux/sched/debug.h
similarity index 100%
rename from include/linux/sched/debug.h
rename to c_src/include/linux/sched/debug.h
diff --git a/include/linux/sched/mm.h b/c_src/include/linux/sched/mm.h
similarity index 100%
rename from include/linux/sched/mm.h
rename to c_src/include/linux/sched/mm.h
diff --git a/include/linux/sched/rt.h b/c_src/include/linux/sched/rt.h
similarity index 100%
rename from include/linux/sched/rt.h
rename to c_src/include/linux/sched/rt.h
diff --git a/include/linux/sched/signal.h b/c_src/include/linux/sched/signal.h
similarity index 100%
rename from include/linux/sched/signal.h
rename to c_src/include/linux/sched/signal.h
diff --git a/include/linux/sched/task.h b/c_src/include/linux/sched/task.h
similarity index 100%
rename from include/linux/sched/task.h
rename to c_src/include/linux/sched/task.h
diff --git a/include/linux/sched/task_stack.h b/c_src/include/linux/sched/task_stack.h
similarity index 100%
rename from include/linux/sched/task_stack.h
rename to c_src/include/linux/sched/task_stack.h
diff --git a/include/linux/semaphore.h b/c_src/include/linux/semaphore.h
similarity index 100%
rename from include/linux/semaphore.h
rename to c_src/include/linux/semaphore.h
diff --git a/include/linux/seq_buf.h b/c_src/include/linux/seq_buf.h
similarity index 100%
rename from include/linux/seq_buf.h
rename to c_src/include/linux/seq_buf.h
diff --git a/include/linux/seq_file.h b/c_src/include/linux/seq_file.h
similarity index 100%
rename from include/linux/seq_file.h
rename to c_src/include/linux/seq_file.h
diff --git a/include/linux/seqlock.h b/c_src/include/linux/seqlock.h
similarity index 100%
rename from include/linux/seqlock.h
rename to c_src/include/linux/seqlock.h
diff --git a/include/linux/shrinker.h b/c_src/include/linux/shrinker.h
similarity index 100%
rename from include/linux/shrinker.h
rename to c_src/include/linux/shrinker.h
diff --git a/include/linux/siphash.h b/c_src/include/linux/siphash.h
similarity index 100%
rename from include/linux/siphash.h
rename to c_src/include/linux/siphash.h
diff --git a/include/linux/slab.h b/c_src/include/linux/slab.h
similarity index 100%
rename from include/linux/slab.h
rename to c_src/include/linux/slab.h
diff --git a/include/linux/sort.h b/c_src/include/linux/sort.h
similarity index 100%
rename from include/linux/sort.h
rename to c_src/include/linux/sort.h
diff --git a/include/linux/spinlock.h b/c_src/include/linux/spinlock.h
similarity index 100%
rename from include/linux/spinlock.h
rename to c_src/include/linux/spinlock.h
diff --git a/include/linux/srcu.h b/c_src/include/linux/srcu.h
similarity index 100%
rename from include/linux/srcu.h
rename to c_src/include/linux/srcu.h
diff --git a/include/linux/stat.h b/c_src/include/linux/stat.h
similarity index 100%
rename from include/linux/stat.h
rename to c_src/include/linux/stat.h
diff --git a/include/linux/string.h b/c_src/include/linux/string.h
similarity index 100%
rename from include/linux/string.h
rename to c_src/include/linux/string.h
diff --git a/include/linux/string_helpers.h b/c_src/include/linux/string_helpers.h
similarity index 100%
rename from include/linux/string_helpers.h
rename to c_src/include/linux/string_helpers.h
diff --git a/include/linux/sysfs.h b/c_src/include/linux/sysfs.h
similarity index 100%
rename from include/linux/sysfs.h
rename to c_src/include/linux/sysfs.h
diff --git a/include/linux/time64.h b/c_src/include/linux/time64.h
similarity index 100%
rename from include/linux/time64.h
rename to c_src/include/linux/time64.h
diff --git a/include/linux/timer.h b/c_src/include/linux/timer.h
similarity index 100%
rename from include/linux/timer.h
rename to c_src/include/linux/timer.h
diff --git a/include/linux/tracepoint.h b/c_src/include/linux/tracepoint.h
similarity index 100%
rename from include/linux/tracepoint.h
rename to c_src/include/linux/tracepoint.h
diff --git a/include/linux/typecheck.h b/c_src/include/linux/typecheck.h
similarity index 100%
rename from include/linux/typecheck.h
rename to c_src/include/linux/typecheck.h
diff --git a/include/linux/types.h b/c_src/include/linux/types.h
similarity index 100%
rename from include/linux/types.h
rename to c_src/include/linux/types.h
diff --git a/include/linux/unaligned/be_byteshift.h b/c_src/include/linux/unaligned/be_byteshift.h
similarity index 100%
rename from include/linux/unaligned/be_byteshift.h
rename to c_src/include/linux/unaligned/be_byteshift.h
diff --git a/include/linux/unaligned/be_struct.h b/c_src/include/linux/unaligned/be_struct.h
similarity index 100%
rename from include/linux/unaligned/be_struct.h
rename to c_src/include/linux/unaligned/be_struct.h
diff --git a/include/linux/unaligned/generic.h b/c_src/include/linux/unaligned/generic.h
similarity index 100%
rename from include/linux/unaligned/generic.h
rename to c_src/include/linux/unaligned/generic.h
diff --git a/include/linux/unaligned/le_byteshift.h b/c_src/include/linux/unaligned/le_byteshift.h
similarity index 100%
rename from include/linux/unaligned/le_byteshift.h
rename to c_src/include/linux/unaligned/le_byteshift.h
diff --git a/include/linux/unaligned/le_struct.h b/c_src/include/linux/unaligned/le_struct.h
similarity index 100%
rename from include/linux/unaligned/le_struct.h
rename to c_src/include/linux/unaligned/le_struct.h
diff --git a/include/linux/unaligned/packed_struct.h b/c_src/include/linux/unaligned/packed_struct.h
similarity index 100%
rename from include/linux/unaligned/packed_struct.h
rename to c_src/include/linux/unaligned/packed_struct.h
diff --git a/include/linux/uuid.h b/c_src/include/linux/uuid.h
similarity index 100%
rename from include/linux/uuid.h
rename to c_src/include/linux/uuid.h
diff --git a/include/linux/vmalloc.h b/c_src/include/linux/vmalloc.h
similarity index 100%
rename from include/linux/vmalloc.h
rename to c_src/include/linux/vmalloc.h
diff --git a/include/linux/wait.h b/c_src/include/linux/wait.h
similarity index 100%
rename from include/linux/wait.h
rename to c_src/include/linux/wait.h
diff --git a/include/linux/workqueue.h b/c_src/include/linux/workqueue.h
similarity index 100%
rename from include/linux/workqueue.h
rename to c_src/include/linux/workqueue.h
diff --git a/include/linux/xattr.h b/c_src/include/linux/xattr.h
similarity index 100%
rename from include/linux/xattr.h
rename to c_src/include/linux/xattr.h
diff --git a/include/linux/xxhash.h b/c_src/include/linux/xxhash.h
similarity index 100%
rename from include/linux/xxhash.h
rename to c_src/include/linux/xxhash.h
diff --git a/include/linux/zlib.h b/c_src/include/linux/zlib.h
similarity index 100%
rename from include/linux/zlib.h
rename to c_src/include/linux/zlib.h
diff --git a/include/linux/zstd.h b/c_src/include/linux/zstd.h
similarity index 100%
rename from include/linux/zstd.h
rename to c_src/include/linux/zstd.h
diff --git a/include/linux/zstd_errors.h b/c_src/include/linux/zstd_errors.h
similarity index 100%
rename from include/linux/zstd_errors.h
rename to c_src/include/linux/zstd_errors.h
diff --git a/include/trace/define_trace.h b/c_src/include/trace/define_trace.h
similarity index 100%
rename from include/trace/define_trace.h
rename to c_src/include/trace/define_trace.h
diff --git a/include/trace/events/lock.h b/c_src/include/trace/events/lock.h
similarity index 100%
rename from include/trace/events/lock.h
rename to c_src/include/trace/events/lock.h
diff --git a/include/uapi/linux/xattr.h b/c_src/include/uapi/linux/xattr.h
similarity index 100%
rename from include/uapi/linux/xattr.h
rename to c_src/include/uapi/linux/xattr.h
diff --git a/libbcachefs.c b/c_src/libbcachefs.c
similarity index 100%
rename from libbcachefs.c
rename to c_src/libbcachefs.c
diff --git a/libbcachefs.h b/c_src/libbcachefs.h
similarity index 100%
rename from libbcachefs.h
rename to c_src/libbcachefs.h
diff --git a/libbcachefs/acl.c b/c_src/libbcachefs/acl.c
similarity index 100%
rename from libbcachefs/acl.c
rename to c_src/libbcachefs/acl.c
diff --git a/libbcachefs/acl.h b/c_src/libbcachefs/acl.h
similarity index 100%
rename from libbcachefs/acl.h
rename to c_src/libbcachefs/acl.h
diff --git a/libbcachefs/alloc_background.c b/c_src/libbcachefs/alloc_background.c
similarity index 100%
rename from libbcachefs/alloc_background.c
rename to c_src/libbcachefs/alloc_background.c
diff --git a/libbcachefs/alloc_background.h b/c_src/libbcachefs/alloc_background.h
similarity index 100%
rename from libbcachefs/alloc_background.h
rename to c_src/libbcachefs/alloc_background.h
diff --git a/libbcachefs/alloc_foreground.c b/c_src/libbcachefs/alloc_foreground.c
similarity index 100%
rename from libbcachefs/alloc_foreground.c
rename to c_src/libbcachefs/alloc_foreground.c
diff --git a/libbcachefs/alloc_foreground.h b/c_src/libbcachefs/alloc_foreground.h
similarity index 100%
rename from libbcachefs/alloc_foreground.h
rename to c_src/libbcachefs/alloc_foreground.h
diff --git a/libbcachefs/alloc_types.h b/c_src/libbcachefs/alloc_types.h
similarity index 100%
rename from libbcachefs/alloc_types.h
rename to c_src/libbcachefs/alloc_types.h
diff --git a/libbcachefs/backpointers.c b/c_src/libbcachefs/backpointers.c
similarity index 100%
rename from libbcachefs/backpointers.c
rename to c_src/libbcachefs/backpointers.c
diff --git a/libbcachefs/backpointers.h b/c_src/libbcachefs/backpointers.h
similarity index 100%
rename from libbcachefs/backpointers.h
rename to c_src/libbcachefs/backpointers.h
diff --git a/libbcachefs/bbpos.h b/c_src/libbcachefs/bbpos.h
similarity index 100%
rename from libbcachefs/bbpos.h
rename to c_src/libbcachefs/bbpos.h
diff --git a/libbcachefs/bbpos_types.h b/c_src/libbcachefs/bbpos_types.h
similarity index 100%
rename from libbcachefs/bbpos_types.h
rename to c_src/libbcachefs/bbpos_types.h
diff --git a/libbcachefs/bcachefs.h b/c_src/libbcachefs/bcachefs.h
similarity index 100%
rename from libbcachefs/bcachefs.h
rename to c_src/libbcachefs/bcachefs.h
diff --git a/libbcachefs/bcachefs_format.h b/c_src/libbcachefs/bcachefs_format.h
similarity index 100%
rename from libbcachefs/bcachefs_format.h
rename to c_src/libbcachefs/bcachefs_format.h
diff --git a/libbcachefs/bcachefs_ioctl.h b/c_src/libbcachefs/bcachefs_ioctl.h
similarity index 100%
rename from libbcachefs/bcachefs_ioctl.h
rename to c_src/libbcachefs/bcachefs_ioctl.h
diff --git a/libbcachefs/bkey.c b/c_src/libbcachefs/bkey.c
similarity index 100%
rename from libbcachefs/bkey.c
rename to c_src/libbcachefs/bkey.c
diff --git a/libbcachefs/bkey.h b/c_src/libbcachefs/bkey.h
similarity index 100%
rename from libbcachefs/bkey.h
rename to c_src/libbcachefs/bkey.h
diff --git a/libbcachefs/bkey_buf.h b/c_src/libbcachefs/bkey_buf.h
similarity index 100%
rename from libbcachefs/bkey_buf.h
rename to c_src/libbcachefs/bkey_buf.h
diff --git a/libbcachefs/bkey_cmp.h b/c_src/libbcachefs/bkey_cmp.h
similarity index 100%
rename from libbcachefs/bkey_cmp.h
rename to c_src/libbcachefs/bkey_cmp.h
diff --git a/libbcachefs/bkey_methods.c b/c_src/libbcachefs/bkey_methods.c
similarity index 100%
rename from libbcachefs/bkey_methods.c
rename to c_src/libbcachefs/bkey_methods.c
diff --git a/libbcachefs/bkey_methods.h b/c_src/libbcachefs/bkey_methods.h
similarity index 100%
rename from libbcachefs/bkey_methods.h
rename to c_src/libbcachefs/bkey_methods.h
diff --git a/libbcachefs/bkey_sort.c b/c_src/libbcachefs/bkey_sort.c
similarity index 100%
rename from libbcachefs/bkey_sort.c
rename to c_src/libbcachefs/bkey_sort.c
diff --git a/libbcachefs/bkey_sort.h b/c_src/libbcachefs/bkey_sort.h
similarity index 100%
rename from libbcachefs/bkey_sort.h
rename to c_src/libbcachefs/bkey_sort.h
diff --git a/libbcachefs/bset.c b/c_src/libbcachefs/bset.c
similarity index 100%
rename from libbcachefs/bset.c
rename to c_src/libbcachefs/bset.c
diff --git a/libbcachefs/bset.h b/c_src/libbcachefs/bset.h
similarity index 100%
rename from libbcachefs/bset.h
rename to c_src/libbcachefs/bset.h
diff --git a/libbcachefs/btree_cache.c b/c_src/libbcachefs/btree_cache.c
similarity index 100%
rename from libbcachefs/btree_cache.c
rename to c_src/libbcachefs/btree_cache.c
diff --git a/libbcachefs/btree_cache.h b/c_src/libbcachefs/btree_cache.h
similarity index 100%
rename from libbcachefs/btree_cache.h
rename to c_src/libbcachefs/btree_cache.h
diff --git a/libbcachefs/btree_gc.c b/c_src/libbcachefs/btree_gc.c
similarity index 100%
rename from libbcachefs/btree_gc.c
rename to c_src/libbcachefs/btree_gc.c
diff --git a/libbcachefs/btree_gc.h b/c_src/libbcachefs/btree_gc.h
similarity index 100%
rename from libbcachefs/btree_gc.h
rename to c_src/libbcachefs/btree_gc.h
diff --git a/libbcachefs/btree_io.c b/c_src/libbcachefs/btree_io.c
similarity index 100%
rename from libbcachefs/btree_io.c
rename to c_src/libbcachefs/btree_io.c
diff --git a/libbcachefs/btree_io.h b/c_src/libbcachefs/btree_io.h
similarity index 100%
rename from libbcachefs/btree_io.h
rename to c_src/libbcachefs/btree_io.h
diff --git a/libbcachefs/btree_iter.c b/c_src/libbcachefs/btree_iter.c
similarity index 100%
rename from libbcachefs/btree_iter.c
rename to c_src/libbcachefs/btree_iter.c
diff --git a/libbcachefs/btree_iter.h b/c_src/libbcachefs/btree_iter.h
similarity index 100%
rename from libbcachefs/btree_iter.h
rename to c_src/libbcachefs/btree_iter.h
diff --git a/libbcachefs/btree_journal_iter.c b/c_src/libbcachefs/btree_journal_iter.c
similarity index 100%
rename from libbcachefs/btree_journal_iter.c
rename to c_src/libbcachefs/btree_journal_iter.c
diff --git a/libbcachefs/btree_journal_iter.h b/c_src/libbcachefs/btree_journal_iter.h
similarity index 100%
rename from libbcachefs/btree_journal_iter.h
rename to c_src/libbcachefs/btree_journal_iter.h
diff --git a/libbcachefs/btree_key_cache.c b/c_src/libbcachefs/btree_key_cache.c
similarity index 100%
rename from libbcachefs/btree_key_cache.c
rename to c_src/libbcachefs/btree_key_cache.c
diff --git a/libbcachefs/btree_key_cache.h b/c_src/libbcachefs/btree_key_cache.h
similarity index 100%
rename from libbcachefs/btree_key_cache.h
rename to c_src/libbcachefs/btree_key_cache.h
diff --git a/libbcachefs/btree_key_cache_types.h b/c_src/libbcachefs/btree_key_cache_types.h
similarity index 100%
rename from libbcachefs/btree_key_cache_types.h
rename to c_src/libbcachefs/btree_key_cache_types.h
diff --git a/libbcachefs/btree_locking.c b/c_src/libbcachefs/btree_locking.c
similarity index 100%
rename from libbcachefs/btree_locking.c
rename to c_src/libbcachefs/btree_locking.c
diff --git a/libbcachefs/btree_locking.h b/c_src/libbcachefs/btree_locking.h
similarity index 100%
rename from libbcachefs/btree_locking.h
rename to c_src/libbcachefs/btree_locking.h
diff --git a/libbcachefs/btree_trans_commit.c b/c_src/libbcachefs/btree_trans_commit.c
similarity index 100%
rename from libbcachefs/btree_trans_commit.c
rename to c_src/libbcachefs/btree_trans_commit.c
diff --git a/libbcachefs/btree_types.h b/c_src/libbcachefs/btree_types.h
similarity index 100%
rename from libbcachefs/btree_types.h
rename to c_src/libbcachefs/btree_types.h
diff --git a/libbcachefs/btree_update.c b/c_src/libbcachefs/btree_update.c
similarity index 100%
rename from libbcachefs/btree_update.c
rename to c_src/libbcachefs/btree_update.c
diff --git a/libbcachefs/btree_update.h b/c_src/libbcachefs/btree_update.h
similarity index 100%
rename from libbcachefs/btree_update.h
rename to c_src/libbcachefs/btree_update.h
diff --git a/libbcachefs/btree_update_interior.c b/c_src/libbcachefs/btree_update_interior.c
similarity index 100%
rename from libbcachefs/btree_update_interior.c
rename to c_src/libbcachefs/btree_update_interior.c
diff --git a/libbcachefs/btree_update_interior.h b/c_src/libbcachefs/btree_update_interior.h
similarity index 100%
rename from libbcachefs/btree_update_interior.h
rename to c_src/libbcachefs/btree_update_interior.h
diff --git a/libbcachefs/btree_write_buffer.c b/c_src/libbcachefs/btree_write_buffer.c
similarity index 100%
rename from libbcachefs/btree_write_buffer.c
rename to c_src/libbcachefs/btree_write_buffer.c
diff --git a/libbcachefs/btree_write_buffer.h b/c_src/libbcachefs/btree_write_buffer.h
similarity index 100%
rename from libbcachefs/btree_write_buffer.h
rename to c_src/libbcachefs/btree_write_buffer.h
diff --git a/libbcachefs/btree_write_buffer_types.h b/c_src/libbcachefs/btree_write_buffer_types.h
similarity index 100%
rename from libbcachefs/btree_write_buffer_types.h
rename to c_src/libbcachefs/btree_write_buffer_types.h
diff --git a/libbcachefs/buckets.c b/c_src/libbcachefs/buckets.c
similarity index 100%
rename from libbcachefs/buckets.c
rename to c_src/libbcachefs/buckets.c
diff --git a/libbcachefs/buckets.h b/c_src/libbcachefs/buckets.h
similarity index 100%
rename from libbcachefs/buckets.h
rename to c_src/libbcachefs/buckets.h
diff --git a/libbcachefs/buckets_types.h b/c_src/libbcachefs/buckets_types.h
similarity index 100%
rename from libbcachefs/buckets_types.h
rename to c_src/libbcachefs/buckets_types.h
diff --git a/libbcachefs/buckets_waiting_for_journal.c b/c_src/libbcachefs/buckets_waiting_for_journal.c
similarity index 100%
rename from libbcachefs/buckets_waiting_for_journal.c
rename to c_src/libbcachefs/buckets_waiting_for_journal.c
diff --git a/libbcachefs/buckets_waiting_for_journal.h b/c_src/libbcachefs/buckets_waiting_for_journal.h
similarity index 100%
rename from libbcachefs/buckets_waiting_for_journal.h
rename to c_src/libbcachefs/buckets_waiting_for_journal.h
diff --git a/libbcachefs/buckets_waiting_for_journal_types.h b/c_src/libbcachefs/buckets_waiting_for_journal_types.h
similarity index 100%
rename from libbcachefs/buckets_waiting_for_journal_types.h
rename to c_src/libbcachefs/buckets_waiting_for_journal_types.h
diff --git a/libbcachefs/chardev.c b/c_src/libbcachefs/chardev.c
similarity index 100%
rename from libbcachefs/chardev.c
rename to c_src/libbcachefs/chardev.c
diff --git a/libbcachefs/chardev.h b/c_src/libbcachefs/chardev.h
similarity index 100%
rename from libbcachefs/chardev.h
rename to c_src/libbcachefs/chardev.h
diff --git a/libbcachefs/checksum.c b/c_src/libbcachefs/checksum.c
similarity index 100%
rename from libbcachefs/checksum.c
rename to c_src/libbcachefs/checksum.c
diff --git a/libbcachefs/checksum.h b/c_src/libbcachefs/checksum.h
similarity index 100%
rename from libbcachefs/checksum.h
rename to c_src/libbcachefs/checksum.h
diff --git a/libbcachefs/clock.c b/c_src/libbcachefs/clock.c
similarity index 100%
rename from libbcachefs/clock.c
rename to c_src/libbcachefs/clock.c
diff --git a/libbcachefs/clock.h b/c_src/libbcachefs/clock.h
similarity index 100%
rename from libbcachefs/clock.h
rename to c_src/libbcachefs/clock.h
diff --git a/libbcachefs/clock_types.h b/c_src/libbcachefs/clock_types.h
similarity index 100%
rename from libbcachefs/clock_types.h
rename to c_src/libbcachefs/clock_types.h
diff --git a/libbcachefs/compress.c b/c_src/libbcachefs/compress.c
similarity index 100%
rename from libbcachefs/compress.c
rename to c_src/libbcachefs/compress.c
diff --git a/libbcachefs/compress.h b/c_src/libbcachefs/compress.h
similarity index 100%
rename from libbcachefs/compress.h
rename to c_src/libbcachefs/compress.h
diff --git a/libbcachefs/counters.c b/c_src/libbcachefs/counters.c
similarity index 100%
rename from libbcachefs/counters.c
rename to c_src/libbcachefs/counters.c
diff --git a/libbcachefs/counters.h b/c_src/libbcachefs/counters.h
similarity index 100%
rename from libbcachefs/counters.h
rename to c_src/libbcachefs/counters.h
diff --git a/libbcachefs/darray.c b/c_src/libbcachefs/darray.c
similarity index 100%
rename from libbcachefs/darray.c
rename to c_src/libbcachefs/darray.c
diff --git a/libbcachefs/darray.h b/c_src/libbcachefs/darray.h
similarity index 100%
rename from libbcachefs/darray.h
rename to c_src/libbcachefs/darray.h
diff --git a/libbcachefs/data_update.c b/c_src/libbcachefs/data_update.c
similarity index 100%
rename from libbcachefs/data_update.c
rename to c_src/libbcachefs/data_update.c
diff --git a/libbcachefs/data_update.h b/c_src/libbcachefs/data_update.h
similarity index 100%
rename from libbcachefs/data_update.h
rename to c_src/libbcachefs/data_update.h
diff --git a/libbcachefs/debug.c b/c_src/libbcachefs/debug.c
similarity index 100%
rename from libbcachefs/debug.c
rename to c_src/libbcachefs/debug.c
diff --git a/libbcachefs/debug.h b/c_src/libbcachefs/debug.h
similarity index 100%
rename from libbcachefs/debug.h
rename to c_src/libbcachefs/debug.h
diff --git a/libbcachefs/dirent.c b/c_src/libbcachefs/dirent.c
similarity index 100%
rename from libbcachefs/dirent.c
rename to c_src/libbcachefs/dirent.c
diff --git a/libbcachefs/dirent.h b/c_src/libbcachefs/dirent.h
similarity index 100%
rename from libbcachefs/dirent.h
rename to c_src/libbcachefs/dirent.h
diff --git a/libbcachefs/disk_groups.c b/c_src/libbcachefs/disk_groups.c
similarity index 100%
rename from libbcachefs/disk_groups.c
rename to c_src/libbcachefs/disk_groups.c
diff --git a/libbcachefs/disk_groups.h b/c_src/libbcachefs/disk_groups.h
similarity index 100%
rename from libbcachefs/disk_groups.h
rename to c_src/libbcachefs/disk_groups.h
diff --git a/libbcachefs/disk_groups_types.h b/c_src/libbcachefs/disk_groups_types.h
similarity index 100%
rename from libbcachefs/disk_groups_types.h
rename to c_src/libbcachefs/disk_groups_types.h
diff --git a/libbcachefs/ec.c b/c_src/libbcachefs/ec.c
similarity index 100%
rename from libbcachefs/ec.c
rename to c_src/libbcachefs/ec.c
diff --git a/libbcachefs/ec.h b/c_src/libbcachefs/ec.h
similarity index 100%
rename from libbcachefs/ec.h
rename to c_src/libbcachefs/ec.h
diff --git a/libbcachefs/ec_types.h b/c_src/libbcachefs/ec_types.h
similarity index 100%
rename from libbcachefs/ec_types.h
rename to c_src/libbcachefs/ec_types.h
diff --git a/libbcachefs/errcode.c b/c_src/libbcachefs/errcode.c
similarity index 100%
rename from libbcachefs/errcode.c
rename to c_src/libbcachefs/errcode.c
diff --git a/libbcachefs/errcode.h b/c_src/libbcachefs/errcode.h
similarity index 100%
rename from libbcachefs/errcode.h
rename to c_src/libbcachefs/errcode.h
diff --git a/libbcachefs/error.c b/c_src/libbcachefs/error.c
similarity index 100%
rename from libbcachefs/error.c
rename to c_src/libbcachefs/error.c
diff --git a/libbcachefs/error.h b/c_src/libbcachefs/error.h
similarity index 100%
rename from libbcachefs/error.h
rename to c_src/libbcachefs/error.h
diff --git a/libbcachefs/extent_update.c b/c_src/libbcachefs/extent_update.c
similarity index 100%
rename from libbcachefs/extent_update.c
rename to c_src/libbcachefs/extent_update.c
diff --git a/libbcachefs/extent_update.h b/c_src/libbcachefs/extent_update.h
similarity index 100%
rename from libbcachefs/extent_update.h
rename to c_src/libbcachefs/extent_update.h
diff --git a/libbcachefs/extents.c b/c_src/libbcachefs/extents.c
similarity index 100%
rename from libbcachefs/extents.c
rename to c_src/libbcachefs/extents.c
diff --git a/libbcachefs/extents.h b/c_src/libbcachefs/extents.h
similarity index 100%
rename from libbcachefs/extents.h
rename to c_src/libbcachefs/extents.h
diff --git a/libbcachefs/extents_types.h b/c_src/libbcachefs/extents_types.h
similarity index 100%
rename from libbcachefs/extents_types.h
rename to c_src/libbcachefs/extents_types.h
diff --git a/libbcachefs/eytzinger.h b/c_src/libbcachefs/eytzinger.h
similarity index 100%
rename from libbcachefs/eytzinger.h
rename to c_src/libbcachefs/eytzinger.h
diff --git a/libbcachefs/fifo.h b/c_src/libbcachefs/fifo.h
similarity index 100%
rename from libbcachefs/fifo.h
rename to c_src/libbcachefs/fifo.h
diff --git a/libbcachefs/fs-common.c b/c_src/libbcachefs/fs-common.c
similarity index 100%
rename from libbcachefs/fs-common.c
rename to c_src/libbcachefs/fs-common.c
diff --git a/libbcachefs/fs-common.h b/c_src/libbcachefs/fs-common.h
similarity index 100%
rename from libbcachefs/fs-common.h
rename to c_src/libbcachefs/fs-common.h
diff --git a/libbcachefs/fs-io-buffered.c b/c_src/libbcachefs/fs-io-buffered.c
similarity index 100%
rename from libbcachefs/fs-io-buffered.c
rename to c_src/libbcachefs/fs-io-buffered.c
diff --git a/libbcachefs/fs-io-buffered.h b/c_src/libbcachefs/fs-io-buffered.h
similarity index 100%
rename from libbcachefs/fs-io-buffered.h
rename to c_src/libbcachefs/fs-io-buffered.h
diff --git a/libbcachefs/fs-io-direct.c b/c_src/libbcachefs/fs-io-direct.c
similarity index 100%
rename from libbcachefs/fs-io-direct.c
rename to c_src/libbcachefs/fs-io-direct.c
diff --git a/libbcachefs/fs-io-direct.h b/c_src/libbcachefs/fs-io-direct.h
similarity index 100%
rename from libbcachefs/fs-io-direct.h
rename to c_src/libbcachefs/fs-io-direct.h
diff --git a/libbcachefs/fs-io-pagecache.c b/c_src/libbcachefs/fs-io-pagecache.c
similarity index 100%
rename from libbcachefs/fs-io-pagecache.c
rename to c_src/libbcachefs/fs-io-pagecache.c
diff --git a/libbcachefs/fs-io-pagecache.h b/c_src/libbcachefs/fs-io-pagecache.h
similarity index 100%
rename from libbcachefs/fs-io-pagecache.h
rename to c_src/libbcachefs/fs-io-pagecache.h
diff --git a/libbcachefs/fs-io.c b/c_src/libbcachefs/fs-io.c
similarity index 100%
rename from libbcachefs/fs-io.c
rename to c_src/libbcachefs/fs-io.c
diff --git a/libbcachefs/fs-io.h b/c_src/libbcachefs/fs-io.h
similarity index 100%
rename from libbcachefs/fs-io.h
rename to c_src/libbcachefs/fs-io.h
diff --git a/libbcachefs/fs-ioctl.c b/c_src/libbcachefs/fs-ioctl.c
similarity index 100%
rename from libbcachefs/fs-ioctl.c
rename to c_src/libbcachefs/fs-ioctl.c
diff --git a/libbcachefs/fs-ioctl.h b/c_src/libbcachefs/fs-ioctl.h
similarity index 100%
rename from libbcachefs/fs-ioctl.h
rename to c_src/libbcachefs/fs-ioctl.h
diff --git a/libbcachefs/fs.c b/c_src/libbcachefs/fs.c
similarity index 100%
rename from libbcachefs/fs.c
rename to c_src/libbcachefs/fs.c
diff --git a/libbcachefs/fs.h b/c_src/libbcachefs/fs.h
similarity index 100%
rename from libbcachefs/fs.h
rename to c_src/libbcachefs/fs.h
diff --git a/libbcachefs/fsck.c b/c_src/libbcachefs/fsck.c
similarity index 100%
rename from libbcachefs/fsck.c
rename to c_src/libbcachefs/fsck.c
diff --git a/libbcachefs/fsck.h b/c_src/libbcachefs/fsck.h
similarity index 100%
rename from libbcachefs/fsck.h
rename to c_src/libbcachefs/fsck.h
diff --git a/libbcachefs/inode.c b/c_src/libbcachefs/inode.c
similarity index 100%
rename from libbcachefs/inode.c
rename to c_src/libbcachefs/inode.c
diff --git a/libbcachefs/inode.h b/c_src/libbcachefs/inode.h
similarity index 100%
rename from libbcachefs/inode.h
rename to c_src/libbcachefs/inode.h
diff --git a/libbcachefs/io_misc.c b/c_src/libbcachefs/io_misc.c
similarity index 100%
rename from libbcachefs/io_misc.c
rename to c_src/libbcachefs/io_misc.c
diff --git a/libbcachefs/io_misc.h b/c_src/libbcachefs/io_misc.h
similarity index 100%
rename from libbcachefs/io_misc.h
rename to c_src/libbcachefs/io_misc.h
diff --git a/libbcachefs/io_read.c b/c_src/libbcachefs/io_read.c
similarity index 100%
rename from libbcachefs/io_read.c
rename to c_src/libbcachefs/io_read.c
diff --git a/libbcachefs/io_read.h b/c_src/libbcachefs/io_read.h
similarity index 100%
rename from libbcachefs/io_read.h
rename to c_src/libbcachefs/io_read.h
diff --git a/libbcachefs/io_write.c b/c_src/libbcachefs/io_write.c
similarity index 100%
rename from libbcachefs/io_write.c
rename to c_src/libbcachefs/io_write.c
diff --git a/libbcachefs/io_write.h b/c_src/libbcachefs/io_write.h
similarity index 100%
rename from libbcachefs/io_write.h
rename to c_src/libbcachefs/io_write.h
diff --git a/libbcachefs/io_write_types.h b/c_src/libbcachefs/io_write_types.h
similarity index 100%
rename from libbcachefs/io_write_types.h
rename to c_src/libbcachefs/io_write_types.h
diff --git a/libbcachefs/journal.c b/c_src/libbcachefs/journal.c
similarity index 100%
rename from libbcachefs/journal.c
rename to c_src/libbcachefs/journal.c
diff --git a/libbcachefs/journal.h b/c_src/libbcachefs/journal.h
similarity index 100%
rename from libbcachefs/journal.h
rename to c_src/libbcachefs/journal.h
diff --git a/libbcachefs/journal_io.c b/c_src/libbcachefs/journal_io.c
similarity index 100%
rename from libbcachefs/journal_io.c
rename to c_src/libbcachefs/journal_io.c
diff --git a/libbcachefs/journal_io.h b/c_src/libbcachefs/journal_io.h
similarity index 100%
rename from libbcachefs/journal_io.h
rename to c_src/libbcachefs/journal_io.h
diff --git a/libbcachefs/journal_reclaim.c b/c_src/libbcachefs/journal_reclaim.c
similarity index 100%
rename from libbcachefs/journal_reclaim.c
rename to c_src/libbcachefs/journal_reclaim.c
diff --git a/libbcachefs/journal_reclaim.h b/c_src/libbcachefs/journal_reclaim.h
similarity index 100%
rename from libbcachefs/journal_reclaim.h
rename to c_src/libbcachefs/journal_reclaim.h
diff --git a/libbcachefs/journal_sb.c b/c_src/libbcachefs/journal_sb.c
similarity index 100%
rename from libbcachefs/journal_sb.c
rename to c_src/libbcachefs/journal_sb.c
diff --git a/libbcachefs/journal_sb.h b/c_src/libbcachefs/journal_sb.h
similarity index 100%
rename from libbcachefs/journal_sb.h
rename to c_src/libbcachefs/journal_sb.h
diff --git a/libbcachefs/journal_seq_blacklist.c b/c_src/libbcachefs/journal_seq_blacklist.c
similarity index 100%
rename from libbcachefs/journal_seq_blacklist.c
rename to c_src/libbcachefs/journal_seq_blacklist.c
diff --git a/libbcachefs/journal_seq_blacklist.h b/c_src/libbcachefs/journal_seq_blacklist.h
similarity index 100%
rename from libbcachefs/journal_seq_blacklist.h
rename to c_src/libbcachefs/journal_seq_blacklist.h
diff --git a/libbcachefs/journal_types.h b/c_src/libbcachefs/journal_types.h
similarity index 100%
rename from libbcachefs/journal_types.h
rename to c_src/libbcachefs/journal_types.h
diff --git a/libbcachefs/keylist.c b/c_src/libbcachefs/keylist.c
similarity index 100%
rename from libbcachefs/keylist.c
rename to c_src/libbcachefs/keylist.c
diff --git a/libbcachefs/keylist.h b/c_src/libbcachefs/keylist.h
similarity index 100%
rename from libbcachefs/keylist.h
rename to c_src/libbcachefs/keylist.h
diff --git a/libbcachefs/keylist_types.h b/c_src/libbcachefs/keylist_types.h
similarity index 100%
rename from libbcachefs/keylist_types.h
rename to c_src/libbcachefs/keylist_types.h
diff --git a/libbcachefs/logged_ops.c b/c_src/libbcachefs/logged_ops.c
similarity index 100%
rename from libbcachefs/logged_ops.c
rename to c_src/libbcachefs/logged_ops.c
diff --git a/libbcachefs/logged_ops.h b/c_src/libbcachefs/logged_ops.h
similarity index 100%
rename from libbcachefs/logged_ops.h
rename to c_src/libbcachefs/logged_ops.h
diff --git a/libbcachefs/lru.c b/c_src/libbcachefs/lru.c
similarity index 100%
rename from libbcachefs/lru.c
rename to c_src/libbcachefs/lru.c
diff --git a/libbcachefs/lru.h b/c_src/libbcachefs/lru.h
similarity index 100%
rename from libbcachefs/lru.h
rename to c_src/libbcachefs/lru.h
diff --git a/libbcachefs/mean_and_variance.c b/c_src/libbcachefs/mean_and_variance.c
similarity index 100%
rename from libbcachefs/mean_and_variance.c
rename to c_src/libbcachefs/mean_and_variance.c
diff --git a/libbcachefs/mean_and_variance.h b/c_src/libbcachefs/mean_and_variance.h
similarity index 100%
rename from libbcachefs/mean_and_variance.h
rename to c_src/libbcachefs/mean_and_variance.h
diff --git a/libbcachefs/migrate.c b/c_src/libbcachefs/migrate.c
similarity index 100%
rename from libbcachefs/migrate.c
rename to c_src/libbcachefs/migrate.c
diff --git a/libbcachefs/migrate.h b/c_src/libbcachefs/migrate.h
similarity index 100%
rename from libbcachefs/migrate.h
rename to c_src/libbcachefs/migrate.h
diff --git a/libbcachefs/move.c b/c_src/libbcachefs/move.c
similarity index 100%
rename from libbcachefs/move.c
rename to c_src/libbcachefs/move.c
diff --git a/libbcachefs/move.h b/c_src/libbcachefs/move.h
similarity index 100%
rename from libbcachefs/move.h
rename to c_src/libbcachefs/move.h
diff --git a/libbcachefs/move_types.h b/c_src/libbcachefs/move_types.h
similarity index 100%
rename from libbcachefs/move_types.h
rename to c_src/libbcachefs/move_types.h
diff --git a/libbcachefs/movinggc.c b/c_src/libbcachefs/movinggc.c
similarity index 100%
rename from libbcachefs/movinggc.c
rename to c_src/libbcachefs/movinggc.c
diff --git a/libbcachefs/movinggc.h b/c_src/libbcachefs/movinggc.h
similarity index 100%
rename from libbcachefs/movinggc.h
rename to c_src/libbcachefs/movinggc.h
diff --git a/libbcachefs/nocow_locking.c b/c_src/libbcachefs/nocow_locking.c
similarity index 100%
rename from libbcachefs/nocow_locking.c
rename to c_src/libbcachefs/nocow_locking.c
diff --git a/libbcachefs/nocow_locking.h b/c_src/libbcachefs/nocow_locking.h
similarity index 100%
rename from libbcachefs/nocow_locking.h
rename to c_src/libbcachefs/nocow_locking.h
diff --git a/libbcachefs/nocow_locking_types.h b/c_src/libbcachefs/nocow_locking_types.h
similarity index 100%
rename from libbcachefs/nocow_locking_types.h
rename to c_src/libbcachefs/nocow_locking_types.h
diff --git a/libbcachefs/opts.c b/c_src/libbcachefs/opts.c
similarity index 100%
rename from libbcachefs/opts.c
rename to c_src/libbcachefs/opts.c
diff --git a/libbcachefs/opts.h b/c_src/libbcachefs/opts.h
similarity index 100%
rename from libbcachefs/opts.h
rename to c_src/libbcachefs/opts.h
diff --git a/libbcachefs/printbuf.c b/c_src/libbcachefs/printbuf.c
similarity index 100%
rename from libbcachefs/printbuf.c
rename to c_src/libbcachefs/printbuf.c
diff --git a/libbcachefs/printbuf.h b/c_src/libbcachefs/printbuf.h
similarity index 100%
rename from libbcachefs/printbuf.h
rename to c_src/libbcachefs/printbuf.h
diff --git a/libbcachefs/quota.c b/c_src/libbcachefs/quota.c
similarity index 100%
rename from libbcachefs/quota.c
rename to c_src/libbcachefs/quota.c
diff --git a/libbcachefs/quota.h b/c_src/libbcachefs/quota.h
similarity index 100%
rename from libbcachefs/quota.h
rename to c_src/libbcachefs/quota.h
diff --git a/libbcachefs/quota_types.h b/c_src/libbcachefs/quota_types.h
similarity index 100%
rename from libbcachefs/quota_types.h
rename to c_src/libbcachefs/quota_types.h
diff --git a/libbcachefs/rebalance.c b/c_src/libbcachefs/rebalance.c
similarity index 100%
rename from libbcachefs/rebalance.c
rename to c_src/libbcachefs/rebalance.c
diff --git a/libbcachefs/rebalance.h b/c_src/libbcachefs/rebalance.h
similarity index 100%
rename from libbcachefs/rebalance.h
rename to c_src/libbcachefs/rebalance.h
diff --git a/libbcachefs/rebalance_types.h b/c_src/libbcachefs/rebalance_types.h
similarity index 100%
rename from libbcachefs/rebalance_types.h
rename to c_src/libbcachefs/rebalance_types.h
diff --git a/libbcachefs/recovery.c b/c_src/libbcachefs/recovery.c
similarity index 100%
rename from libbcachefs/recovery.c
rename to c_src/libbcachefs/recovery.c
diff --git a/libbcachefs/recovery.h b/c_src/libbcachefs/recovery.h
similarity index 100%
rename from libbcachefs/recovery.h
rename to c_src/libbcachefs/recovery.h
diff --git a/libbcachefs/recovery_types.h b/c_src/libbcachefs/recovery_types.h
similarity index 100%
rename from libbcachefs/recovery_types.h
rename to c_src/libbcachefs/recovery_types.h
diff --git a/libbcachefs/reflink.c b/c_src/libbcachefs/reflink.c
similarity index 100%
rename from libbcachefs/reflink.c
rename to c_src/libbcachefs/reflink.c
diff --git a/libbcachefs/reflink.h b/c_src/libbcachefs/reflink.h
similarity index 100%
rename from libbcachefs/reflink.h
rename to c_src/libbcachefs/reflink.h
diff --git a/libbcachefs/replicas.c b/c_src/libbcachefs/replicas.c
similarity index 100%
rename from libbcachefs/replicas.c
rename to c_src/libbcachefs/replicas.c
diff --git a/libbcachefs/replicas.h b/c_src/libbcachefs/replicas.h
similarity index 100%
rename from libbcachefs/replicas.h
rename to c_src/libbcachefs/replicas.h
diff --git a/libbcachefs/replicas_types.h b/c_src/libbcachefs/replicas_types.h
similarity index 100%
rename from libbcachefs/replicas_types.h
rename to c_src/libbcachefs/replicas_types.h
diff --git a/libbcachefs/sb-clean.c b/c_src/libbcachefs/sb-clean.c
similarity index 100%
rename from libbcachefs/sb-clean.c
rename to c_src/libbcachefs/sb-clean.c
diff --git a/libbcachefs/sb-clean.h b/c_src/libbcachefs/sb-clean.h
similarity index 100%
rename from libbcachefs/sb-clean.h
rename to c_src/libbcachefs/sb-clean.h
diff --git a/libbcachefs/sb-downgrade.c b/c_src/libbcachefs/sb-downgrade.c
similarity index 100%
rename from libbcachefs/sb-downgrade.c
rename to c_src/libbcachefs/sb-downgrade.c
diff --git a/libbcachefs/sb-downgrade.h b/c_src/libbcachefs/sb-downgrade.h
similarity index 100%
rename from libbcachefs/sb-downgrade.h
rename to c_src/libbcachefs/sb-downgrade.h
diff --git a/libbcachefs/sb-errors.c b/c_src/libbcachefs/sb-errors.c
similarity index 100%
rename from libbcachefs/sb-errors.c
rename to c_src/libbcachefs/sb-errors.c
diff --git a/libbcachefs/sb-errors.h b/c_src/libbcachefs/sb-errors.h
similarity index 100%
rename from libbcachefs/sb-errors.h
rename to c_src/libbcachefs/sb-errors.h
diff --git a/libbcachefs/sb-errors_types.h b/c_src/libbcachefs/sb-errors_types.h
similarity index 100%
rename from libbcachefs/sb-errors_types.h
rename to c_src/libbcachefs/sb-errors_types.h
diff --git a/libbcachefs/sb-members.c b/c_src/libbcachefs/sb-members.c
similarity index 100%
rename from libbcachefs/sb-members.c
rename to c_src/libbcachefs/sb-members.c
diff --git a/libbcachefs/sb-members.h b/c_src/libbcachefs/sb-members.h
similarity index 100%
rename from libbcachefs/sb-members.h
rename to c_src/libbcachefs/sb-members.h
diff --git a/libbcachefs/seqmutex.h b/c_src/libbcachefs/seqmutex.h
similarity index 100%
rename from libbcachefs/seqmutex.h
rename to c_src/libbcachefs/seqmutex.h
diff --git a/libbcachefs/siphash.c b/c_src/libbcachefs/siphash.c
similarity index 100%
rename from libbcachefs/siphash.c
rename to c_src/libbcachefs/siphash.c
diff --git a/libbcachefs/siphash.h b/c_src/libbcachefs/siphash.h
similarity index 100%
rename from libbcachefs/siphash.h
rename to c_src/libbcachefs/siphash.h
diff --git a/libbcachefs/six.c b/c_src/libbcachefs/six.c
similarity index 100%
rename from libbcachefs/six.c
rename to c_src/libbcachefs/six.c
diff --git a/libbcachefs/six.h b/c_src/libbcachefs/six.h
similarity index 100%
rename from libbcachefs/six.h
rename to c_src/libbcachefs/six.h
diff --git a/libbcachefs/snapshot.c b/c_src/libbcachefs/snapshot.c
similarity index 100%
rename from libbcachefs/snapshot.c
rename to c_src/libbcachefs/snapshot.c
diff --git a/libbcachefs/snapshot.h b/c_src/libbcachefs/snapshot.h
similarity index 100%
rename from libbcachefs/snapshot.h
rename to c_src/libbcachefs/snapshot.h
diff --git a/libbcachefs/str_hash.h b/c_src/libbcachefs/str_hash.h
similarity index 100%
rename from libbcachefs/str_hash.h
rename to c_src/libbcachefs/str_hash.h
diff --git a/libbcachefs/subvolume.c b/c_src/libbcachefs/subvolume.c
similarity index 100%
rename from libbcachefs/subvolume.c
rename to c_src/libbcachefs/subvolume.c
diff --git a/libbcachefs/subvolume.h b/c_src/libbcachefs/subvolume.h
similarity index 100%
rename from libbcachefs/subvolume.h
rename to c_src/libbcachefs/subvolume.h
diff --git a/libbcachefs/subvolume_types.h b/c_src/libbcachefs/subvolume_types.h
similarity index 100%
rename from libbcachefs/subvolume_types.h
rename to c_src/libbcachefs/subvolume_types.h
diff --git a/libbcachefs/super-io.c b/c_src/libbcachefs/super-io.c
similarity index 100%
rename from libbcachefs/super-io.c
rename to c_src/libbcachefs/super-io.c
diff --git a/libbcachefs/super-io.h b/c_src/libbcachefs/super-io.h
similarity index 100%
rename from libbcachefs/super-io.h
rename to c_src/libbcachefs/super-io.h
diff --git a/libbcachefs/super.c b/c_src/libbcachefs/super.c
similarity index 100%
rename from libbcachefs/super.c
rename to c_src/libbcachefs/super.c
diff --git a/libbcachefs/super.h b/c_src/libbcachefs/super.h
similarity index 100%
rename from libbcachefs/super.h
rename to c_src/libbcachefs/super.h
diff --git a/libbcachefs/super_types.h b/c_src/libbcachefs/super_types.h
similarity index 100%
rename from libbcachefs/super_types.h
rename to c_src/libbcachefs/super_types.h
diff --git a/libbcachefs/sysfs.c b/c_src/libbcachefs/sysfs.c
similarity index 100%
rename from libbcachefs/sysfs.c
rename to c_src/libbcachefs/sysfs.c
diff --git a/libbcachefs/sysfs.h b/c_src/libbcachefs/sysfs.h
similarity index 100%
rename from libbcachefs/sysfs.h
rename to c_src/libbcachefs/sysfs.h
diff --git a/libbcachefs/tests.c b/c_src/libbcachefs/tests.c
similarity index 100%
rename from libbcachefs/tests.c
rename to c_src/libbcachefs/tests.c
diff --git a/libbcachefs/tests.h b/c_src/libbcachefs/tests.h
similarity index 100%
rename from libbcachefs/tests.h
rename to c_src/libbcachefs/tests.h
diff --git a/libbcachefs/thread_with_file.c b/c_src/libbcachefs/thread_with_file.c
similarity index 100%
rename from libbcachefs/thread_with_file.c
rename to c_src/libbcachefs/thread_with_file.c
diff --git a/libbcachefs/thread_with_file.h b/c_src/libbcachefs/thread_with_file.h
similarity index 100%
rename from libbcachefs/thread_with_file.h
rename to c_src/libbcachefs/thread_with_file.h
diff --git a/libbcachefs/thread_with_file_types.h b/c_src/libbcachefs/thread_with_file_types.h
similarity index 100%
rename from libbcachefs/thread_with_file_types.h
rename to c_src/libbcachefs/thread_with_file_types.h
diff --git a/libbcachefs/trace.c b/c_src/libbcachefs/trace.c
similarity index 100%
rename from libbcachefs/trace.c
rename to c_src/libbcachefs/trace.c
diff --git a/libbcachefs/trace.h b/c_src/libbcachefs/trace.h
similarity index 100%
rename from libbcachefs/trace.h
rename to c_src/libbcachefs/trace.h
diff --git a/libbcachefs/two_state_shared_lock.c b/c_src/libbcachefs/two_state_shared_lock.c
similarity index 100%
rename from libbcachefs/two_state_shared_lock.c
rename to c_src/libbcachefs/two_state_shared_lock.c
diff --git a/libbcachefs/two_state_shared_lock.h b/c_src/libbcachefs/two_state_shared_lock.h
similarity index 100%
rename from libbcachefs/two_state_shared_lock.h
rename to c_src/libbcachefs/two_state_shared_lock.h
diff --git a/libbcachefs/util.c b/c_src/libbcachefs/util.c
similarity index 100%
rename from libbcachefs/util.c
rename to c_src/libbcachefs/util.c
diff --git a/libbcachefs/util.h b/c_src/libbcachefs/util.h
similarity index 100%
rename from libbcachefs/util.h
rename to c_src/libbcachefs/util.h
diff --git a/libbcachefs/varint.c b/c_src/libbcachefs/varint.c
similarity index 100%
rename from libbcachefs/varint.c
rename to c_src/libbcachefs/varint.c
diff --git a/libbcachefs/varint.h b/c_src/libbcachefs/varint.h
similarity index 100%
rename from libbcachefs/varint.h
rename to c_src/libbcachefs/varint.h
diff --git a/libbcachefs/vstructs.h b/c_src/libbcachefs/vstructs.h
similarity index 100%
rename from libbcachefs/vstructs.h
rename to c_src/libbcachefs/vstructs.h
diff --git a/libbcachefs/xattr.c b/c_src/libbcachefs/xattr.c
similarity index 100%
rename from libbcachefs/xattr.c
rename to c_src/libbcachefs/xattr.c
diff --git a/libbcachefs/xattr.h b/c_src/libbcachefs/xattr.h
similarity index 100%
rename from libbcachefs/xattr.h
rename to c_src/libbcachefs/xattr.h
diff --git a/linux/atomic64.c b/c_src/linux/atomic64.c
similarity index 100%
rename from linux/atomic64.c
rename to c_src/linux/atomic64.c
diff --git a/linux/bio.c b/c_src/linux/bio.c
similarity index 100%
rename from linux/bio.c
rename to c_src/linux/bio.c
diff --git a/linux/blkdev.c b/c_src/linux/blkdev.c
similarity index 100%
rename from linux/blkdev.c
rename to c_src/linux/blkdev.c
diff --git a/linux/closure.c b/c_src/linux/closure.c
similarity index 100%
rename from linux/closure.c
rename to c_src/linux/closure.c
diff --git a/linux/crc64.c b/c_src/linux/crc64.c
similarity index 100%
rename from linux/crc64.c
rename to c_src/linux/crc64.c
diff --git a/linux/crc64table.h b/c_src/linux/crc64table.h
similarity index 100%
rename from linux/crc64table.h
rename to c_src/linux/crc64table.h
diff --git a/linux/crypto/api.c b/c_src/linux/crypto/api.c
similarity index 100%
rename from linux/crypto/api.c
rename to c_src/linux/crypto/api.c
diff --git a/linux/crypto/chacha20_generic.c b/c_src/linux/crypto/chacha20_generic.c
similarity index 100%
rename from linux/crypto/chacha20_generic.c
rename to c_src/linux/crypto/chacha20_generic.c
diff --git a/linux/crypto/poly1305_generic.c b/c_src/linux/crypto/poly1305_generic.c
similarity index 100%
rename from linux/crypto/poly1305_generic.c
rename to c_src/linux/crypto/poly1305_generic.c
diff --git a/linux/crypto/sha256_generic.c b/c_src/linux/crypto/sha256_generic.c
similarity index 100%
rename from linux/crypto/sha256_generic.c
rename to c_src/linux/crypto/sha256_generic.c
diff --git a/linux/fs.c b/c_src/linux/fs.c
similarity index 100%
rename from linux/fs.c
rename to c_src/linux/fs.c
diff --git a/linux/generic-radix-tree.c b/c_src/linux/generic-radix-tree.c
similarity index 100%
rename from linux/generic-radix-tree.c
rename to c_src/linux/generic-radix-tree.c
diff --git a/linux/int_sqrt.c b/c_src/linux/int_sqrt.c
similarity index 100%
rename from linux/int_sqrt.c
rename to c_src/linux/int_sqrt.c
diff --git a/linux/kstrtox.c b/c_src/linux/kstrtox.c
similarity index 100%
rename from linux/kstrtox.c
rename to c_src/linux/kstrtox.c
diff --git a/linux/kstrtox.h b/c_src/linux/kstrtox.h
similarity index 100%
rename from linux/kstrtox.h
rename to c_src/linux/kstrtox.h
diff --git a/linux/kthread.c b/c_src/linux/kthread.c
similarity index 100%
rename from linux/kthread.c
rename to c_src/linux/kthread.c
diff --git a/linux/llist.c b/c_src/linux/llist.c
similarity index 100%
rename from linux/llist.c
rename to c_src/linux/llist.c
diff --git a/linux/mempool.c b/c_src/linux/mempool.c
similarity index 100%
rename from linux/mempool.c
rename to c_src/linux/mempool.c
diff --git a/linux/preempt.c b/c_src/linux/preempt.c
similarity index 100%
rename from linux/preempt.c
rename to c_src/linux/preempt.c
diff --git a/linux/ratelimit.c b/c_src/linux/ratelimit.c
similarity index 100%
rename from linux/ratelimit.c
rename to c_src/linux/ratelimit.c
diff --git a/linux/rhashtable.c b/c_src/linux/rhashtable.c
similarity index 100%
rename from linux/rhashtable.c
rename to c_src/linux/rhashtable.c
diff --git a/linux/sched.c b/c_src/linux/sched.c
similarity index 100%
rename from linux/sched.c
rename to c_src/linux/sched.c
diff --git a/linux/semaphore.c b/c_src/linux/semaphore.c
similarity index 100%
rename from linux/semaphore.c
rename to c_src/linux/semaphore.c
diff --git a/linux/seq_buf.c b/c_src/linux/seq_buf.c
similarity index 100%
rename from linux/seq_buf.c
rename to c_src/linux/seq_buf.c
diff --git a/linux/shrinker.c b/c_src/linux/shrinker.c
similarity index 100%
rename from linux/shrinker.c
rename to c_src/linux/shrinker.c
diff --git a/linux/siphash.c b/c_src/linux/siphash.c
similarity index 100%
rename from linux/siphash.c
rename to c_src/linux/siphash.c
diff --git a/linux/string.c b/c_src/linux/string.c
similarity index 100%
rename from linux/string.c
rename to c_src/linux/string.c
diff --git a/linux/string_helpers.c b/c_src/linux/string_helpers.c
similarity index 100%
rename from linux/string_helpers.c
rename to c_src/linux/string_helpers.c
diff --git a/linux/timer.c b/c_src/linux/timer.c
similarity index 100%
rename from linux/timer.c
rename to c_src/linux/timer.c
diff --git a/linux/wait.c b/c_src/linux/wait.c
similarity index 100%
rename from linux/wait.c
rename to c_src/linux/wait.c
diff --git a/linux/workqueue.c b/c_src/linux/workqueue.c
similarity index 100%
rename from linux/workqueue.c
rename to c_src/linux/workqueue.c
diff --git a/linux/xxhash.c b/c_src/linux/xxhash.c
similarity index 100%
rename from linux/xxhash.c
rename to c_src/linux/xxhash.c
diff --git a/linux/zstd_compress_module.c b/c_src/linux/zstd_compress_module.c
similarity index 100%
rename from linux/zstd_compress_module.c
rename to c_src/linux/zstd_compress_module.c
diff --git a/linux/zstd_decompress_module.c b/c_src/linux/zstd_decompress_module.c
similarity index 100%
rename from linux/zstd_decompress_module.c
rename to c_src/linux/zstd_decompress_module.c
diff --git a/qcow2.c b/c_src/qcow2.c
similarity index 100%
rename from qcow2.c
rename to c_src/qcow2.c
diff --git a/qcow2.h b/c_src/qcow2.h
similarity index 100%
rename from qcow2.h
rename to c_src/qcow2.h
diff --git a/raid/COPYING b/c_src/raid/COPYING
similarity index 100%
rename from raid/COPYING
rename to c_src/raid/COPYING
diff --git a/raid/check.c b/c_src/raid/check.c
similarity index 100%
rename from raid/check.c
rename to c_src/raid/check.c
diff --git a/raid/combo.h b/c_src/raid/combo.h
similarity index 100%
rename from raid/combo.h
rename to c_src/raid/combo.h
diff --git a/raid/cpu.h b/c_src/raid/cpu.h
similarity index 100%
rename from raid/cpu.h
rename to c_src/raid/cpu.h
diff --git a/raid/gf.h b/c_src/raid/gf.h
similarity index 100%
rename from raid/gf.h
rename to c_src/raid/gf.h
diff --git a/raid/helper.c b/c_src/raid/helper.c
similarity index 100%
rename from raid/helper.c
rename to c_src/raid/helper.c
diff --git a/raid/helper.h b/c_src/raid/helper.h
similarity index 100%
rename from raid/helper.h
rename to c_src/raid/helper.h
diff --git a/raid/int.c b/c_src/raid/int.c
similarity index 100%
rename from raid/int.c
rename to c_src/raid/int.c
diff --git a/raid/internal.h b/c_src/raid/internal.h
similarity index 100%
rename from raid/internal.h
rename to c_src/raid/internal.h
diff --git a/raid/intz.c b/c_src/raid/intz.c
similarity index 100%
rename from raid/intz.c
rename to c_src/raid/intz.c
diff --git a/raid/memory.c b/c_src/raid/memory.c
similarity index 100%
rename from raid/memory.c
rename to c_src/raid/memory.c
diff --git a/raid/memory.h b/c_src/raid/memory.h
similarity index 100%
rename from raid/memory.h
rename to c_src/raid/memory.h
diff --git a/raid/module.c b/c_src/raid/module.c
similarity index 100%
rename from raid/module.c
rename to c_src/raid/module.c
diff --git a/raid/raid.c b/c_src/raid/raid.c
similarity index 100%
rename from raid/raid.c
rename to c_src/raid/raid.c
diff --git a/raid/raid.h b/c_src/raid/raid.h
similarity index 100%
rename from raid/raid.h
rename to c_src/raid/raid.h
diff --git a/raid/tables.c b/c_src/raid/tables.c
similarity index 100%
rename from raid/tables.c
rename to c_src/raid/tables.c
diff --git a/raid/tag.c b/c_src/raid/tag.c
similarity index 100%
rename from raid/tag.c
rename to c_src/raid/tag.c
diff --git a/raid/test.c b/c_src/raid/test.c
similarity index 100%
rename from raid/test.c
rename to c_src/raid/test.c
diff --git a/raid/test.h b/c_src/raid/test.h
similarity index 100%
rename from raid/test.h
rename to c_src/raid/test.h
diff --git a/raid/x86.c b/c_src/raid/x86.c
similarity index 100%
rename from raid/x86.c
rename to c_src/raid/x86.c
diff --git a/raid/x86z.c b/c_src/raid/x86z.c
similarity index 100%
rename from raid/x86z.c
rename to c_src/raid/x86z.c
diff --git a/tools-util.c b/c_src/tools-util.c
similarity index 100%
rename from tools-util.c
rename to c_src/tools-util.c
diff --git a/tools-util.h b/c_src/tools-util.h
similarity index 100%
rename from tools-util.h
rename to c_src/tools-util.h
diff --git a/make-release-tarball.sh b/make-release-tarball.sh
index 32e4772..c468da7 100755
--- a/make-release-tarball.sh
+++ b/make-release-tarball.sh
@@ -7,7 +7,7 @@ version=$1
 git checkout v$version
 git clean -xfd
 
-(cd rust-src; cargo license) > COPYING.rust-dependencies
+cargo license > COPYING.rust-dependencies
 
 git ls-files|
     tar --create --file bcachefs-tools-$version.tar -T -	\
@@ -28,7 +28,7 @@ scp bcachefs-tools-$version.tar.zst	evilpiepirate.org:/var/www/htdocs/bcachefs-t
 scp bcachefs-tools-$version.tar.asc	evilpiepirate.org:/var/www/htdocs/bcachefs-tools/
 scp bcachefs-tools-$version.tar.sign	evilpiepirate.org:/var/www/htdocs/bcachefs-tools/
 
-cargo vendor --manifest-path rust-src/Cargo.toml
+cargo vendor
 
 mkdir .cargo
 cat > .cargo/config.toml <<-ZZ
diff --git a/rust-src/.gitignore b/rust-src/.gitignore
deleted file mode 100644
index 644cd42..0000000
--- a/rust-src/.gitignore
+++ /dev/null
@@ -1,15 +0,0 @@
-# Generated by Cargo
-# will have compiled files and executables
-debug/
-target/
-
-# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
-# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
-# Needed by nix
-# Cargo.lock
-
-# These are backup files generated by rustfmt
-**/*.rs.bk
-
-# MSVC Windows builds of rustc generate these, which store debugging information
-*.pdb
diff --git a/rust-src/README.md b/rust-src/README.md
deleted file mode 100644
index e4700f6..0000000
--- a/rust-src/README.md
+++ /dev/null
@@ -1,62 +0,0 @@
-Usage
-=====
-
-```
-bcachefs-mount 0.1.0
-Mount a bcachefs filesystem by its UUID
-
-USAGE:
-    bcachefs-mount [OPTIONS] <uuid> <mountpoint>
-
-FLAGS:
-    -h, --help       
-            Prints help information
-
-    -V, --version    
-            Prints version information
-
-
-OPTIONS:
-    -o <options>                 
-            Mount options [default: ]
-
-    -p, --password <password>    
-            Where the password would be loaded from.
-            
-            Possible values are: "fail" - don't ask for password, fail if filesystem is encrypted; "wait" - wait for
-            password to become available before mounting; "ask" -  prompt the user for password; [default: fail]
-
-ARGS:
-    <uuid>          
-            External UUID of the bcachefs filesystem
-
-    <mountpoint>    
-            Where the filesystem should be mounted
-```
-
-Caveats
-=======
-
-* `--password ask` is not yet implemented, but you can use `--password wait`, and load the key with `bcachefs unlock`.
-
-Build
-=====
-
-```sh
-$ git submodule update --init --recursive
-$ cargo build --release
-```
-
-Binary will be built in `target/release/bcachefs-mount`
-
-Dependencies:
-
-* rust
-* blkid
-* uuid
-* liburcu
-* libsodium
-* zlib
-* liblz4
-* libzstd
-* libkeyutils
diff --git a/rust-src/bch_bindgen/src/libbcachefs_wrapper.h b/rust-src/bch_bindgen/src/libbcachefs_wrapper.h
deleted file mode 100644
index 5fb4261..0000000
--- a/rust-src/bch_bindgen/src/libbcachefs_wrapper.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#include "../libbcachefs/super-io.h"
-#include "../libbcachefs/checksum.h"
-#include "../libbcachefs/bcachefs_format.h"
-#include "../libbcachefs/btree_cache.h"
-#include "../libbcachefs/btree_iter.h"
-#include "../libbcachefs/debug.h"
-#include "../libbcachefs/errcode.h"
-#include "../libbcachefs/error.h"
-#include "../libbcachefs/opts.h"
-#include "../libbcachefs.h"
-#include "../crypto.h"
-#include "../include/linux/bio.h"
-#include "../include/linux/blkdev.h"
-#include "../cmds.h"
-#include "../raid/raid.h"
-
-
-#define MARK_FIX_753(req_name) const blk_mode_t Fix753_##req_name = req_name;
-
-MARK_FIX_753(BLK_OPEN_READ);
-MARK_FIX_753(BLK_OPEN_WRITE);
-MARK_FIX_753(BLK_OPEN_EXCL);
diff --git a/rust-src/rustfmt.toml b/rustfmt.toml
similarity index 100%
rename from rust-src/rustfmt.toml
rename to rustfmt.toml
diff --git a/rust-src/src/bcachefs.rs b/src/bcachefs.rs
similarity index 100%
rename from rust-src/src/bcachefs.rs
rename to src/bcachefs.rs
diff --git a/rust-src/src/commands/cmd_completions.rs b/src/commands/cmd_completions.rs
similarity index 100%
rename from rust-src/src/commands/cmd_completions.rs
rename to src/commands/cmd_completions.rs
diff --git a/rust-src/src/commands/cmd_list.rs b/src/commands/cmd_list.rs
similarity index 100%
rename from rust-src/src/commands/cmd_list.rs
rename to src/commands/cmd_list.rs
diff --git a/rust-src/src/commands/cmd_mount.rs b/src/commands/cmd_mount.rs
similarity index 100%
rename from rust-src/src/commands/cmd_mount.rs
rename to src/commands/cmd_mount.rs
diff --git a/rust-src/src/commands/logger.rs b/src/commands/logger.rs
similarity index 100%
rename from rust-src/src/commands/logger.rs
rename to src/commands/logger.rs
diff --git a/rust-src/src/commands/mod.rs b/src/commands/mod.rs
similarity index 100%
rename from rust-src/src/commands/mod.rs
rename to src/commands/mod.rs
diff --git a/rust-src/src/key.rs b/src/key.rs
similarity index 100%
rename from rust-src/src/key.rs
rename to src/key.rs
diff --git a/tests/util.py b/tests/util.py
index 3ec38b2..68fe9e9 100644
--- a/tests/util.py
+++ b/tests/util.py
@@ -11,7 +11,7 @@ import time
 from pathlib import Path
 
 BASE_PATH= os.path.dirname(__file__)
-BCH_PATH = os.path.abspath(os.path.join(BASE_PATH, '../rust-src/target/release', 'bcachefs'))
+BCH_PATH = os.path.abspath(os.path.join(BASE_PATH, '../target/release', 'bcachefs'))
 VALGRIND_PATH= os.path.abspath(os.path.join(BASE_PATH,
     'valgrind-suppressions.txt'))
 
-- 
2.43.0


      parent reply	other threads:[~2024-01-16  6:41 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-16  6:40 [PATCH TOOLS v2 0/3] convert main() C -> Rust Thomas Bertschinger
2024-01-16  6:41 ` [PATCH TOOLS v2 1/3] convert main() from C to Rust Thomas Bertschinger
2024-01-16  6:41 ` [PATCH TOOLS v2 2/3] remove library from bcachefs-tools Rust package Thomas Bertschinger
2024-01-16  6:41 ` Thomas Bertschinger [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240116064102.193643-4-tahbertschinger@gmail.com \
    --to=tahbertschinger@gmail.com \
    --cc=bfoster@redhat.com \
    --cc=kent.overstreet@linux.dev \
    --cc=linux-bcachefs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox