Commit graph

49 commits

Author SHA1 Message Date
cff31bd483 clean up proc/etc handling 2023-07-16 15:05:52 -07:00
ec136294c5 more async bugs 2023-07-16 15:01:37 -07:00
f81d1d4a64 manually process asynchonously 2023-07-16 14:47:22 -07:00
b710595271 manually process 2023-07-16 14:46:15 -07:00
992c3bad6d await error 2023-07-16 14:42:11 -07:00
4215f4dd2c proc is a cruel mistress 2023-07-16 14:40:46 -07:00
b1e9053bb4 fix ignoredir 2023-07-16 14:17:52 -07:00
3282d5a655 ignoredir 2023-07-16 14:16:32 -07:00
737822fd99 job.paths hadn't been set yet 2023-07-16 14:01:44 -07:00
00ad322c58 asyncio.wait takes an iterable, not args 2023-07-16 14:00:13 -07:00
3e0e138caa Remove directories, too 2023-07-16 13:58:29 -07:00
79536c105e Refactoring and improving find 2023-07-16 13:51:44 -07:00
0f6b8bd438 get_hardlinks take Shred*, not AsyncPaths 2023-07-16 13:39:16 -07:00
efce306977 Stray await 2023-07-16 13:37:58 -07:00
04bce50fb9 resolve() is broken in aiopath
hacky fix for now
2023-07-16 13:35:47 -07:00
b61e16130d Resolve... asynchronicities :D 2023-07-16 13:29:49 -07:00
143acbe02e pathlib/aiopath compat fix for validation 2023-07-16 13:04:24 -07:00
ffbf73a372 Resolve circular import 2023-07-16 13:01:09 -07:00
cd91b960dd Trying out aiopath 2023-07-16 12:59:30 -07:00
e04d86d3cb Optimize finding 2023-07-16 12:45:14 -07:00
0bcbb0a4b0 inodes are ints, not strs 2023-07-16 12:24:27 -07:00
911a45d2a8 Implemented Shred*.get_inode() as an attribute instead 2023-07-16 12:22:26 -07:00
068d47703a ext2/3 is hard, use find as backup 2023-07-16 12:20:57 -07:00
155b3e2006 await mount_to_fs_handler in ShredDir 2023-07-16 11:55:41 -07:00
5fcf743b2b Fix get_all_hardlinks logging/hinting 2023-07-16 11:54:12 -07:00
67570a4368 Unlink Path object instead of Shred*, oops 2023-07-16 11:39:16 -07:00
dacc4a89c7 Dry run logging 2023-07-16 11:34:35 -07:00
2b20dc6cc8 Fix indents causing file to close during shred 2023-07-16 11:29:46 -07:00
e69775471f pathlib Path uses bytes(), not decode() 2023-07-16 11:28:03 -07:00
6c9cca49b9 Fix hardlink traversal of ShredDir 2023-07-16 11:26:11 -07:00
c6d797295f Re-order ShredDir attributes after borking 2023-07-16 11:23:16 -07:00
559d63dea9 Potential fix for async init returning coro 2023-07-16 11:22:17 -07:00
d8b3fb7f17 Move FS discovery into new class coros 2023-07-16 11:14:03 -07:00
ef7b1b95f6 Improve FS discovery logging 2023-07-16 11:01:38 -07:00
587905ed9a Traverse ShredDir contents, not ShredDir 2023-07-16 11:00:11 -07:00
a4f9b485fd Resolve circular import 2023-07-16 10:58:07 -07:00
9ea7fdd8d1 Improve logic for getting hardlinks async 2023-07-16 10:55:05 -07:00
b96ad00679 Remove deprecated "processed" attributes 2023-07-16 10:39:38 -07:00
e60812c136 Improve hardlink logging 2023-07-16 10:38:46 -07:00
5a4d74936b Fix reference to job.hash which should check
for the exhaustive flag from CLI invoke
2023-07-16 10:34:00 -07:00
6269c27244 Fix mount point references and some wording 2023-07-16 10:30:39 -07:00
bcdd085f91 Fix old reference to mount_to_fs
to instead get the handler object
2023-07-16 10:27:00 -07:00
f46611813c Fix pyproject dependency format 2023-07-16 10:25:25 -07:00
9534c30bd7 Doing libzfs the hard way, but it works 2023-07-16 10:23:03 -07:00
176820cd81 Replace useless pyzfs with TrueNAS's py-libzfs
But it's not on pypi :(
2023-07-16 09:44:55 -07:00
bcc9c70322 Fix async yield with some try/finally 2023-07-16 09:38:40 -07:00
ab6eda59c2 Fix CLI command artifact 2023-07-16 09:34:37 -07:00
9bc6f8d9e1 MVP for testing 2023-07-16 09:30:36 -07:00
3396d2d69b Initial 2023-07-15 13:08:04 -07:00