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 0/3] convert main() C -> Rust
Date: Mon, 15 Jan 2024 23:40:59 -0700	[thread overview]
Message-ID: <20240116064102.193643-1-tahbertschinger@gmail.com> (raw)

v2 of this series is mostly the same as v1 in the first 2 patches. The
main difference is a fixup for the GitHub CI failure.

The new 3rd patch moves the Rust sources out of rust-src/ and into the
toplevel, and moves the C sources into c_src/. This doesn't involve any
functionality or code changes, but there's a lot of updating to make
things look in the new locations. As before, let me know if anyone sees
anything I missed, but hopefully I got everything...

Thomas Bertschinger (3):
  convert main() from C to Rust
  remove library from bcachefs-tools Rust package
  move Rust sources to top level, C sources into c_src

 .github/workflows/build-packages.yml          |   4 +-
 .gitignore                                    |  10 ++
 rust-src/Cargo.lock => Cargo.lock             |   2 +-
 rust-src/Cargo.toml => Cargo.toml             |   7 +-
 Makefile                                      |  36 ++---
 .../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      |   9 +-
 .../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 +-
 build.rs                                      |  21 +++
 bcachefs.c => c_src/bcachefs.c                | 127 +-----------------
 {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                        |   6 +-
 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     |  20 ---
 rust-src/src/cmd_main.rs                      |  34 -----
 rust-src/src/lib.rs                           |  54 --------
 rust-src/rustfmt.toml => rustfmt.toml         |   0
 src/bcachefs.rs                               | 120 +++++++++++++++++
 .../src => src/commands}/cmd_completions.rs   |   3 +-
 {rust-src/src => src/commands}/cmd_list.rs    |   3 +-
 {rust-src/src => src/commands}/cmd_mount.rs   |  11 +-
 {rust-src/src => src/commands}/logger.rs      |   0
 src/commands/mod.rs                           |  31 +++++
 {rust-src/src => src}/key.rs                  |   0
 tests/util.py                                 |   2 +-
 472 files changed, 258 insertions(+), 349 deletions(-)
 rename rust-src/Cargo.lock => Cargo.lock (99%)
 rename rust-src/Cargo.toml => Cargo.toml (88%)
 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 (92%)
 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%)
 create mode 100644 build.rs
 rename bcachefs.c => c_src/bcachefs.c (65%)
 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 (89%)
 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
 delete mode 100644 rust-src/src/cmd_main.rs
 delete mode 100644 rust-src/src/lib.rs
 rename rust-src/rustfmt.toml => rustfmt.toml (100%)
 create mode 100644 src/bcachefs.rs
 rename {rust-src/src => src/commands}/cmd_completions.rs (84%)
 rename {rust-src/src => src/commands}/cmd_list.rs (98%)
 rename {rust-src/src => src/commands}/cmd_mount.rs (94%)
 rename {rust-src/src => src/commands}/logger.rs (100%)
 create mode 100644 src/commands/mod.rs
 rename {rust-src/src => src}/key.rs (100%)

-- 
2.43.0


             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 Thomas Bertschinger [this message]
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 ` [PATCH TOOLS v2 3/3] move Rust sources to top level, C sources into c_src Thomas Bertschinger

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-1-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