SD_F_BUSY
while ((x)->flags & SD_F_BUSY) { \
if ((x)->flags & SD_F_BUSY) \
(x)->flags |= SD_F_BUSY; \
if ((x)->flags & SD_F_BUSY) { \
(x)->flags &= ~SD_F_BUSY; \
if (!((x) != NULL && ((x)->flags & SD_F_BUSY))) \
while ((x)->flags & SD_F_BUSY) \
KASSERT(!((x)->flags & SD_F_BUSY), \
(x)->flags |= SD_F_BUSY; \
KASSERT((x)->flags & SD_F_BUSY, \
(x)->flags &= ~SD_F_BUSY; \
((x)->flags & SD_F_BUSY), \