/**********************************************************************//** Inits an extent descriptor to the free and clean state. */ UNIV_INLINE void xdes_init( /*======*/ xdes_t* descr, /*!< in: descriptor */ mtr_t* mtr) /*!< in: mtr */ { ulint i; ut_ad(descr && mtr); ut_ad(mtr_memo_contains_page(mtr, descr, MTR_MEMO_PAGE_X_FIX)); ut_ad((XDES_SIZE - XDES_BITMAP) % == ); /** *#define XDES_BITMAP (FLST_NODE_SIZE + 12) *#define FLST_NODE_SIZE (2 * FIL_ADDR_SIZE) *#define FIL_ADDR_SIZE 6 *为24 * * *#define XDES_SIZE \ (XDES_BITMAP + UT_BITS_IN_BYTES(FSP_EXTENT_SIZE * XDES_BITS_PER_PAGE)) * *==> (24 + (64*2)) = 152 * *为64个小空格设置值 */ ) { mlog_write_ulint(descr + i, 0xFFFFFFFFUL, MLOG_4BYTES, mtr); } xdes_set_state(descr, XDES_FREE, mtr); }