xfs
[Top] [All Lists]

Re: CVS-2.4.22: File system is too large to be mounted on this system

To: Tru Huynh <tru@xxxxxxxxxx>
Subject: Re: CVS-2.4.22: File system is too large to be mounted on this system
From: Eric Sandeen <sandeen@xxxxxxx>
Date: Mon, 22 Sep 2003 08:55:54 -0500 (CDT)
Cc: "linux-xfs@xxxxxxxxxxx" <linux-xfs@xxxxxxxxxxx>
In-reply-to: <20030922101946.A19731@xiii.bis.pasteur.fr>
Sender: linux-xfs-bounce@xxxxxxxxxxx
Nathan recently fixed a bug where the filesystem size check was
incorrect.  It had been been checking the number of filesystem blocks,
rather than the number of sectors in the underlying block device.
He changed it to this:

        if (unlikely(
            (sbp->sb_dblocks << (__uint64_t)(sbp->sb_blocklog - BBSHIFT))
                > INT_MAX ||
            (sbp->sb_rblocks << (__uint64_t)(sbp->sb_blocklog - BBSHIFT))
                > INT_MAX)) {
                cmn_err(CE_WARN,
        "XFS: File system is too large to be mounted on this system.");
                return XFS_ERROR(E2BIG);
        }

however, this restricts the size of the filesystem to 1T, or 
2^31 * 512 bytes.  This is probably safest, as it protects against
any other drivers in the I/O path which may use a signed int for the
sector number offset on the device.

However, if you're sure your underlying block device is 32-bit clean,
change the INT_MAX's above to UINT_MAX in both places, and you should
be good to go.  If you still get the mount error, then your filesystem
probably really is too big for the 32-bit kernel to handle (note that
the 2T limit is a kernel limitation on blockdevice size, not an xfs
limitation).

-Eric



On Mon, 22 Sep 2003, Tru Huynh wrote:

> I have an external IDE-SCSI attachement with 8x 250GB HDs in a RAID5 array.
> Kernel and XFS tools from cvs as of 2003/09/21 on a RedHat 7.3 based
> athlon machine.


<Prev in Thread] Current Thread [Next in Thread>