XFS_STATS_INC(mp, xs_try_logspace);
 
        ASSERT(*ticp == NULL);
-       tic = xlog_ticket_alloc(log, unit_bytes, cnt, client, permanent, 0);
+       tic = xlog_ticket_alloc(log, unit_bytes, cnt, client, permanent);
        *ticp = tic;
 
        xlog_grant_push_ail(log, tic->t_cnt ? tic->t_unit_res * tic->t_cnt
        int                     unit_bytes,
        int                     cnt,
        char                    client,
-       bool                    permanent,
-       xfs_km_flags_t          alloc_flags)
+       bool                    permanent)
 {
        struct xlog_ticket      *tic;
        int                     unit_res;
 
-       tic = kmem_zone_zalloc(xfs_log_ticket_zone, alloc_flags);
-       if (!tic)
-               return NULL;
+       tic = kmem_cache_zalloc(xfs_log_ticket_zone, GFP_NOFS | __GFP_NOFAIL);
 
        unit_res = xfs_log_calc_unit_res(log->l_mp, unit_bytes);
 
 
 {
        struct xlog_ticket *tic;
 
-       tic = xlog_ticket_alloc(log, 0, 1, XFS_TRANSACTION, 0,
-                               KM_NOFS);
+       tic = xlog_ticket_alloc(log, 0, 1, XFS_TRANSACTION, 0);
 
        /*
         * set the current reservation to zero so we know to steal the basic
 
        int             unit_bytes,
        int             count,
        char            client,
-       bool            permanent,
-       xfs_km_flags_t  alloc_flags);
-
+       bool            permanent);
 
 static inline void
 xlog_write_adv_cnt(void **ptr, int *len, int *off, size_t bytes)