On Thu, Feb 27, 2014 at 02:11:19PM -0700, Chris Murphy wrote: > > On Feb 27, 2014, at 1:49 PM, otakujunct...@gmail.com wrote: > > > Yes it's an ancient 32 bit machine. There must be a complex bug > > involved as the system, when originally mounted, claimed the > > correct free space and only as used over time did the > > discrepancy between used and free grow. I'm afraid I chose > > btrfs because it appeared capable of breaking the 16 tera limit > > on a 32 bit system. If this isn't the case then it's incredible > > that I've been using this file system for about a year without > > difficulty until now. > > Yep, it's not a good bug. This happened some years ago on XFS too, > where people would use the file system for a long time and then at > 16TB+1byte written to the volume, kablewy! And then it wasn't > usable at all, until put on a 64-bit kernel. > > http://oss.sgi.com/pipermail/xfs/2014-February/034588.html
Well, no, that's not what I said. I said that it was limited on XFS, not that the limit was a result of a user making a filesystem too large and then finding out it didn't work. Indeed, you can't do that on XFS - mkfs will refuse to run on a block device it can't access the last block on, and the kernel has the same "can I access the last block of the filesystem" sanity checks that are run at mount and growfs time. IOWs, XFS has *never* allowed >16TB on 32 bit systems on Linux. And, historically speaking, it didn't even allow it on Irix. Irix on 32 bit systems was limited to 1TB (2^31 sectors of 2^9 bytes = 1TB), and only as Linux gained sufficient capability on 32 bit systems (e.g. CONFIG_LBD) was the limit increased. The limit we are now at is the address space index being 32 bits, so the size is limited by 2^32 * PAGE_SIZE = 2^44 = 16TB.... i.e Back when XFS was still being ported to Linux from Irix in 2000: 203 #if !XFS_BIG_FILESYSTEMS 204 if (sbp->sb_dblocks > INT_MAX || sbp->sb_rblocks > INT_MAX) { 205 cmn_err(CE_WARN, 206 "XFS: File systems greater than 1TB not supported on this system.\n"); 207 return XFS_ERROR(E2BIG); 208 } 209 #endif (http://oss.sgi.com/cgi-bin/gitweb.cgi?p=archive/xfs-import.git;a=blob;f=fs/xfs/xfs_mount.c;hb=60a4726a60437654e2af369ccc8458376e1657b9) So, good story, but is not true. Cheers, Dave. -- Dave Chinner da...@fromorbit.com -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html