I'm confused by the code of XLR_RMGR_INFO_MASK and XLR_INFO_MASK. According to the definition of masks, the high 4 bits are for rmgr.
/* * The high 4 bits in xl_info may be used freely by rmgr. The * XLR_SPECIAL_REL_UPDATE and XLR_CHECK_CONSISTENCY bits can be passed by * XLogInsert caller. The rest are set internally by XLogInsert. */ #define XLR_INFO_MASK 0x0F #define XLR_RMGR_INFO_MASK 0xF0 However, in function XLogInsert(), there is code: /* * The caller can set rmgr bits, XLR_SPECIAL_REL_UPDATE and * XLR_CHECK_CONSISTENCY; the rest are reserved for use by me. */ if ((info & ~(XLR_RMGR_INFO_MASK | XLR_SPECIAL_REL_UPDATE | XLR_CHECK_CONSISTENCY)) != 0) elog(PANIC, "invalid xlog info mask %02X", info); #define XLR_SPECIAL_REL_UPDATE 0x01 #define XLR_CHECK_CONSISTENCY 0x02 As the XLR_SPECIAL_REL_UPDATE and XLR_CHECK_CONSISTENCY are of the low 4 bits, the above code is indicating the low 4 bits are for rmgr too? Did I misunderstand something? Thanks, Steven wenhui qiu <qiuwenhu...@gmail.com> 于2025年6月10日周二 16:00写道: > HI > > FWIW, I'm not sure what's the benefit of the proposal which comes down > > to the removal of a bitwise NOT, except more code conflicts with back > > branches. > Agree > > On Tue, Jun 10, 2025 at 3:37 PM Michael Paquier <mich...@paquier.xyz> > wrote: > >> On Mon, Jun 09, 2025 at 10:54:43PM -0300, Fabrízio de Royes Mello wrote: >> > The refactoring LGTM but do we really need two patches? IMHO you can >> just >> > merge everything into a single patch. >> >> FWIW, I'm not sure what's the benefit of the proposal which comes down >> to the removal of a bitwise NOT, except more code conflicts with back >> branches. >> -- >> Michael >> >