]> git.proxmox.com Git - pxar.git/log
pxar.git
4 years agoencoder: introduce LinkOffset
Wolfgang Bumiller [Fri, 5 Jun 2020 11:17:02 +0000 (13:17 +0200)]
encoder: introduce LinkOffset

To create hardlinks we need to reference the
in-archive-offset of the file we want to link to.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoswitch to using mod.rs
Wolfgang Bumiller [Fri, 5 Jun 2020 11:03:27 +0000 (13:03 +0200)]
switch to using mod.rs

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agohardlinks also contain the offset
Wolfgang Bumiller [Fri, 5 Jun 2020 10:35:11 +0000 (12:35 +0200)]
hardlinks also contain the offset

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agobump version to 0.1.2-1
Wolfgang Bumiller [Fri, 5 Jun 2020 10:21:08 +0000 (12:21 +0200)]
bump version to 0.1.2-1

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agofix hardlink format
Wolfgang Bumiller [Fri, 5 Jun 2020 09:52:40 +0000 (11:52 +0200)]
fix hardlink format

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agosilence encoder warning
Wolfgang Bumiller [Thu, 4 Jun 2020 13:07:54 +0000 (15:07 +0200)]
silence encoder warning

As it is normal for this to happen when bailing out with an
error.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agofixup clean target in Makefile
Wolfgang Bumiller [Thu, 4 Jun 2020 09:29:58 +0000 (11:29 +0200)]
fixup clean target in Makefile

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agobump version to 0.1.1-1
Wolfgang Bumiller [Thu, 4 Jun 2020 09:27:04 +0000 (11:27 +0200)]
bump version to 0.1.1-1

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoturn Permissions into just an u64
Wolfgang Bumiller [Thu, 4 Jun 2020 09:20:38 +0000 (11:20 +0200)]
turn Permissions into just an u64

So we don't need to deal with `from_bits_truncate` and can
just use it as it is...

An alternative would be an enum which is either NoMask or a
bitfield, but that seems too tedious right now.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoremove rust-toolchain file
Wolfgang Bumiller [Wed, 3 Jun 2020 11:26:58 +0000 (13:26 +0200)]
remove rust-toolchain file

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoadd debian build files
Wolfgang Bumiller [Wed, 3 Jun 2020 10:40:45 +0000 (12:40 +0200)]
add debian build files

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoaccessor: use aio Decoder in aio Accessor
Wolfgang Bumiller [Tue, 2 Jun 2020 10:58:29 +0000 (12:58 +0200)]
accessor: use aio Decoder in aio Accessor

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoEntry: add is_blockdev, is_chardev next to is_device
Wolfgang Bumiller [Tue, 2 Jun 2020 10:57:27 +0000 (12:57 +0200)]
Entry: add is_blockdev, is_chardev next to is_device

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoderive Clone for FileEntry
Wolfgang Bumiller [Tue, 2 Jun 2020 10:57:12 +0000 (12:57 +0200)]
derive Clone for FileEntry

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoadd Entry::into_metadata
Wolfgang Bumiller [Wed, 20 May 2020 07:59:47 +0000 (09:59 +0200)]
add Entry::into_metadata

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoaccessr: add convenience read_at to FileContents
Wolfgang Bumiller [Mon, 18 May 2020 13:25:05 +0000 (15:25 +0200)]
accessr: add convenience read_at to FileContents

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoadd .cargo/config to use local repos
Wolfgang Bumiller [Mon, 18 May 2020 08:38:54 +0000 (10:38 +0200)]
add .cargo/config to use local repos

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agodrop more trait objects for auto-trait reasons
Wolfgang Bumiller [Wed, 13 May 2020 12:56:16 +0000 (14:56 +0200)]
drop more trait objects for auto-trait reasons

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoGet rid of dyn SeqRead use
Wolfgang Bumiller [Wed, 13 May 2020 12:52:41 +0000 (14:52 +0200)]
Get rid of dyn SeqRead use

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoGet rid of dyn SeqWrite
Wolfgang Bumiller [Wed, 13 May 2020 12:06:09 +0000 (14:06 +0200)]
Get rid of dyn SeqWrite

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoGet rid of dyn ReadAt usage
Wolfgang Bumiller [Wed, 13 May 2020 11:53:37 +0000 (13:53 +0200)]
Get rid of dyn ReadAt usage

It causes auto traits to be lost across await points.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoimplement ReadAt for Arcs
Wolfgang Bumiller [Wed, 13 May 2020 07:12:46 +0000 (09:12 +0200)]
implement ReadAt for Arcs

`Arc<dyn ReadAt + Send + Sync + 'static>` is the most
convenience type for a monomorphized random access
`Accessor`, so let's add this for convenience.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoimplement accessor::aio
Wolfgang Bumiller [Tue, 12 May 2020 11:36:40 +0000 (13:36 +0200)]
implement accessor::aio

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoaccessor: add size method
Wolfgang Bumiller [Wed, 6 May 2020 09:35:46 +0000 (11:35 +0200)]
accessor: add size method

to get the size the accessor was initially created with

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoaccessor: expose lookup_self
Wolfgang Bumiller [Wed, 6 May 2020 07:41:01 +0000 (09:41 +0200)]
accessor: expose lookup_self

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoaccessor: open_file_at_range, open_contents_at_range unsafe helpers
Wolfgang Bumiller [Wed, 6 May 2020 07:36:30 +0000 (09:36 +0200)]
accessor: open_file_at_range, open_contents_at_range unsafe helpers

for our fuse code

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agosync accessor: remove 'async' from open_dir_at_end
Wolfgang Bumiller [Tue, 5 May 2020 12:21:11 +0000 (14:21 +0200)]
sync accessor: remove 'async' from open_dir_at_end

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoEntry: add file_size() convenience helper
Wolfgang Bumiller [Tue, 5 May 2020 12:20:55 +0000 (14:20 +0200)]
Entry: add file_size() convenience helper

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoexpose full entry ranges for unsafe access
Wolfgang Bumiller [Tue, 5 May 2020 11:51:33 +0000 (13:51 +0200)]
expose full entry ranges for unsafe access

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agocleanup
Wolfgang Bumiller [Tue, 5 May 2020 09:52:39 +0000 (11:52 +0200)]
cleanup

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoadd: interface to set goodbye table cache
Wolfgang Bumiller [Wed, 29 Apr 2020 11:37:57 +0000 (13:37 +0200)]
add: interface to set goodbye table cache

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoadd missing file
Wolfgang Bumiller [Wed, 29 Apr 2020 11:20:45 +0000 (13:20 +0200)]
add missing file

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoAdd a Cache interface and internal gbt cache usage
Wolfgang Bumiller [Tue, 28 Apr 2020 14:59:59 +0000 (16:59 +0200)]
Add a Cache interface and internal gbt cache usage

This allows the users to implement whatever kind of caching
they want to use for the goodbye table level.

In the future there may be caches for metadata, or path
based goodbye table lookups etc.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoadd Device::from_dev_t
Wolfgang Bumiller [Fri, 24 Apr 2020 12:40:17 +0000 (14:40 +0200)]
add Device::from_dev_t

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoEntry, Metaedata: file_type() and file_mode() getters
Wolfgang Bumiller [Fri, 24 Apr 2020 10:26:26 +0000 (12:26 +0200)]
Entry, Metaedata: file_type() and file_mode() getters

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agocleanup + failure -> anyhow transition
Wolfgang Bumiller [Fri, 24 Apr 2020 08:41:49 +0000 (10:41 +0200)]
cleanup + failure -> anyhow transition

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agouse CStr for XAttr names
Wolfgang Bumiller [Fri, 24 Apr 2020 08:41:39 +0000 (10:41 +0200)]
use CStr for XAttr names

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoMake QuotaProjectId Copy
Wolfgang Bumiller [Thu, 23 Apr 2020 10:21:34 +0000 (12:21 +0200)]
Make QuotaProjectId Copy

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoshorten Permissions name, add NO_MASK entry
Wolfgang Bumiller [Thu, 23 Apr 2020 10:15:15 +0000 (12:15 +0200)]
shorten Permissions name, add NO_MASK entry

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoencoder: add fifo and socket support
Wolfgang Bumiller [Wed, 22 Apr 2020 09:08:16 +0000 (11:08 +0200)]
encoder: add fifo and socket support

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agodecoder: handle fifos and sockets properly
Wolfgang Bumiller [Wed, 22 Apr 2020 09:01:23 +0000 (11:01 +0200)]
decoder: handle fifos and sockets properly

These are the only items which don't get "finalized" by a
dedicated packet (like a PAYLOAD or DEVICE), so for these we
need to check at the next FILENAME or GOODBYE entry.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agogive goodbye tables an empty path
Wolfgang Bumiller [Tue, 21 Apr 2020 12:58:41 +0000 (14:58 +0200)]
give goodbye tables an empty path

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agofix EOF condition in goodbye tables
Wolfgang Bumiller [Tue, 21 Apr 2020 12:57:18 +0000 (14:57 +0200)]
fix EOF condition in goodbye tables

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agofix seq_read_exact_or_eof
Wolfgang Bumiller [Tue, 21 Apr 2020 12:56:39 +0000 (14:56 +0200)]
fix seq_read_exact_or_eof

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agouse a separate state for InGoodbyeTable
Wolfgang Bumiller [Tue, 21 Apr 2020 12:14:12 +0000 (14:14 +0200)]
use a separate state for InGoodbyeTable

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoadd Entry::{get_file_bits,get_permission_bits}
Wolfgang Bumiller [Tue, 21 Apr 2020 09:14:26 +0000 (11:14 +0200)]
add Entry::{get_file_bits,get_permission_bits}

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoadd Device::to_dev_t
Wolfgang Bumiller [Mon, 20 Apr 2020 13:24:34 +0000 (15:24 +0200)]
add Device::to_dev_t

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoadd 'full' meta-feature
Wolfgang Bumiller [Mon, 20 Apr 2020 13:24:28 +0000 (15:24 +0200)]
add 'full' meta-feature

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agodecoder: less confusing generic type letters
Wolfgang Bumiller [Tue, 24 Mar 2020 10:04:08 +0000 (11:04 +0100)]
decoder: less confusing generic type letters

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agodecoder: fix size check in read_simple_entry
Wolfgang Bumiller [Tue, 24 Mar 2020 10:02:13 +0000 (11:02 +0100)]
decoder: fix size check in read_simple_entry

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agocleanup: merge incomplete_*_error variables
Wolfgang Bumiller [Tue, 24 Mar 2020 08:57:07 +0000 (09:57 +0100)]
cleanup: merge incomplete_*_error variables

This could be bitflags or a string, but we only use
std::io:Error and end up with a textual ErrorKind::Other
anyway. (An enum still seemed more efficient at runtime than
a String, given that this is normally a rather exceptional
case caused by the crate user...)

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agocleanup: remove PxarStruct trait
Wolfgang Bumiller [Tue, 24 Mar 2020 08:33:53 +0000 (09:33 +0100)]
cleanup: remove PxarStruct trait

We ended up using only twice, and it's just a tiny shortcut.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoSymlink/Hardlink::as_os_str convenience helpers
Wolfgang Bumiller [Mon, 23 Mar 2020 14:00:15 +0000 (15:00 +0100)]
Symlink/Hardlink::as_os_str convenience helpers

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoSymlink/Hardlink: AsRef<[u8]> and update AsRef<OsStr>
Wolfgang Bumiller [Mon, 23 Mar 2020 13:58:35 +0000 (14:58 +0100)]
Symlink/Hardlink: AsRef<[u8]> and update AsRef<OsStr>

Don't include the terminating nul byte in AsRef<OsStr>

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoMetadata::mtime_as_duration shortcut
Wolfgang Bumiller [Mon, 23 Mar 2020 13:48:28 +0000 (14:48 +0100)]
Metadata::mtime_as_duration shortcut

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoAsRef<OsStr> for Symlink and Hardlink
Wolfgang Bumiller [Mon, 23 Mar 2020 13:42:23 +0000 (14:42 +0100)]
AsRef<OsStr> for Symlink and Hardlink

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoadd Entry::kind
Wolfgang Bumiller [Mon, 23 Mar 2020 13:34:31 +0000 (14:34 +0100)]
add Entry::kind

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agodecoder: add content_size method
Wolfgang Bumiller [Mon, 23 Mar 2020 13:32:53 +0000 (14:32 +0100)]
decoder: add content_size method

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoconvenience method to get mtime as std Duration
Wolfgang Bumiller [Mon, 23 Mar 2020 13:26:21 +0000 (14:26 +0100)]
convenience method to get mtime as std Duration

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoformatting fixup
Wolfgang Bumiller [Mon, 23 Mar 2020 13:11:58 +0000 (14:11 +0100)]
formatting fixup

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoadd Acl::is_empty
Wolfgang Bumiller [Mon, 23 Mar 2020 13:11:46 +0000 (14:11 +0100)]
add Acl::is_empty

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoexpose format::mode at the top level
Wolfgang Bumiller [Mon, 23 Mar 2020 12:52:01 +0000 (13:52 +0100)]
expose format::mode at the top level

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agocontent reader for sequential decoder
Wolfgang Bumiller [Mon, 23 Mar 2020 12:42:50 +0000 (13:42 +0100)]
content reader for sequential decoder

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoexpose 'with_goodbye_tables' decoder options
Wolfgang Bumiller [Mon, 23 Mar 2020 12:16:02 +0000 (13:16 +0100)]
expose 'with_goodbye_tables' decoder options

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoadd Decoder::open
Wolfgang Bumiller [Mon, 23 Mar 2020 09:17:40 +0000 (10:17 +0100)]
add Decoder::open

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agofix async Encoder::create
Wolfgang Bumiller [Mon, 23 Mar 2020 09:17:30 +0000 (10:17 +0100)]
fix async Encoder::create

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoformatting fixups
Wolfgang Bumiller [Thu, 19 Mar 2020 10:07:25 +0000 (11:07 +0100)]
formatting fixups

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoencoder: expose add_symlink/hardlink/device
Wolfgang Bumiller [Thu, 19 Mar 2020 10:06:45 +0000 (11:06 +0100)]
encoder: expose add_symlink/hardlink/device

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agobuildsys: we work with stable 1.42 atm
Wolfgang Bumiller [Thu, 19 Mar 2020 10:06:29 +0000 (11:06 +0100)]
buildsys: we work with stable 1.42 atm

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoadd aio Encoder
Wolfgang Bumiller [Wed, 18 Mar 2020 15:10:28 +0000 (16:10 +0100)]
add aio Encoder

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoadd AsyncWrite interface to encoder::FileImpl
Wolfgang Bumiller [Tue, 10 Mar 2020 11:58:59 +0000 (12:58 +0100)]
add AsyncWrite interface to encoder::FileImpl

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoencoder: add_device
Wolfgang Bumiller [Thu, 5 Mar 2020 10:19:10 +0000 (11:19 +0100)]
encoder: add_device

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoencoder: add_hardlink
Wolfgang Bumiller [Thu, 5 Mar 2020 10:12:17 +0000 (11:12 +0100)]
encoder: add_hardlink

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoencoder: add_symlink
Wolfgang Bumiller [Thu, 5 Mar 2020 10:10:52 +0000 (11:10 +0100)]
encoder: add_symlink

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoencoder: encode remaining metadata
Wolfgang Bumiller [Thu, 5 Mar 2020 09:46:32 +0000 (10:46 +0100)]
encoder: encode remaining metadata

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoignore testdir
Wolfgang Bumiller [Thu, 5 Mar 2020 09:46:18 +0000 (10:46 +0100)]
ignore testdir

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoexamples/pxarcmd: acreate archives recursively
Wolfgang Bumiller [Wed, 4 Mar 2020 15:39:07 +0000 (16:39 +0100)]
examples/pxarcmd: acreate archives recursively

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoencoder: actually create the binary search tree array
Wolfgang Bumiller [Wed, 4 Mar 2020 15:38:14 +0000 (16:38 +0100)]
encoder: actually create the binary search tree array

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoencoder: lifetime fixup
Wolfgang Bumiller [Wed, 4 Mar 2020 15:37:25 +0000 (16:37 +0100)]
encoder: lifetime fixup

for some reason using these functions otherwise creates
leaves the lifetime borrowed throughout the entire
scope making it impossible to use this in a loop?

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoadd From<&std::fs::Metadata> for Metadata
Wolfgang Bumiller [Wed, 4 Mar 2020 15:28:00 +0000 (16:28 +0100)]
add From<&std::fs::Metadata> for Metadata

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoremove now-unused BST search function
Wolfgang Bumiller [Wed, 4 Mar 2020 15:27:38 +0000 (16:27 +0100)]
remove now-unused BST search function

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoimport binary search tree code from proxmox-backup
Wolfgang Bumiller [Wed, 4 Mar 2020 15:26:40 +0000 (16:26 +0100)]
import binary search tree code from proxmox-backup

and fix accessor's hash collision handling

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agostart with the encoder state machine
Wolfgang Bumiller [Thu, 20 Feb 2020 11:44:21 +0000 (12:44 +0100)]
start with the encoder state machine

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agodon't use size_of_val for possibly empty array elements
Wolfgang Bumiller [Tue, 3 Mar 2020 12:31:06 +0000 (13:31 +0100)]
don't use size_of_val for possibly empty array elements

While it is generally nicer to use something that already
contains the type (to avoid duplicate type names),
size_of_val doesn't get optimized out and the array access
will happen with all its checks, causing panics...

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agodocumentation
Wolfgang Bumiller [Thu, 20 Feb 2020 11:21:18 +0000 (12:21 +0100)]
documentation

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoapi update
Wolfgang Bumiller [Thu, 20 Feb 2020 10:19:24 +0000 (11:19 +0100)]
api update

reexport the main accessor::sync types in accessor::

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agohide accessor::aio for now
Wolfgang Bumiller [Thu, 20 Feb 2020 10:17:40 +0000 (11:17 +0100)]
hide accessor::aio for now

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agocleanup
Wolfgang Bumiller [Thu, 20 Feb 2020 10:16:35 +0000 (11:16 +0100)]
cleanup

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agopxarcmd example: implement 'cat'
Wolfgang Bumiller [Wed, 19 Feb 2020 15:10:18 +0000 (16:10 +0100)]
pxarcmd example: implement 'cat'

and fix FileContentImpl offsets

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoimplement lookup over multiple components
Wolfgang Bumiller [Wed, 19 Feb 2020 15:03:42 +0000 (16:03 +0100)]
implement lookup over multiple components

add a pxarcmd test example
make 'failure' an optional dependency as we only use it in
examples right now.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoaccessor: efficient iterator method alternatives
Wolfgang Bumiller [Wed, 19 Feb 2020 10:02:56 +0000 (11:02 +0100)]
accessor: efficient iterator method alternatives

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agohuge accessor refactoring
Wolfgang Bumiller [Wed, 19 Feb 2020 09:54:14 +0000 (10:54 +0100)]
huge accessor refactoring

Turn <'a> into <T: Clone + ReadAt>. We can still use `&'a
dyn ReadAt` in its place, but we can now also support using
an `Arc<File>` to create an Accessor of a 'static lifetime
for more convenient storage and reuse. This way the Accessor
can be thrown away after calling `open_root`.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agolet FileEntry deref to Entry
Wolfgang Bumiller [Tue, 18 Feb 2020 13:19:23 +0000 (14:19 +0100)]
let FileEntry deref to Entry

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoimport
Wolfgang Bumiller [Thu, 23 Jan 2020 10:18:04 +0000 (11:18 +0100)]
import

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>