|
@@ -1466,11 +1466,14 @@ static void init_once(void *foo)
|
|
|
|
|
|
static int __init init_inodecache(void)
|
|
static int __init init_inodecache(void)
|
|
{
|
|
{
|
|
- ufs_inode_cachep = kmem_cache_create("ufs_inode_cache",
|
|
|
|
- sizeof(struct ufs_inode_info),
|
|
|
|
- 0, (SLAB_RECLAIM_ACCOUNT|
|
|
|
|
- SLAB_MEM_SPREAD|SLAB_ACCOUNT),
|
|
|
|
- init_once);
|
|
|
|
|
|
+ ufs_inode_cachep = kmem_cache_create_usercopy("ufs_inode_cache",
|
|
|
|
+ sizeof(struct ufs_inode_info), 0,
|
|
|
|
+ (SLAB_RECLAIM_ACCOUNT|SLAB_MEM_SPREAD|
|
|
|
|
+ SLAB_ACCOUNT),
|
|
|
|
+ offsetof(struct ufs_inode_info, i_u1.i_symlink),
|
|
|
|
+ sizeof_field(struct ufs_inode_info,
|
|
|
|
+ i_u1.i_symlink),
|
|
|
|
+ init_once);
|
|
if (ufs_inode_cachep == NULL)
|
|
if (ufs_inode_cachep == NULL)
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
return 0;
|
|
return 0;
|