]> Zhao Yanbai Git Server - minix.git/commit
MFS: reimplement block clean marking fix
authorDavid van Moolenbroek <david@minix3.org>
Fri, 20 Apr 2012 15:23:09 +0000 (17:23 +0200)
committerDavid van Moolenbroek <david@minix3.org>
Fri, 20 Apr 2012 15:40:47 +0000 (17:40 +0200)
commit0c11190cdc268d88302086a79ec1741540fee907
treef53a8971d632ef15ea7d2f2ac529e6f92bea0b1b
parent26f817243b7887b2360f4e107e02dce2e77916be
MFS: reimplement block clean marking fix

MFS' get_block() must never return a newly acquired block buffer that
is marked dirty from previous use. This patch replaces git-dd59d50,
which assumed a working model where blocks for device NO_DEV would
never be dirty. For at least one scenario, that assumption does not
hold, triggering superblock overwrite warnings. In this patch, blocks
are explicitly marked as clean upon being repurposed. The working
model is now restored to be: the dirty state of a block is relevant
only when its associated device is not set to NO_DEV.
servers/mfs/cache.c
servers/mfs/clean.h