ASSERT(tp);
        ASSERT(xfs_buf_islocked(bp));
 
+       switch (type) {
+       case XFS_DQTYPE_USER:
+               qflag = XFS_UQUOTA_CHKD;
+               blftype = XFS_BLF_UDQUOT_BUF;
+               break;
+       case XFS_DQTYPE_PROJ:
+               qflag = XFS_PQUOTA_CHKD;
+               blftype = XFS_BLF_PDQUOT_BUF;
+               break;
+       case XFS_DQTYPE_GROUP:
+               qflag = XFS_GQUOTA_CHKD;
+               blftype = XFS_BLF_GDQUOT_BUF;
+               break;
+       default:
+               ASSERT(0);
+               return;
+       }
+
        d = bp->b_addr;
 
        /*
                }
        }
 
-       if (type & XFS_DQTYPE_USER) {
-               qflag = XFS_UQUOTA_CHKD;
-               blftype = XFS_BLF_UDQUOT_BUF;
-       } else if (type & XFS_DQTYPE_PROJ) {
-               qflag = XFS_PQUOTA_CHKD;
-               blftype = XFS_BLF_PDQUOT_BUF;
-       } else {
-               qflag = XFS_GQUOTA_CHKD;
-               blftype = XFS_BLF_GDQUOT_BUF;
-       }
-
        xfs_trans_dquot_buf(tp, bp, blftype);
 
        /*
 
        struct xfs_dquot        *dqp,
        int                     type)
 {
-       enum quota_type qtype;
+       enum quota_type         qtype;
 
-       if (dqp->dq_flags & XFS_DQTYPE_PROJ)
+       switch (xfs_dquot_type(dqp)) {
+       case XFS_DQTYPE_PROJ:
                qtype = PRJQUOTA;
-       else if (dqp->dq_flags & XFS_DQTYPE_USER)
+               break;
+       case XFS_DQTYPE_USER:
                qtype = USRQUOTA;
-       else
+               break;
+       case XFS_DQTYPE_GROUP:
                qtype = GRPQUOTA;
+               break;
+       default:
+               return;
+       }
 
        quota_send_warning(make_kqid(&init_user_ns, qtype, dqp->q_id),
                           mp->m_super->s_dev, type);