tag:blogger.com,1999:blog-8082954141980125536.post6027106684884007145..comments2008-04-30T18:25:33.392-04:00Comments on research!rsc: Absolute File System Designrschttp://www.blogger.com/profile/06357099531993534337noreply@blogger.comBlogger10125tag:blogger.com,1999:blog-8082954141980125536.post-63595558617371970662008-04-30T18:25:00.000-04:002008-04-30T18:25:00.000-04:002008-04-30T18:25:00.000-04:00ken thompson's file server for Plan 9 tags each bl...ken thompson's file server for Plan 9 tags each block with a little data (type and path) which isn't quite enough to allow recovering whole files automatically but does allow simple consistency checks that (for me) not only detected problems (hardware and software) but prevented them escalating to destroy file systems (eg, data, directory, and free list blocks have different types).forsythhttp://www.blogger.com/profile/00068719978877211213noreply@blogger.comtag:blogger.com,1999:blog-8082954141980125536.post-35988023920981236532008-03-15T11:10:00.000-04:002008-03-15T11:10:00.000-04:002008-03-15T11:10:00.000-04:00@marius: Sure, if you used only the linked list to...@marius: Sure, if you used only the linked list to navigate, then the file system accesses would be slow. But there's nothing stopping you from building block trees like Unix file systems and using them as <I>hints</I> to find the blocks faster.<BR/><BR/>The space overhead is pretty minimal: a few words per 4096-byte block would be under 1%. Make the block size bigger and the overhead goes down.rschttp://www.blogger.com/profile/09576271159839887762noreply@blogger.comtag:blogger.com,1999:blog-8082954141980125536.post-18498881204319428872008-03-15T08:52:00.000-04:002008-03-15T08:52:00.000-04:002008-03-15T08:52:00.000-04:00What are the performance implications of this kind...What are the performance implications of this kind of file system? Would seeking into the middle of a large file require you to read all the blocks from the beginning of the file to follow the metadata chain? How about appending to the end of a big file?<BR/><BR/>How much disk space would this kind of extensive metadata use, compared to something like ext3?Marius Gedminashttp://www.blogger.com/profile/15155998626202067226noreply@blogger.comtag:blogger.com,1999:blog-8082954141980125536.post-74425232471500382032008-02-17T09:06:00.000-05:002008-02-17T09:06:00.000-05:002008-02-17T09:06:00.000-05:00@mike.w.meyer: I don't believe this is a concern i...@mike.w.meyer: I don't believe this is a concern in practice, since it's far more common to load the data first into the kernel's buffer cache. The buffer cache can certainly handle some of the buffers being label blocks, so it would still be a sequential transfer.rschttp://www.blogger.com/profile/09576271159839887762noreply@blogger.comtag:blogger.com,1999:blog-8082954141980125536.post-6788549364477939892008-02-15T23:42:00.000-05:002008-02-15T23:42:00.000-05:002008-02-15T23:42:00.000-05:00Interleaving data and metadata also hoses the perf...Interleaving data and metadata also hoses the performance of<BR/>multi-block (not even large) transfers. If I don't do that, I can just<BR/>point the disk controller at consecutive chunks of RAM, and let it<BR/>load blocks directly into the users output buffer. With metadata at<BR/>the start of the block, I have to put the block in an intermediate<BR/>buffer in order to copy out just the data.mike.w.meyerhttp://www.blogger.com/profile/14442121383593520632noreply@blogger.comtag:blogger.com,1999:blog-8082954141980125536.post-50827959873820733692008-02-15T19:13:00.000-05:002008-02-15T19:13:00.000-05:002008-02-15T19:13:00.000-05:00@fanf: Placing a block full of N labels every N da...@fanf: Placing a block full of N labels every N data blocks would address that problem.rschttp://www.blogger.com/profile/09576271159839887762noreply@blogger.comtag:blogger.com,1999:blog-8082954141980125536.post-49772147501026176722008-02-15T17:51:00.000-05:002008-02-15T17:51:00.000-05:002008-02-15T17:51:00.000-05:00One reason against block labels is that they inter...One reason against block labels is that they interleave data and metadata, so users can't mmap files and the OS can't have a unified buffer cache.fanfhttp://www.blogger.com/profile/17320082374768944309noreply@blogger.comtag:blogger.com,1999:blog-8082954141980125536.post-70072103051626160582008-02-12T06:19:00.000-05:002008-02-12T06:19:00.000-05:002008-02-12T06:19:00.000-05:00@seregine: Sure, but the traditional Unix file int...@seregine: Sure, but the traditional Unix file interface doesn't provide an "insert" operation anyway. "Inserting" at the beginning of the file is accomplished by writing the entire file out again at a different offset anyway. <BR/><BR/>This is why MP3 tags are usually placed at the end of the MP3 file, making them easier to edit.rschttp://www.blogger.com/profile/09576271159839887762noreply@blogger.comtag:blogger.com,1999:blog-8082954141980125536.post-17016916931517069942008-02-11T22:37:00.000-05:002008-02-11T22:37:00.000-05:002008-02-11T22:37:00.000-05:00Interesting. So if I insert a block at the beginni...Interesting. So if I insert a block at the beginning of a 1GB file, the FS has to write to every other block to update its offset?sereginehttp://www.blogger.com/profile/00716572574695142998noreply@blogger.comtag:blogger.com,1999:blog-8082954141980125536.post-35779081451515626992008-02-11T13:08:00.000-05:002008-02-11T13:08:00.000-05:002008-02-11T13:08:00.000-05:00the reason this doesn't matter at all is because d...the reason this doesn't matter <B>at all</B> is because disks don't fail in such a way as to make it matter. I.e., if you lose a few blocks, it is VERY LIKELY you've lost a lot of blocks, or that entire sectors are unreadable. Studies of disk failures also indicate that once you've lost a few sectors, you are likely going to lose a lot more soon (because such errors are due to platter warpage, foreign material, head alignment, etc).<BR/><BR/>Unix's scheme of keeping multiple copies of inode's is actually much more reliable in dealing with such situations.<BR/><BR/>Of course, with the move to solid state drives, maybe Lampson and Sproull's method deserves another look (anyone have any pointers to research on flash drive failures?).garyjhttp://www.blogger.com/profile/10850439928916346077noreply@blogger.com