static void xfs_fs_vcmn_err(int level, xfs_mount_t *mp, char *fmt, va_list ap) { if (mp != NULL) { char *newfmt; int len = 16 + mp->m_fsname_len + strlen(fmt); newfmt = kmem_alloc(len, KM_SLEEP); sprintf(newfmt, "Filesystem \"%s\": %s", mp->m_fsname, fmt); icmn_err(level, newfmt, ap); kmem_free(newfmt, len); } else { icmn_err(level, fmt, ap); } }
/* gcc 3.4.3 can't handle inlining with variable argument list */ __IRIX_EXTERN void cmn_err_tag(int sequence, int err_lvl, const char *fmt, ... /* args */ ) { va_list args; va_start(args, fmt); icmn_err(err_lvl, fmt, args); va_end(args); return; }