|
@@ -192,10 +192,13 @@ static void exofs_init_once(void *foo)
|
|
*/
|
|
*/
|
|
static int init_inodecache(void)
|
|
static int init_inodecache(void)
|
|
{
|
|
{
|
|
- exofs_inode_cachep = kmem_cache_create("exofs_inode_cache",
|
|
|
|
|
|
+ exofs_inode_cachep = kmem_cache_create_usercopy("exofs_inode_cache",
|
|
sizeof(struct exofs_i_info), 0,
|
|
sizeof(struct exofs_i_info), 0,
|
|
SLAB_RECLAIM_ACCOUNT | SLAB_MEM_SPREAD |
|
|
SLAB_RECLAIM_ACCOUNT | SLAB_MEM_SPREAD |
|
|
- SLAB_ACCOUNT, exofs_init_once);
|
|
|
|
|
|
+ SLAB_ACCOUNT,
|
|
|
|
+ offsetof(struct exofs_i_info, i_data),
|
|
|
|
+ sizeof_field(struct exofs_i_info, i_data),
|
|
|
|
+ exofs_init_once);
|
|
if (exofs_inode_cachep == NULL)
|
|
if (exofs_inode_cachep == NULL)
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
return 0;
|
|
return 0;
|