struct kobject          *kobject,
        char                    *buf)
 {
-       return snprintf(buf, PAGE_SIZE, "%d\n", xfs_globals.bug_on_assert ? 1 : 0);
+       return sysfs_emit(buf, "%d\n", xfs_globals.bug_on_assert);
 }
 XFS_SYSFS_ATTR_RW(bug_on_assert);
 
        struct kobject  *kobject,
        char            *buf)
 {
-       return snprintf(buf, PAGE_SIZE, "%d\n", xfs_globals.log_recovery_delay);
+       return sysfs_emit(buf, "%d\n", xfs_globals.log_recovery_delay);
 }
 XFS_SYSFS_ATTR_RW(log_recovery_delay);
 
        struct kobject  *kobject,
        char            *buf)
 {
-       return snprintf(buf, PAGE_SIZE, "%d\n", xfs_globals.mount_delay);
+       return sysfs_emit(buf, "%d\n", xfs_globals.mount_delay);
 }
 XFS_SYSFS_ATTR_RW(mount_delay);
 
        struct kobject  *kobject,
        char            *buf)
 {
-       return snprintf(buf, PAGE_SIZE, "%d\n", xfs_globals.always_cow);
+       return sysfs_emit(buf, "%d\n", xfs_globals.always_cow);
 }
 XFS_SYSFS_ATTR_RW(always_cow);
 
        struct kobject  *kobject,
        char            *buf)
 {
-       return snprintf(buf, PAGE_SIZE, "%d\n", xfs_globals.pwork_threads);
+       return sysfs_emit(buf, "%d\n", xfs_globals.pwork_threads);
 }
 XFS_SYSFS_ATTR_RW(pwork_threads);
 #endif /* DEBUG */
        block = log->l_curr_block;
        spin_unlock(&log->l_icloglock);
 
-       return snprintf(buf, PAGE_SIZE, "%d:%d\n", cycle, block);
+       return sysfs_emit(buf, "%d:%d\n", cycle, block);
 }
 XFS_SYSFS_ATTR_RO(log_head_lsn);
 
        struct xlog *log = to_xlog(kobject);
 
        xlog_crack_atomic_lsn(&log->l_tail_lsn, &cycle, &block);
-       return snprintf(buf, PAGE_SIZE, "%d:%d\n", cycle, block);
+       return sysfs_emit(buf, "%d:%d\n", cycle, block);
 }
 XFS_SYSFS_ATTR_RO(log_tail_lsn);
 
        struct xlog *log = to_xlog(kobject);
 
        xlog_crack_grant_head(&log->l_reserve_head.grant, &cycle, &bytes);
-       return snprintf(buf, PAGE_SIZE, "%d:%d\n", cycle, bytes);
+       return sysfs_emit(buf, "%d:%d\n", cycle, bytes);
 }
 XFS_SYSFS_ATTR_RO(reserve_grant_head);
 
        struct xlog *log = to_xlog(kobject);
 
        xlog_crack_grant_head(&log->l_write_head.grant, &cycle, &bytes);
-       return snprintf(buf, PAGE_SIZE, "%d:%d\n", cycle, bytes);
+       return sysfs_emit(buf, "%d:%d\n", cycle, bytes);
 }
 XFS_SYSFS_ATTR_RO(write_grant_head);
 
        else
                retries = cfg->max_retries;
 
-       return snprintf(buf, PAGE_SIZE, "%d\n", retries);
+       return sysfs_emit(buf, "%d\n", retries);
 }
 
 static ssize_t
        else
                timeout = jiffies_to_msecs(cfg->retry_timeout) / MSEC_PER_SEC;
 
-       return snprintf(buf, PAGE_SIZE, "%d\n", timeout);
+       return sysfs_emit(buf, "%d\n", timeout);
 }
 
 static ssize_t
 {
        struct xfs_mount        *mp = err_to_mp(kobject);
 
-       return snprintf(buf, PAGE_SIZE, "%d\n", mp->m_fail_unmount);
+       return sysfs_emit(buf, "%d\n", mp->m_fail_unmount);
 }
 
 static ssize_t