| aubifs_writepage#(INODE, PAGENO, PBUF, FI, RO, FO; ERR, RI, FS, LOG, CSYNCED) {if pre-writepage(INODE, PAGENO, PBUF, FS, RI) then choose EXISTS, KEY1, ADR1, ND1 with EXISTS in let INO = INODE.ino in {KEY1 := datakey(INO, PAGENO); ND1 := datanode(KEY1, PBUF); aubifs_core_journal_add1#(ND1, RI, FI, RO, FO; ADR1, FS, LOG; CSYNCED, ERR); if ERR = ESUCCESS then aubifs_core_index_store#(KEY1, ADR1, FI, RO, FO, FS, LOG, CSYNCED; RI) else if ¬ EXISTS then aubifs_core_index_remove#(KEY1, FI, RO, FO, FS, LOG, CSYNCED; RI)} else abort } |