public RedFS_Inode get_inode_file_wip(string requester) { if (_ninowip == null) { _ninowip = new RedFS_Inode(WIP_TYPE.PUBLIC_INODE_FILE, 0, -1); for (int i = 0; i < 128; i++) { _ninowip.data[i] = data[CFSvalueoffsets.fsid_inofile_data + i]; } _ninowip.set_wiptype(WIP_TYPE.PUBLIC_INODE_FILE); _ninowip.setfilefsid_on_dirty(m_dbn); } DEFS.DEBUG("FSID", "Giving a inowip to " + requester); return(_ninowip); }
public static bool Checkout_Wip2(RedFS_Inode inowip, RedFS_Inode mywip, int m_ino) { WIP_TYPE oldtype = mywip.get_wiptype(); for (int i = 0; i < 16; i++) { DEFS.ASSERT(mywip.get_child_dbn(i) == DBN.INVALID, "Wip cannot be valid during checkout, " + i + " value = " + mywip.get_child_dbn(i)); } long fileoffset = m_ino * 128; lock (inowip) { REDDY.ptrRedFS.redfs_read(inowip, fileoffset, mywip.data, 0, 128); if (oldtype != WIP_TYPE.UNDEFINED) { mywip.set_wiptype(oldtype); } } DEFS.DEBUG("CO_WIP", mywip.get_string_rep2()); return(mywip.verify_inode_number()); }