Hey all, I altered Karuna's cref tool to print the number of seconds it would take to check the cross-references for a chunk. The results look good for chunkfs: on my laptop /home file system and a 1 GB chunk size, the per-chunk cross-reference check time would be an average of 5 seconds and a max of 160 seconds in 2013. This is calculated assuming average seek time and rotational latency delay for every cross-reference checked; some simple batching of I/Os could significantly improve that. The tool is a little dodgy on error handling and other edge cases ATM, but for now, here's the results and the code (attached): val@nifty:~/chunkfs/cref_new$ sudo ./cref.sh /dev/hda3 dump /home 1024 Total size = 19535040 KB Total data stored = 13998240 KB Number of files = 445406 Number of directories = 31836 Number of special files = 12156 Size of block groups = 1048576 KB Inodes per block group = 130304 Intra-file cross references = 63167 Directory-subdirectory references = 429 Directory-file references = 2381 Total directory cross references = 2810 Total cross references = 65977 Total cross references = 65977 Average cross references per group = 439 Maximum cross references in a group = 13997 Max group is 4 (0:3, 1:46, 2:282, 3:4996, 5:8445, 6:2, 7:1, 8:27, 9:1, 10:2, 12:1, 13:51, 14:32, 15:99, 16:2, 17:5, 18:2, ) Average additional time to check cross references = 6.77 s Max additional time to check cross references = 215.55 s 2013 average additional time to check cross references = 4.93 s 2013 max additional time to check cross references = 156.77 s Questions? Come talk on #linuxfs at irc.oftc.net. -VAL
Attachment:
cref_new.tar.gz
Description: GNU Zip compressed data