#define TRACE_FREE(mp, ip, pip, ag, cnt)
#define TRACE_LOOKUP(mp, ip, pip, ag, cnt)
-static kmem_zone_t *item_zone;
-
struct xfs_fstrm_item {
struct xfs_mru_cache_elem mru;
struct xfs_inode *ip;
TRACE_FREE(mp, ip, NULL, item->ag,
xfs_filestream_peek_ag(mp, item->ag));
- kmem_zone_free(item_zone, item);
+ kmem_free(item);
}
/*
return 0;
err = ENOMEM;
- item = kmem_zone_zalloc(item_zone, KM_MAYFAIL);
+ item = kmem_alloc(sizeof(*item), KM_MAYFAIL);
if (!item)
goto out_put_ag;
return 0;
out_free_item:
- kmem_zone_free(item_zone, item);
+ kmem_free(item);
out_put_ag:
xfs_filestream_put_ag(mp, *agp);
return err;
{
xfs_mru_cache_destroy(mp->m_filestream);
}
-
-
-/* needs to return a positive errno for the init path */
-int
-xfs_filestream_init(void)
-{
- item_zone = kmem_zone_init(sizeof(struct xfs_fstrm_item), "fstrm_item");
- if (!item_zone)
- return -ENOMEM;
- return 0;
-}
-
-void
-xfs_filestream_uninit(void)
-{
- kmem_zone_destroy(item_zone);
-}
struct xfs_inode;
struct xfs_bmalloca;
-int xfs_filestream_init(void);
-void xfs_filestream_uninit(void);
int xfs_filestream_mount(struct xfs_mount *mp);
void xfs_filestream_unmount(struct xfs_mount *mp);
void xfs_filestream_deassociate(struct xfs_inode *ip);
if (error)
goto out_destroy_wq;
- error = xfs_filestream_init();
- if (error)
- goto out_mru_cache_uninit;
-
error = xfs_buf_init();
if (error)
- goto out_filestream_uninit;
+ goto out_mru_cache_uninit;
error = xfs_init_procfs();
if (error)
xfs_cleanup_procfs();
out_buf_terminate:
xfs_buf_terminate();
- out_filestream_uninit:
- xfs_filestream_uninit();
out_mru_cache_uninit:
xfs_mru_cache_uninit();
out_destroy_wq:
xfs_sysctl_unregister();
xfs_cleanup_procfs();
xfs_buf_terminate();
- xfs_filestream_uninit();
xfs_mru_cache_uninit();
xfs_destroy_workqueues();
xfs_destroy_zones();