*/
        if (dqp->q_blkno == (xfs_daddr_t) 0) {
                /* We use the id as an index */
-               dqp->q_fileoffset = (xfs_fileoff_t) ((uint)id /
-                                                    XFS_QM_DQPERBLK(mp));
+               dqp->q_fileoffset = (xfs_fileoff_t)id / XFS_QM_DQPERBLK(mp);
                nmaps = 1;
                quotip = XFS_DQ_TO_QIP(dqp);
                xfs_ilock(quotip, XFS_ILOCK_SHARED);
 
        vfsp = bhvtovfs(bdp);
        mp = XFS_VFSTOM(vfsp);
 
-       if (addr == NULL && cmd != Q_SYNC)
-               return XFS_ERROR(EINVAL);
-       if (id < 0 && cmd != Q_SYNC)
-               return XFS_ERROR(EINVAL);
+       ASSERT(addr != NULL);
 
        /*
         * The following commands are valid even when quotaoff.
                /*
                 * Truncate quota files. quota must be off.
                 */
-               if (XFS_IS_QUOTA_ON(mp) || addr == NULL)
+               if (XFS_IS_QUOTA_ON(mp))
                        return XFS_ERROR(EINVAL);
                if (vfsp->vfs_flag & VFS_RDONLY)
                        return XFS_ERROR(EROFS);
                 * QUOTAON - enabling quota enforcement.
                 * Quota accounting must be turned on at mount time.
                 */
-               if (addr == NULL)
-                       return XFS_ERROR(EINVAL);
                if (vfsp->vfs_flag & VFS_RDONLY)
                        return XFS_ERROR(EROFS);
                return (xfs_qm_scall_quotaon(mp,
 
  * uid_t and gid_t are hard-coded to 32 bits in the inode.
  * Hence, an 'id' in a dquot is 32 bits..
  */
-typedef __int32_t      xfs_dqid_t;
+typedef __uint32_t     xfs_dqid_t;
 
 /*
  * Eventhough users may not have quota limits occupying all 64-bits,