mkfs.xfs with a 9TB realtime volume hangs

Jan Wagner jwagner at kurp.hut.fi
Fri Nov 14 04:41:28 CST 2008


Hi,

I have a RAID0 with 11x750GB+1x1TB components in the following 
partitionable-md test setup

root at abidal:~# cat /proc/partitions | grep md
  254     0 9035047936 md_d0
  254     1     124983 md_d0p1
  254     2    1828125 md_d0p2
  254     3    1953125 md_d0p3
  254     4 9031141669 md_d0p4

Essentially, four partitions: 128MB, ~1.9GB, 2GB, 9TB. I'd like to use the 
1.9GB partition for xfs and put a realtime subvolume onto the same raid0 
onto the 9TB partition. The partition tables are GDT instead of MBR to be 
able to have >=2TB partitions.

When I create xfs with realtime subvolume on the 2GB partition all is 
fine:

root at abidal:~# mkfs.xfs -f -d su=1024k,sw=12 -r rtdev=/dev/md_d0p3 /dev/md_d0p2
log stripe unit (1048576 bytes) is too large (maximum is 256KiB)
log stripe unit adjusted to 32KiB
meta-data=/dev/md_d0p2           isize=256    agcount=4, agsize=114432 
blks
          =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=457031, imaxpct=25
          =                       sunit=256    swidth=3072 blks
naming   =version 2              bsize=4096
log      =internal log           bsize=4096   blocks=2560, version=2
          =                       sectsz=512   sunit=8 blks, lazy-count=0
realtime =/dev/md_d0p3           extsz=4096   blocks=488281, rtextents=488281

When I try the same but place the realtime subvolume on the 9TB partition 
the mkfs.xfs hangs indefinitely with 100% CPU:

root at abidal:~# mkfs.xfs -f -d su=1024k,sw=12 -r rtdev=/dev/md_d0p4 /dev/md_d0p2
log stripe unit (1048576 bytes) is too large (maximum is 256KiB)
log stripe unit adjusted to 32KiB
meta-data=/dev/md_d0p2           isize=256    agcount=4, agsize=114432 
blks
          =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=457031, imaxpct=25
          =                       sunit=256    swidth=3072 blks
naming   =version 2              bsize=4096
log      =internal log           bsize=4096   blocks=2560, version=2
          =                       sectsz=512   sunit=8 blks, lazy-count=0
realtime =/dev/md_d0p4           extsz=4096   blocks=2257785417, rtextents=2257785417
(hangs...)

When I run strace on the first, it completes with
...
pwrite(4, "IABT\0\0\0\0\377\377\377\377\377\377\377\377\0\0\0\0\0"..., 
4096, 468725760) = 4096
pwrite(4, "XAGI\0\0\0\1\0\0\0\1\0\1\277\0\0\0\0\0\0\0\0\3\0\0\0\1"..., 
512, 468714496) = 512
pread(4, "XFSB\0\0\20\0\0\0\0\0\0\6\371G\0\0\0\0\0\7sY\0\0\0\0\0"..., 512, 
0) = 512
pwrite(4, "XFSB\0\0\20\0\0\0\0\0\0\6\371G\0\0\0\0\0\7sY\0\0\0\0\0"..., 
512, 0) = 512
fsync(5)                                = 0
ioctl(5, BLKFLSBUF, 0)                  = 0
close(5)                                = 0
fsync(4)                                = 0
ioctl(4, BLKFLSBUF, 0)                  = 0
close(4)                                = 0
exit_group(0)                           = ?

When I run strace on the latter mkfs.xfs it is reading for hours

pread(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 
4096, 7802880) = 4096
brk(0x1667000)                          = 0x1667000
pread(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 
4096, 7806976) = 4096
pread(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 
4096, 7811072) = 4096
....

Any ideas?

  - Jan

--
****************************************************
  Helsinki University of Technology
  Dept. of Metsähovi Radio Observatory
  http://www.metsahovi.fi/~jwagner/
  Work +358-9-428320-36



More information about the xfs mailing list