5
0
mirror of git://git.proxmox.com/git/pxar.git synced 2024-12-22 21:33:50 +03:00
Commit Graph

110 Commits

Author SHA1 Message Date
Wolfgang Bumiller
2dfb36020a decoder: forbid slashes in file names
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-08 10:26:36 +02:00
Wolfgang Bumiller
ef72634f27 encoder: forbid slashes in file names
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-08 10:25:33 +02:00
Wolfgang Bumiller
37f52caf16 bump version to 0.1.5-1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-08 10:09:25 +02:00
Wolfgang Bumiller
1250e3ea15 formatting fixups
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-08 10:07:46 +02:00
Wolfgang Bumiller
0a6c735062 format: fix mtime in Metadata::from(StdMetadata)
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-08 10:06:07 +02:00
Wolfgang Bumiller
145b50e682 examples: add hardlink support to pxarcmd
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-08 09:55:42 +02:00
Wolfgang Bumiller
f3e50baaf8 encoder: fix contents of hardlinks
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-08 09:55:31 +02:00
Wolfgang Bumiller
72f3670986 bump version to 0.1.4-1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-05 16:26:17 +02:00
Wolfgang Bumiller
63f2296f0c encoder: use relative hardlink offsets
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-05 16:26:13 +02:00
Wolfgang Bumiller
06070d267f major updates to allow following hardlinks efficiently
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-05 16:22:20 +02:00
Wolfgang Bumiller
b0487d4f9f formatting fixups
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-05 15:08:32 +02:00
Wolfgang Bumiller
6bfadb8a3f accessor: add follow_hardlink to accessor toplevel
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-05 15:06:58 +02:00
Wolfgang Bumiller
501ea22023 encoder: only provide a LinkOffset on regular files
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-05 15:05:12 +02:00
Wolfgang Bumiller
fd999d5695 remove unused binary for now
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-05 14:06:11 +02:00
Wolfgang Bumiller
5d283b7eeb bump version to 0.1.3-1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-05 14:01:16 +02:00
Wolfgang Bumiller
28be6927ea decoder: more hardlink reading fixups
the previous code use a read helper which would not allow
for there to be more data after the offset

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-05 14:00:08 +02:00
Wolfgang Bumiller
d67488626b 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>
2020-06-05 13:17:03 +02:00
Wolfgang Bumiller
c7b0cd2a1a switch to using mod.rs
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-05 13:03:27 +02:00
Wolfgang Bumiller
b07529294d hardlinks also contain the offset
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-05 12:35:11 +02:00
Wolfgang Bumiller
500440c873 bump version to 0.1.2-1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-05 12:21:08 +02:00
Wolfgang Bumiller
2ab25a1717 fix hardlink format
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-05 12:18:55 +02:00
Wolfgang Bumiller
2f56c76c83 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>
2020-06-04 15:07:55 +02:00
Wolfgang Bumiller
8f1a41637e fixup clean target in Makefile
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-04 11:29:58 +02:00
Wolfgang Bumiller
96da0e0d90 bump version to 0.1.1-1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-04 11:27:04 +02:00
Wolfgang Bumiller
cebd81832c 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>
2020-06-04 11:24:35 +02:00
Wolfgang Bumiller
448bb127a2 remove rust-toolchain file
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-03 13:26:58 +02:00
Wolfgang Bumiller
707bad0d57 add debian build files
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-03 13:25:30 +02:00
Wolfgang Bumiller
afe05f3ffa accessor: use aio Decoder in aio Accessor
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-02 12:58:29 +02:00
Wolfgang Bumiller
da286c2802 Entry: add is_blockdev, is_chardev next to is_device
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-02 12:57:27 +02:00
Wolfgang Bumiller
93fa37fb0f derive Clone for FileEntry
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-02 12:57:12 +02:00
Wolfgang Bumiller
27eaae4867 add Entry::into_metadata
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-05-20 09:59:47 +02:00
Wolfgang Bumiller
c3bba169b5 accessr: add convenience read_at to FileContents
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-05-18 15:25:05 +02:00
Wolfgang Bumiller
6f78e6eae5 add .cargo/config to use local repos
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-05-18 10:38:54 +02:00
Wolfgang Bumiller
6e91d157da drop more trait objects for auto-trait reasons
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-05-13 15:56:20 +02:00
Wolfgang Bumiller
951620f184 Get rid of dyn SeqRead use
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-05-13 15:56:20 +02:00
Wolfgang Bumiller
fc9c8c9deb Get rid of dyn SeqWrite
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-05-13 14:06:09 +02:00
Wolfgang Bumiller
c68a29b589 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>
2020-05-13 13:53:38 +02:00
Wolfgang Bumiller
bb6540d7a3 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>
2020-05-13 12:34:03 +02:00
Wolfgang Bumiller
d3a83ee3df implement accessor::aio
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-05-13 12:34:03 +02:00
Wolfgang Bumiller
a2530fb79c accessor: add size method
to get the size the accessor was initially created with

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-05-13 12:34:03 +02:00
Wolfgang Bumiller
a5922fbcdc accessor: expose lookup_self
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-05-13 12:34:03 +02:00
Wolfgang Bumiller
6b9e2478e5 accessor: open_file_at_range, open_contents_at_range unsafe helpers
for our fuse code

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-05-13 12:34:03 +02:00
Wolfgang Bumiller
34da710317 sync accessor: remove 'async' from open_dir_at_end
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-05-05 14:21:11 +02:00
Wolfgang Bumiller
a95eabc02b Entry: add file_size() convenience helper
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-05-05 14:20:55 +02:00
Wolfgang Bumiller
ceb83806d3 expose full entry ranges for unsafe access
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-05-05 13:51:33 +02:00
Wolfgang Bumiller
d5fb1f7a68 cleanup
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-05-05 11:55:08 +02:00
Wolfgang Bumiller
b764a2b1fb add: interface to set goodbye table cache
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-04-29 13:37:57 +02:00
Wolfgang Bumiller
be35e740a7 add missing file
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-04-29 13:20:45 +02:00
Wolfgang Bumiller
9d8af6f286 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>
2020-04-28 16:59:59 +02:00
Wolfgang Bumiller
2fd112ac9a add Device::from_dev_t
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-04-24 14:40:17 +02:00