mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
libceph: introduce ceph_pagelist_alloc()
struct ceph_pagelist cannot be embedded into anything else because it has its own refcount. Merge allocation and initialization together. Signed-off-by: Ilya Dryomov <[email protected]>
This commit is contained in:
parent
24639ce560
commit
33165d4723
6 changed files with 28 additions and 26 deletions
|
|
@ -206,10 +206,9 @@ int ceph_pre_init_acls(struct inode *dir, umode_t *mode,
|
|||
tmp_buf = kmalloc(max(val_size1, val_size2), GFP_KERNEL);
|
||||
if (!tmp_buf)
|
||||
goto out_err;
|
||||
pagelist = kmalloc(sizeof(struct ceph_pagelist), GFP_KERNEL);
|
||||
pagelist = ceph_pagelist_alloc(GFP_KERNEL);
|
||||
if (!pagelist)
|
||||
goto out_err;
|
||||
ceph_pagelist_init(pagelist);
|
||||
|
||||
err = ceph_pagelist_reserve(pagelist, PAGE_SIZE);
|
||||
if (err)
|
||||
|
|
|
|||
|
|
@ -3126,10 +3126,9 @@ static void send_mds_reconnect(struct ceph_mds_client *mdsc,
|
|||
|
||||
pr_info("mds%d reconnect start\n", mds);
|
||||
|
||||
pagelist = kmalloc(sizeof(*pagelist), GFP_NOFS);
|
||||
pagelist = ceph_pagelist_alloc(GFP_NOFS);
|
||||
if (!pagelist)
|
||||
goto fail_nopagelist;
|
||||
ceph_pagelist_init(pagelist);
|
||||
|
||||
reply = ceph_msg_new(CEPH_MSG_CLIENT_RECONNECT, 0, GFP_NOFS, false);
|
||||
if (!reply)
|
||||
|
|
|
|||
|
|
@ -951,11 +951,10 @@ static int ceph_sync_setxattr(struct inode *inode, const char *name,
|
|||
|
||||
if (size > 0) {
|
||||
/* copy value into pagelist */
|
||||
pagelist = kmalloc(sizeof(*pagelist), GFP_NOFS);
|
||||
pagelist = ceph_pagelist_alloc(GFP_NOFS);
|
||||
if (!pagelist)
|
||||
return -ENOMEM;
|
||||
|
||||
ceph_pagelist_init(pagelist);
|
||||
err = ceph_pagelist_append(pagelist, value, size);
|
||||
if (err)
|
||||
goto out;
|
||||
|
|
|
|||
Loading…
Reference in a new issue