New questions will be put at the top.
Added 12/1:You need to write a program called
% ./runScan anImageDisk outputDirectory When your program starts, your program should create the specified
output directory. If the directory already exists, print an error
message (any message) and exit the program. You can know if a
directory exists but using
For more, see the project page; it has been updated.
Added 11/30:if you find directory inodes that use more than one data block, just read the first data block, and ignore the rest. you should be able to find the jpg filenames in the first block. Added 11/26:Yes it is. It's in /sbin/debugfs. Add this line to your .cshrc file: Yes. There are two parts of your project. The first one is to recover the jpg files and name them using the inode numbers (e.g. output/inode-xy.jpg. Thus, regardless whether you find the corresponding file names or not, you should recover these files). Second, you can always assume that the corresponding directory entries have not been reused such that all filenames are obtainable. Added 11/25:Yes, it's possible. Thus, you should iterate all inodes (in fact, that's the purpose of this project). Iterating all inodes doesn't have to be slow. If you read all the inodes one block at a time, then it'll be slow. But since an inode table for each block group is always stored in contiguous blocks, you should read an inode table at a time. |