On Thu, Oct 24, 2002 at 07:37:33PM +0200, jsoe0708@xxxxxxxxxx wrote:
> Hi Christoph,
> >
> >Can you send me the strace output for strace mkfs.xfs /dev/sda12?
> >
> Here you are:
>
> execve("/sbin/mkfs.xfs", ["mkfs.xfs", "/dev/sda12"], [/* 15 vars */]) = 0
> ...
> pwrite(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"..., 69632,
> 0) = 69632
> pwrite(4, "XFSB\0\0\20\0\0\0\0\0 \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512,
> 0) = 512
> fstat64(1, {st_mode=0, st_size=0, ...}) = 0
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
> = 0x40018000
> pwrite(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"..., 65536,
> 2199023190016) = -1 ENOSPC (No space left on device)
> write(2, "mkfs.xfs: write failed: No space"..., 48mkfs.xfs: write failed:
> No space left on device
Looks like mkfs.xfs is trying to write past the end of the device.
Possibly the BLKGETSIZE64 ioctl has been mishandled by the device
driver? 2199023190016 is a fairly large byte offset.
This ioctl is called from in cmd/xfsprogs/libxfs/init.c::findsize
so that's probably a good place to start debugging.
cheers.
--
Nathan
|