cvs commit: src/sys/vfs/hammer hammer.h hammer_blockmap.c hammer_flusher.c hammer_inode.c hammer_io.c hammer_object.c hammer_ondisk.c hammer_undo.c hammer_vfsops.c

Matthew Dillon dillon at
Fri Jul 18 09:18:40 PDT 2008

:>   * Read or Write errors in the flush path disable flushing and force the mount
:>     into read-only mode.  Modified buffers are left locked in memory until
:>     umount to provide a consistent snapshot of the state of the filesystem.
:What would happen if the system runs out of memory? Will it die due to
:memory allocation issues, or will it detect that it is low on memory and
:return filesystem related errors.

    The filesystem uses a limited amount of memory, which the system must
    provide (and does provide).  i.e. the M_HAMMER kmalloc pool.

:>     You must umount and remount to recover the filesystem.  The filesystem
:>     will automatically rollback to the last valid flush upon remounting.
:That means, if I umount, I loose all the changes made on the locked
:in-memory buffers, right?

    Correct.  I will caution that you probably wouldn't want to keep them
    anyway, since programs (apache, mysql, etc...) often do weird things
    when file operations start to fail.

:>   * umount and umount -f are now able to unmount a HAMMER filesystem that has
:>     catastrophic write errors (e.g. pulling the USB cable on an external
:>     drive).
:Cool, even though I am hoping not to come in a situation where this will
:be neccessary ;-)
:   Michael

					Matthew Dillon 
					<dillon at>

More information about the Commits mailing list