[Top] [All Lists]

Re: Initial mount with inode32 option

To: Arkadiusz MiÅkiewicz <arekm@xxxxxxxx>
Subject: Re: Initial mount with inode32 option
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Thu, 24 Jan 2013 21:39:33 +1100
Cc: xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <201301240959.59903.arekm@xxxxxxxx>
References: <51006D3E.6080704@xxxxxx> <20130123232244.GZ27055@xxxxxxx> <20130124001400.GW2498@dastard> <201301240959.59903.arekm@xxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Thu, Jan 24, 2013 at 09:59:59AM +0100, Arkadiusz MiÅkiewicz wrote:
> On Thursday 24 of January 2013, Dave Chinner wrote:
> > which, as you can see, mounts as inode32 just fine. Let's make that
> > a 500g filesystem on the same device:
> > 
> > $ sudo mkfs.xfs -f -l size=131072b,sunit=8 -d size=500g /dev/vdc
> > meta-data=/dev/vdc               isize=256    agcount=4, agsize=32768000
> > blks =                       sectsz=512   attr=2, projid32bit=0 data     =
> >                       bsize=4096   blocks=131072000, imaxpct=25 =         
> >              sunit=0      swidth=0 blks
> > naming   =version 2              bsize=4096   ascii-ci=0
> > log      =internal log           bsize=4096   blocks=131072, version=2
> >          =                       sectsz=512   sunit=1 blks, lazy-count=1
> > realtime =none                   extsz=4096   blocks=0, rtextents=0
> > $ sudo mount -o inode32 /dev/vdc /mnt/scratch
> > $ grep /mnt/scratch /proc/mounts
> > /dev/vdc /mnt/scratch xfs rw,relatime,attr2,inode64,noquota 0 0
> > $
> > 
> > It reports inode64 just like it should - inode32 was ignored because
> > the filesystem is not large enough to create 64 bit inodes, and so
> > is using the inode64 allocation behaviour. It's been like this for
> > 15 years... ;)
> "Will switch" as in when I mount 500GB fs with inode32 option (/proc/mounts 
> shows inode64 as in above example), then I do grow lvm under and do 
> xfs_growfs. Will it magically start reporting inode32 (and using inode32 
> allocator) then?

It is supposed to - there was one flag in the struct xfs_mount m_flags
field for the mount option and another for the actual use of the
if the size of the filesystem warranted it. And growing the
filesystem is supposed to honour the mount option flag when the
inode size boundary is crossed.

I don't know if that was tested when the latest set of changes went
in. I just had a quick look and I suspect it is now broken given
that the xfs_set_inode64() function clears both flags....


Dave Chinner

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