diff options
Diffstat (limited to 'fs/ocfs2/localalloc.c')
-rw-r--r-- | fs/ocfs2/localalloc.c | 6 |
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), |