What I'm thinking is that we should instead do this by extending the use of the lp_flags field. lp_flags is two bits, which we currently define as independent LP_USED and LP_DELETE bits, but in fact LP_DELETE is never used in heap pages. (It is used in indexes.) I propose that we redefine lp_flags as having four states, say
LP_UNUSED 0 LP_NORMAL 1 LP_REDIRECT 2 LP_DEAD 3
Sounds good to me. I saw you committed this change. Do you want me to update HOT patch to use this or you are already doing that ?