Skip to contentSkip to conversation

different log info for mkfs.xfs and xfs_growfs

DISCUSSION Wengang Wang 2 participants 3 messages Apr 17, 2010 – Apr 19, 2010

lore
Share & tools
lore
#0 lore raw

Hi experts,

I just noticed that the log info is different for mkfs.xfs and xfs_growfs.

[root@desk test-xfsprogs]# mkfs.xfs -llogdev=/dev/sda11,size=32768b /dev/sda10 -f
meta-data=/dev/sda10 isize=256 agcount=4, agsize=1250558
blks

         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=5002231, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =/dev/sda11             bsize=4096   blocks=32768, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=0
realtime =none                   extsz=4096   blocks=0, rtextents=0

[root@desk test-xfsprogs]# mount -ologdev=/dev/sda11 /dev/sda10 /xfs [root@desk test-xfsprogs]# xfs_growfs -n /xfs
meta-data=/dev/sda10 isize=256 agcount=4, agsize=1250558
blks

         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=5002231, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =external               bsize=4096   blocks=32768, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=0
realtime =none                   extsz=4096   blocks=0, rtextents=0

So xfs_growfs is simply reporting external.

Why there is such a difference? And how get to know the log device name after it is mounted?

It's 3.0.0 of xfsprogs. I failed to test with upstream because of the comlilation error:
[wwg@desk xfsprogs.git]$ make
Building include
Building libxfs

    [DEP]

/usr/bin/makedepend: warning: ignoring option -Wall /usr/bin/makedepend: error: cannot open "no-strict-aliasing"
[LD] libxfs.la
libtool: link: only absolute run-paths are allowed gmake[2]: *** [libxfs.la] Error 1
gmake[1]: *** [libxfs] Error 2
make: *** [default] Error 2

regards,
wengang.

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs

#1 lore raw
Quoted 28 lines · Wengang Wang

Hi experts,

I just noticed that the log info is different for mkfs.xfs and xfs_growfs.

[root@desk test-xfsprogs]# mkfs.xfs -llogdev=/dev/sda11,size=32768b /dev/sda10 -f
meta-data=/dev/sda10 isize=256 agcount=4, agsize=1250558
blks

         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=5002231, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =/dev/sda11             bsize=4096   blocks=32768, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=0
realtime =none                   extsz=4096   blocks=0, rtextents=0

[root@desk test-xfsprogs]# mount -ologdev=/dev/sda11 /dev/sda10 /xfs [root@desk test-xfsprogs]# xfs_growfs -n /xfs
meta-data=/dev/sda10 isize=256 agcount=4, agsize=1250558
blks

         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=5002231, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =external               bsize=4096   blocks=32768, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=0
realtime =none                   extsz=4096   blocks=0, rtextents=0
Quoted 1 line

So xfs_growfs is simply reporting external.

The devicename isn't stored in the superblock, so growfs can't get it via the XFS_IOC_FSGEOMETRY ioctl.

Quoted 2 lines

Why there is such a difference? And how get to know the log device name after it is mounted?

/etc/mtab? :)

The UUID of the filesystem can be found in the log device after mkfs, but xfs is also perfectly happy with a completely zeroed-out log device (after a clean unmount).

Quoted 5 lines

It's 3.0.0 of xfsprogs. I failed to test with upstream because of the comlilation error:
[wwg@desk xfsprogs.git]$ make
Building include
Building libxfs

Quoted 8 lines
    [DEP]

/usr/bin/makedepend: warning: ignoring option -Wall /usr/bin/makedepend: error: cannot open "no-strict-aliasing"
[LD] libxfs.la
libtool: link: only absolute run-paths are allowed gmake[2]: *** [libxfs.la] Error 1
gmake[1]: *** [libxfs] Error 2
make: *** [default] Error 2

I think I saw this once but it went away; does a make realclean fix it up for you - or was this a pristine git tree?

-Eric

Quoted 8 lines

regards,
wengang.

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs

#2 lore raw
Quoted 34 lines · Eric Sandeen
Quoted 28 lines · Wengang Wang

Hi experts,

I just noticed that the log info is different for mkfs.xfs and xfs_growfs.

[root@desk test-xfsprogs]# mkfs.xfs -llogdev=/dev/sda11,size=32768b /dev/sda10 -f
meta-data=/dev/sda10 isize=256 agcount=4, agsize=1250558
blks

         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=5002231, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =/dev/sda11             bsize=4096   blocks=32768, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=0
realtime =none                   extsz=4096   blocks=0, rtextents=0

[root@desk test-xfsprogs]# mount -ologdev=/dev/sda11 /dev/sda10 /xfs [root@desk test-xfsprogs]# xfs_growfs -n /xfs
meta-data=/dev/sda10 isize=256 agcount=4, agsize=1250558
blks

         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=5002231, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =external               bsize=4096   blocks=32768, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=0
realtime =none                   extsz=4096   blocks=0, rtextents=0
Quoted 1 line

So xfs_growfs is simply reporting external.

The devicename isn't stored in the superblock, so growfs can't get it via the XFS_IOC_FSGEOMETRY ioctl.

Quoted 8 lines
Quoted 2 lines

Why there is such a difference? And how get to know the log device name after it is mounted?

/etc/mtab? :)

The UUID of the filesystem can be found in the log device after mkfs, but xfs is also perfectly happy with a completely zeroed-out log device (after a clean unmount).

Ok. I got.

Quoted 14 lines
Quoted 5 lines

It's 3.0.0 of xfsprogs. I failed to test with upstream because of the comlilation error:
[wwg@desk xfsprogs.git]$ make
Building include
Building libxfs

Quoted 8 lines
    [DEP]

/usr/bin/makedepend: warning: ignoring option -Wall /usr/bin/makedepend: error: cannot open "no-strict-aliasing"
[LD] libxfs.la
libtool: link: only absolute run-paths are allowed gmake[2]: *** [libxfs.la] Error 1
gmake[1]: *** [libxfs] Error 2
make: *** [default] Error 2

Quoted 2 lines

I think I saw this once but it went away; does a make realclean fix it up for you - or was this a pristine git tree?

Yes, realclean works.

Thanks for the explanations!

regards,
wengang.

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs