|
@@ -220,11 +220,13 @@ static void init_once(void *foo)
|
|
|
|
|
|
|
|
static int __init init_inodecache(void)
|
|
static int __init init_inodecache(void)
|
|
|
{
|
|
{
|
|
|
- ext2_inode_cachep = kmem_cache_create("ext2_inode_cache",
|
|
|
|
|
- sizeof(struct ext2_inode_info),
|
|
|
|
|
- 0, (SLAB_RECLAIM_ACCOUNT|
|
|
|
|
|
- SLAB_MEM_SPREAD|SLAB_ACCOUNT),
|
|
|
|
|
- init_once);
|
|
|
|
|
|
|
+ ext2_inode_cachep = kmem_cache_create_usercopy("ext2_inode_cache",
|
|
|
|
|
+ sizeof(struct ext2_inode_info), 0,
|
|
|
|
|
+ (SLAB_RECLAIM_ACCOUNT|SLAB_MEM_SPREAD|
|
|
|
|
|
+ SLAB_ACCOUNT),
|
|
|
|
|
+ offsetof(struct ext2_inode_info, i_data),
|
|
|
|
|
+ sizeof_field(struct ext2_inode_info, i_data),
|
|
|
|
|
+ init_once);
|
|
|
if (ext2_inode_cachep == NULL)
|
|
if (ext2_inode_cachep == NULL)
|
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
|
return 0;
|
|
return 0;
|