#define CE_ALERT        1               /* alert        */
 #define CE_PANIC        0               /* panic        */
 
-extern void icmn_err(int, char *, va_list);
-/* PRINTFLIKE2 */
-extern void cmn_err(int, char *, ...);
+extern void icmn_err(int, char *, va_list)
+       __attribute__ ((format (printf, 2, 0)));
+extern void cmn_err(int, char *, ...)
+       __attribute__ ((format (printf, 2, 3)));
 
 #ifndef STATIC
 # define STATIC static
 
                xfs_trans_brelse(NULL, bp);
 error_norelse:
        cmn_err(CE_WARN, "%s: BAD after btree leaves for %d extents",
-               i, __FUNCTION__);
+               __FUNCTION__, i);
        panic("%s: CORRUPTED BTREE OR SOMETHING", __FUNCTION__);
        return;
 }
 
        agino = XFS_INO_TO_AGINO(mp, inode);
        if (inode != XFS_AGINO_TO_INO(mp, agno, agino))  {
                cmn_err(CE_WARN,
-                       "xfs_difree: inode != XFS_AGINO_TO_INO() (%d != %d) on %s.  Returning EINVAL.",
-                       inode, XFS_AGINO_TO_INO(mp, agno, agino), mp->m_fsname);
+                       "xfs_difree: inode != XFS_AGINO_TO_INO() "
+                       "(%llu != %llu) on %s.  Returning EINVAL.",
+                       (unsigned long long)inode,
+                       (unsigned long long)XFS_AGINO_TO_INO(mp, agno, agino),
+                       mp->m_fsname);
                ASSERT(0);
                return XFS_ERROR(EINVAL);
        }
 
        if ((imap.im_blkno + imap.im_len) >
            XFS_FSB_TO_BB(mp, mp->m_sb.sb_dblocks)) {
                cmn_err(CE_WARN,
-       "xfs_inotobp: inode number (%d + %d) maps to a block outside the bounds "
+       "xfs_inotobp: inode number (%llu + %d) maps to a block outside the bounds "
        "of the file system %s.  Returning EINVAL.",
-                       imap.im_blkno, imap.im_len,mp->m_fsname);
+                       (unsigned long long)imap.im_blkno,
+                       imap.im_len, mp->m_fsname);
                return XFS_ERROR(EINVAL);
        }
 
 
                        }
                }
                if (clientid != XFS_TRANSACTION && clientid != XFS_LOG)
-                       cmn_err(CE_WARN, "xlog_verify_iclog: invalid clientid %d op 0x%p offset 0x%x", clientid, ophead, field_offset);
+                       cmn_err(CE_WARN, "xlog_verify_iclog: "
+                               "invalid clientid %d op 0x%p offset 0x%lx",
+                               clientid, ophead, (unsigned long)field_offset);
 
                /* check length */
                field_offset = (__psint_t)
 
                "XFS: Attempted to mount file system with blocksize %d bytes",
                        sbp->sb_blocksize);
                cmn_err(CE_WARN,
-               "XFS: Only page-sized (%d) or less blocksizes currently work.",
+               "XFS: Only page-sized (%ld) or less blocksizes currently work.",
                        PAGE_SIZE);
                return XFS_ERROR(ENOSYS);
        }
 
 {
        cmn_err(CE_ALERT,
  "I/O error in filesystem (\"%s\") meta-data dev %s block 0x%llx"
- "       (\"%s\") error %d buf count %u",
+ "       (\"%s\") error %d buf count %zd",
                (!mp || !mp->m_fsname) ? "(fs name not set)" : mp->m_fsname,
                XFS_BUFTARG_NAME(bp->pb_target),
                (__uint64_t)blkno,