5
0
mirror of git://git.proxmox.com/git/pxar.git synced 2025-01-19 18:03:35 +03:00

263 Commits

Author SHA1 Message Date
Wolfgang Bumiller
79e3f621c3 encoder: implement a larger shared file copy buffer
In the future we can give it a size.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-08 13:14:07 +02:00
Wolfgang Bumiller
f3ac1c5125 factor out file name validation, also forbid . and ..
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-08 10:31:37 +02:00
Wolfgang Bumiller
bd99958c34 accessor: forbid slashes in file names
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-08 10:27:54 +02:00
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