Re: Max theoretical XFS filesystem size in review

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Mar 15, 2024 at 02:48:27AM +0000, Matthew Wilcox wrote:
> On Fri, Mar 15, 2024 at 12:14:05PM +1100, Dave Chinner wrote:
> > On Thu, Mar 14, 2024 at 05:12:22PM -0700, Luis Chamberlain wrote:
> > > Joining two 8 EB files with device-mapper seems allowed:
> > > 
> > > truncate -s 8EB /mnt-pmem/sparse-8eb.1; losetup /dev/loop1 /mnt-pmem/sparse-8eb.1
> > > truncate -s 8EB /mnt-pmem/sparse-8eb.2; losetup /dev/loop2 /mnt-pmem/sparse-8eb.2
> > > 
> > > cat /home/mcgrof/dm-join-multiple.sh 
> > > #!/bin/sh
> > > # Join multiple devices with the same size in a linear form
> > > # We assume the same size for simplicity
> > > set -e
> > > size=`blockdev --getsz $1`
> > > FILE=$(mktemp)
> > > for i in $(seq 1 $#) ; do
> > >         offset=$(( ($i -1)  * $size))
> > > 	echo "$offset $size linear $1 0" >> $FILE
> > > 	shift
> > > done
> > > cat $FILE | dmsetup create joined
> > > rm -f $FILE
> > > 
> > > /home/mcgrof/dm-join-multiple.sh /dev/loop1 /dev/loop2
> > > 
> > > And mkfs.xfs seems to go through on them, ie, its not rejected
> > 
> > Ah, I think mkfs.xfs has a limit of 8EiB on image files, maybe not
> > on block devices. What's the actual limit of block device size on
> > Linux?
> 
> We can't seek past 2^63-1.  That's the limit on lseek, llseek, lseek64
> or whatever we're calling it these days.  If we're missing a check
> somewhere, that's a bug.

Thanks, I can send fixes, just wanted to review some of these things
with the community to explore what a big fat linux block device or
filesystem might be constrained to, if any. The fact that through this
discussion we're uncovering perhaps some missing checks is already
useful. I'll try to document some of it.

  Luis




[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux