[Ocfs2-tools-devel] [PATCH] libocfs2: ocfs2_image_alloc_bitmap bug on handling ocfs2_malloc_blocks error code

Norton.Zhu norton.zhu at huawei.com
Sat Aug 29 00:48:31 PDT 2015


If malloc allocsize bitmap failed, it should try to malloc half of the allocsize.
ocfs2_image_alloc_bitmap had convert ENOMEM to OCFS2_ET_NO_MEMORY, so we have to
compare ret with OCFS2_ET_NO_MEMORY not -ENOMEM.
Signed-off-by: Norton.Zhu <norton.zhu at huawei.com>
---
 libocfs2/image.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libocfs2/image.c b/libocfs2/image.c
index 41d1a53..97bf689 100644
--- a/libocfs2/image.c
+++ b/libocfs2/image.c
@@ -115,10 +115,10 @@ errcode_t ocfs2_image_alloc_bitmap(ocfs2_filesys *ofs)
 		ret = ocfs2_malloc_blocks(ofs->fs_io,
 					  allocsize/io_get_blksize(ofs->fs_io),
 					  &buf);
-		if (ret && (ret != -ENOMEM))
+		if (ret && (ret != OCFS2_ET_NO_MEMORY))
 			goto out;

-		if (ret == -ENOMEM) {
+		if (ret == OCFS2_ET_NO_MEMORY) {
 			if (allocsize == OCFS2_IMAGE_BITMAP_BLOCKSIZE)
 				goto out;
 			allocsize >>= 1;
-- 
1.8.4.3




More information about the Ocfs2-tools-devel mailing list