[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: vim file write mode on journaling fs.
At 16:26 11-8-2001 -0500, Steve Lord wrote:
>OK, just picking a message to respond to from this thread.
snipping
> 4. Anyone who is shutting down their system by pulling the plug
> rather than doing an orderly shutdown is asking for trouble.
> Yes, it is a situation we want to deal with fairly gracefully,
> but filesystem recovery in journaling filesystems and fsck in
> others is there to 'recover' from problems, not to cater to
> lazy users. umount is there for a reason.
Yes, but crashes can ocur in a perfect world.
> 5. With XFS it looks like this:
>
> o write system call comes in looks for space in the file, if
> there is none it asks the filesystem for some, the filesystem
> records the fact that space was requested at this point in the
> file. A buffer is allocated as before, it is marked dirty, it
> is also marked delayed allocate. The write returns.
>
> o Possibly an inode flush or a log flush pushes the new inode
> out to disk.
>
> o The bdflush daemon comes along and sees the buffers as being
> delayed allocate, it calls the filesystem to allocate the space.
> The allocate is done, and the buffers are written out to disk.
> The transaction which records the extents is still in memory
> and will not be flushed for a few seconds yet.
>
> This last sentence is the major difference, and is probably what is
> biting here, the write has not really happened until this metadata
> makes it out to disk. We may be having some issues with how long
> this is taking in Linux.
Weird, I expected the data to get written first and then the metadata. If
that would happen you would have no file, or in our case, the old file.
>So the upshot of all of this is that I suspect we do have an issue, and we
>will get to it at some point. In the mean time there is no need to start
>discarding filesystems which do not behave as you want them to do if you
>pull the plug.
Hey, we have lot's of time to fix it. I could have used all those 30
minutes of time that I saved from fscking my filesystem but I used it to
play Quake 3 instead.
Cheers
--
Seth
Every program has two purposes one for which
it was written and another for which it wasn't
I use the last kind.