[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: unsequential file inode numbering



Upon further inspection, I've examined the udf image to find out where the actual file data has been stored in one instance. I created a 61440 byte file with dd from /dev/random and copied it into my mounted udf filesystem then made a dummy file after it to view the inodes given to each file as such

         ls -li mnt/PAD/PAD246*
1508 -rw-r--r-- 1 root root 0 Aug 10 16:44 PAD2460 1509 -rw-r--r-- 1 root root 0 Aug 11 10:22 PAD2461 1510 -rw-r--r-- 1 root root 61440 Aug 11 11:21 PAD2462 1550 -rw-r--r-- 1 root root 0 Aug 11 11:21 PAD2463

As you can see, PAD2462 should only be 30 x 2k blocks + 1 file descriptor block preceding the data such that I expected to see PAD2463 at inode 1541 instead of 1550. This got me wondering where the data was actually being stored so I compared block by block the original PAD2462 file to the chunk parsed out of the udf image.

My results showed that the first 28672 bytes (14 blocks) of PAD2462 were stored starting at block 1511 to 1524 inclusively. Block 1525 through 1533 stored unknown data. Then the other 32768 bytes (16 blocks) of PAD2462 were stored from block 1534 to 1549 inclusively.

Had I continued to create PAD files 2462 - 2469 for example, all of zero length, the inodes would have been created as such

         ls -li mnt/PAD/PAD246*
1508 -rw-r--r-- 1 root root 0 Aug 10 16:44 mnt/PAD/PAD2460 1509 -rw-r--r-- 1 root root 0 Aug 11 10:22 mnt/PAD/PAD2461 1510 -rw-r--r-- 1 root root 0 Aug 11 11:49 mnt/PAD/PAD2462 1511 -rw-r--r-- 1 root root 0 Aug 11 11:49 mnt/PAD/PAD2463 1512 -rw-r--r-- 1 root root 0 Aug 11 11:49 mnt/PAD/PAD2464 1513 -rw-r--r-- 1 root root 0 Aug 11 11:49 mnt/PAD/PAD2465 1514 -rw-r--r-- 1 root root 0 Aug 11 11:49 mnt/PAD/PAD2466 1534 -rw-r--r-- 1 root root 0 Aug 11 11:49 mnt/PAD/PAD2467 1535 -rw-r--r-- 1 root root 0 Aug 11 11:49 mnt/PAD/PAD2468 1536 -rw-r--r-- 1 root root 0 Aug 11 11:49 mnt/PAD/PAD2469

So it appears perhaps that inode 1515 through 1533 are bad or something but with my above test, it was still able to correctly store file data 1515 through 1524? The only blocks that were unable to store data NOR act as inodes for files were 1525 through 1533?

Why this is happening? How I can make use of these blocks as inodes? And most importantly, how can I make use of these blocks for file data?

If I have been unclear at all, please ask me to verify and I will gladly do so.

Thanks in advance!

Jeff

_________________________________________________________________
Get ready for school! Find articles, homework help and more in the Back to School Guide! http://special.msn.com/network/04backtoschool.armx



Reply to: