OGAWA Hirofumi <[email protected]> writes:

> Just demonstration though for now. With this hack, volmap/tux_vol_apos
> seem to work.

diff -puN user/kernel/inode.c~vol_bread user/kernel/inode.c
--- tux3/user/kernel/inode.c~vol_bread  2009-01-10 00:24:46.000000000 +0900
+++ tux3-hirofumi/user/kernel/inode.c   2009-01-10 00:24:58.000000000 +0900
@@ -337,6 +337,8 @@ void tux3_clear_inode(struct inode *inod
 
 int tux3_write_inode(struct inode *inode, int do_sync)
 {
+       if (tux_inode(inode)->inum == TUX_VOLMAP_INO)
+               return 0;
        BUG_ON(tux_inode(inode)->inum == TUX_BITMAP_INO ||
               tux_inode(inode)->inum == TUX_VOLMAP_INO ||
               tux_inode(inode)->inum == TUX_VTABLE_INO ||
_

Ah, this part is unneeded. If we or vfs mark inode as I_DIRTY_SYNC/DATASSYNC,
it is bug. We just need to mark inode as I_DIRTY_PAGES only.

So, if tux3_write_inode() was called with TUX_VOLMAP_INO, unexpected
thing was happened.
-- 
OGAWA Hirofumi <[email protected]>

_______________________________________________
Tux3 mailing list
[email protected]
http://mailman.tux3.org/cgi-bin/mailman/listinfo/tux3

Reply via email to