summaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/localalloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ocfs2/localalloc.c')
-rw-r--r--fs/ocfs2/localalloc.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/fs/ocfs2/localalloc.c b/fs/ocfs2/localalloc.c
index f03674afbd30..158e5af767fd 100644
--- a/fs/ocfs2/localalloc.c
+++ b/fs/ocfs2/localalloc.c
@@ -424,12 +424,11 @@ void ocfs2_shutdown_local_alloc(struct ocfs2_super *osb)
424 bh = osb->local_alloc_bh; 424 bh = osb->local_alloc_bh;
425 alloc = (struct ocfs2_dinode *) bh->b_data; 425 alloc = (struct ocfs2_dinode *) bh->b_data;
426 426
427 alloc_copy = kmalloc(bh->b_size, GFP_NOFS); 427 alloc_copy = kmemdup(alloc, bh->b_size, GFP_NOFS);
428 if (!alloc_copy) { 428 if (!alloc_copy) {
429 status = -ENOMEM; 429 status = -ENOMEM;
430 goto out_commit; 430 goto out_commit;
431 } 431 }
432 memcpy(alloc_copy, alloc, bh->b_size);
433 432
434 status = ocfs2_journal_access_di(handle, INODE_CACHE(local_alloc_inode), 433 status = ocfs2_journal_access_di(handle, INODE_CACHE(local_alloc_inode),
435 bh, OCFS2_JOURNAL_ACCESS_WRITE); 434 bh, OCFS2_JOURNAL_ACCESS_WRITE);
@@ -1272,13 +1271,12 @@ static int ocfs2_local_alloc_slide_window(struct ocfs2_super *osb,
1272 * local alloc shutdown won't try to double free main bitmap 1271 * local alloc shutdown won't try to double free main bitmap
1273 * bits. Make a copy so the sync function knows which bits to 1272 * bits. Make a copy so the sync function knows which bits to
1274 * free. */ 1273 * free. */
1275 alloc_copy = kmalloc(osb->local_alloc_bh->b_size, GFP_NOFS); 1274 alloc_copy = kmemdup(alloc, osb->local_alloc_bh->b_size, GFP_NOFS);
1276 if (!alloc_copy) { 1275 if (!alloc_copy) {
1277 status = -ENOMEM; 1276 status = -ENOMEM;
1278 mlog_errno(status); 1277 mlog_errno(status);
1279 goto bail; 1278 goto bail;
1280 } 1279 }
1281 memcpy(alloc_copy, alloc, osb->local_alloc_bh->b_size);
1282 1280
1283 status = ocfs2_journal_access_di(handle, 1281 status = ocfs2_journal_access_di(handle,
1284 INODE_CACHE(local_alloc_inode), 1282 INODE_CACHE(local_alloc_inode),