-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dump.exfat should do more than just disk/volume information #173
Comments
Okay, I can not understand fully what you want to do. Can you implement it and show the execution log and usage at real ? |
Essentially, dump tool for kernel-driver based exfatprogs should give information similar to the fuse-driver based exfat-utils One should be able recover a file by knowing the every file's FAT-CHAIN of bytes/sectors/clusters. misc:
|
fsck is ready on exfat-next branch. Please check whether it is covered for your request. git clone --branch=exfat-next https://github.com/exfatprogs/exfatprogs |
Not really, the RFE/issue was regarding for precaution-sake being able to get the file-fragment info dumps, in case of needing to do manual-scraping/recovery before even attempting fs-repair. Online fs-repair tools irreversibly modify on-disk data. As a user, one can only say "Y" to whatever confirmation fsck asks. The fsck may attempt to rebuild FAT as well find/reallocate/relocate sectors. When data in volume is too important, one dd-s the whole corrupted volume into a volume-image on larger fresh disk, makes a duplicate copy, and attempts fs-repair on the copy. Nevertheless it is good to know exfat fsck is ready. Good-work and thankyou for your contributions! As of now, my filesystems/hdds are fine, and I don't have any corruption to test against, and I hope they remain that way.
koji builds for fc37 are at exfatprogs-1.1.3. |
@hgkamath We have released exfat 1.2.0 version. Please check it. |
dump.exfat tool should do more than just disk/volume information.
The advantages of exfat filesystem are that (A) it is simple, (B) has huge maxsize limit and (C) has a bit for indicating contiguous-ness allowing for read optimization (D) absence of journaling is better for lifespan of SSD.
The simplicity is a trade off against not having a journal and disk failure tolerance, robustness.
A use case of exfat filesystem is to store large static container files like virtual-disk images, that are seldom resized/moved. They may also be defragmented in the case of hdd (not ssd) as contiguous files.
More importantly, knowing where the used file blocks are helps in case of disaster recovery.
dump.exfat /dev/sdx|/mnt/exfat <arguments>
. Following arguments are being suggested-s
in formatted text show only information from superblock(s)-u
in formatted text show comma separated (or line separated) offset ranges of used sectors in increasing order and the file to which the sector range belongs to specified in bytes/blocks/clusters.-f <filepath>
in formatted text show comma separated (or line separated) offset ranges of bytes/blocks/clusters associated with a file-R <dirpath>
in formatted text recursively descend a directory show pathname and comma separated (or line separated) offset ranges of bytes/blocks/clusters associated with contained files (this functionality may also be simulated by using a shell script to loop over output of find command and use -f argument on each file)-o <bkup_tableflname>
in a binary stream output/dump the FAT sectors to a offline backup fileThe dump information saved as a periodical (nightly) backup ahead of any disaster, so that in the event disaster happens, it may be used for disaster recovery.
The formatted text dump information will be helpful while using a command like dd during disaster recovery .
One may then append the fragments / concatenate them together to recover the original file on a new filesystem
Such metadata can be saved on a different disk/partition and will be helpful during disaster recovery.
The following also requires a option parameter feature addition to the mount -t exfat command
Saving a binary dump of the enitire FAT would be used the following way.
dump.exfat /dev/sdx|/mnt/exfat -o <bkup_tableflname>
This could then be used in conjunction with mount.exfat
mount.exfat /dev/sdx /mnt/tmpexfat -o ro,fat=<bkup_tableflname>
This allows using regular cp/dd/ddrescue/filecopy commands to copy data off the corrupted FAT/partition using the offline backup table.
The text was updated successfully, but these errors were encountered: