summaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/suballoc.c
diff options
context:
space:
mode:
authorJoel Becker2008-09-04 05:03:40 +0200
committerMark Fasheh2008-10-14 01:57:08 +0200
commit12462f1d9f0b96389497438dc2730c6f7410be82 (patch)
treed96dec791dd45cc8901dc6a894bdbe96ad7e7c67 /fs/ocfs2/suballoc.c
parentocfs2: Limit inode allocation to 32bits. (diff)
downloadkernel-qcow2-linux-12462f1d9f0b96389497438dc2730c6f7410be82.tar.gz
kernel-qcow2-linux-12462f1d9f0b96389497438dc2730c6f7410be82.tar.xz
kernel-qcow2-linux-12462f1d9f0b96389497438dc2730c6f7410be82.zip
ocfs2: Add the 'inode64' mount option.
Now that ocfs2 limits inode numbers to 32bits, add a mount option to disable the limit. This parallels XFS. 64bit systems can handle the larger inode numbers. [ Added description of inode64 mount option in ocfs2.txt. --Mark ] Signed-off-by: Joel Becker <joel.becker@oracle.com> Signed-off-by: Mark Fasheh <mfasheh@suse.com>
Diffstat (limited to 'fs/ocfs2/suballoc.c')
-rw-r--r--fs/ocfs2/suballoc.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/ocfs2/suballoc.c b/fs/ocfs2/suballoc.c
index 213bdca16fe4..d7a6f928c317 100644
--- a/fs/ocfs2/suballoc.c
+++ b/fs/ocfs2/suballoc.c
@@ -601,9 +601,10 @@ int ocfs2_reserve_new_inode(struct ocfs2_super *osb,
/*
* stat(2) can't handle i_ino > 32bits, so we tell the
* lower levels not to allocate us a block group past that
- * limit.
+ * limit. The 'inode64' mount option avoids this behavior.
*/
- (*ac)->ac_max_block = (u32)~0U;
+ if (!(osb->s_mount_opt & OCFS2_MOUNT_INODE64))
+ (*ac)->ac_max_block = (u32)~0U;
/*
* slot is set when we successfully steal inode from other nodes.