Re: [RFC] File flags handling - proposal for API.

Albert D. Cahalan (acahalan@cs.uml.edu)
Wed, 7 Jul 1999 01:36:23 -0400 (EDT)


Mark H. Wood writes:
> On Mon, 5 Jul 1999, Jamie Lokier wrote:

>> Scenario #1
>> -----------
>>
>> Finished touching up todays report.
>> "Save As" blahblah.doc, a flat file because the office apps work this way.
>>
>> Open mailer. "Attach File", works ok. All is well, Linux is wonderful.
>>
>> But... "Save As" took 2 minutes after a 1 word change. To store my 57
>> 12Mbyte photos.
>>
>> [or (b) "Quick Save" sparse files a la Word and a lot of wasted space.
>> or (c) a better app-level filesystem in a file. Learn from database
>> vendors.]
>>
>> Scenario #2
>> -----------
>>
>> Finished touching up todays report.
>> "Save As" blahblah.doc
>>
>> blahblah.doc is a directory because folks think a file is too slow for
>> the hugeness and complexity of my report.
>>
>> Open mailer. "Attach File" blahblah.doc. "Attachment error: Is a
>> directory". (Switching mailers isn't an option: too many critical
>> features in use daily).
>>
>> Bum. Guess I have to learn how to use that stoopid shell!
>>
>> (Assume training in shell commands such as cd and ls).
>>
>> "man tar".
>>
>> Oh fuck.
>>
>> 1a. Email friend.
>> 1b. Linux sucks! Boss is right, Word is easy.
>> 1c. "tar cvf" is easy really. (Personally I always cvvpSfz but explain
>> that to a newbie :-)
>
> Scenario 3.
>
> Finished touching up todays report.
> "Save As" blahblah.doc
>
> blahblah.doc is a random-access BLOB library managed in userspace by a
> standard collection of subroutines. Lucky me: we chose an open-source
> wordprocessor and helped port it to the BLOB-library package. "Save as"
> takes 12ms because the text BLOB is minuscule.

Nope. If you don't just write out a whole new document (slow),
you must be using some sort of internal allocation system and
namespace. You have to update that properly. 120 ms, maybe.

For this mediocre performance, you pay elsewhere... (see below)

> Open mailer. "Attach File" blahblah.doc. Works.
>
> Convert blahblah.doc -> blahblah.rtf. Return to mailer while
> converter is running; read a couple of notes.

You will be reading quite a few notes. Your internal allocation
system and namespace are layered on top of the regular filesystem,
reducing performance. You can't take advantage of a block device
the way a kernel filesystem can.

Look, would you want to mount your $HOME from a loopback file?
How about /tmp or /usr? (and the kernel can even optimize those!)

I went through the O() notation in my response to Viro & Reiser.
It was very bad at least, and quite possibly much worse than I
was able to show.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/