[Ocfs2-tools-devel] [PATCH 5/5] Deny block32 for device size in blocks > UINT32_MAX

Goldwyn Rodrigues rgoldwyn at gmail.com
Tue Jan 17 12:10:22 PST 2012


Signed-off-by: Michal Srb <msrb at suse.com>
Signed-off-by: Goldwyn Rodrigues <rgoldwyn at suse.de>
---
 tunefs.ocfs2/op_set_journal_block.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/tunefs.ocfs2/op_set_journal_block.c
b/tunefs.ocfs2/op_set_journal_block.c
index 266e47e..33d5451 100644
--- a/tunefs.ocfs2/op_set_journal_block.c
+++ b/tunefs.ocfs2/op_set_journal_block.c
@@ -34,6 +34,15 @@ static int set_journal_block32_run(struct
tunefs_operation *op,
 	int rc = 0;
 	ocfs2_fs_options mask, options;

+	if (fs->fs_blocks > UINT32_MAX) {
+		tcom_err(TUNEFS_ET_OPERATION_FAILED,
+			"; cannot enable block32 journal feature on "
+			"device \"%s\" having more that %u blocks",
+			fs->fs_devname, UINT32_MAX);
+		rc = 1;
+		goto out;
+	}
+
 	memset(&mask, 0, sizeof(ocfs2_fs_options));
 	memset(&options, 0, sizeof(ocfs2_fs_options));
 	mask.opt_incompat |= JBD2_FEATURE_INCOMPAT_64BIT;
-- 
1.7.7



More information about the Ocfs2-tools-devel mailing list