do we support using a file as logdev?
Hi experts,
Do we support using a file as log device?
If no, it's strange that we support running xfs on a file but don't support log file.
If yes, it fails at mount.
[root@desk test-xfsprogs]# mkfs.xfs -llogdev=/root/test-xfsprogs/test-xfsprogs-tmp/imagefile,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 =/root/test-xfsprogs/test-xfsprogs-tmp/imagefile 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=/root/test-xfsprogs/test-xfsprogs-tmp/imagefile /dev/sda10 /xfs
mount: the kernel does not recognize /dev/sda10 as a block device
(maybe `insmod driver'?)
regards,
wengang.
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Quoted 5 lines · Wengang Wang
Hi experts,
Do we support using a file as log device?
If no, it's strange that we support running xfs on a file but don't support log file.
Have you tried using losetup and passing the loop device instead?
regards,
iustin
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Quoted 8 lines · Iustin Pop
Quoted 5 lines · Wengang Wang
Hi experts,
Do we support using a file as log device?
If no, it's strange that we support running xfs on a file but don't support log file.Have you tried using losetup and passing the loop device instead?
Yes, that's a workaround.
regards,
wengang.
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Quoted 20 lines · Wengang Wang
Hi experts,
Do we support using a file as log device?
If no, it's strange that we support running xfs on a file but don't support log file.
If yes, it fails at mount.[root@desk test-xfsprogs]# mkfs.xfs -llogdev=/root/test-xfsprogs/test-xfsprogs-tmp/imagefile,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 =/root/test-xfsprogs/test-xfsprogs-tmp/imagefile bsize=4096 blocks=32768, version=2 = sectsz=512 sunit=0 blks, lazy-count=0 realtime =none extsz=4096 blocks=0, rtextents=0
Quoted 4 lines
[root@desk test-xfsprogs]# mount -ologdev=/root/test-xfsprogs/test-xfsprogs-tmp/imagefile
/dev/sda10/xfs
mount: the kernel does not recognize/dev/sda10as a block device
(maybe `insmod driver'?)
Well, -o logdev=$BLAH sets up m_logname with that value in the mount point, and xfs_open_devices() then tries:
if (mp->m_logname) {
error = xfs_blkdev_get(mp, mp->m_logname, &logdev);which eventually does
open_bdev_exclusive(name, FMODE_READ|FMODE_WRITE, mp); /** * open_bdev_exclusive - open a block device by name and set it up for use * * @path: special file representing the block device * @mode: FMODE_... combination to pass be used * @holder: owner for exclusion
*
* Open the blockdevice described by the special file at @path, claim it
* for the @holder.
*/
... this is all in kernelspace, which has no notion of what /root/test-xfsprogs/test-xfsprogs-tmp/imagefile might be. You'll need to use a devicename that open_bdev_exclusive() can understand (like /dev/loop0, as suggested)
-Eric
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Quoted 46 lines · Eric Sandeen
Quoted 20 lines · Wengang Wang
Hi experts,
Do we support using a file as log device?
If no, it's strange that we support running xfs on a file but don't support log file.
If yes, it fails at mount.[root@desk test-xfsprogs]# mkfs.xfs -llogdev=/root/test-xfsprogs/test-xfsprogs-tmp/imagefile,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 =/root/test-xfsprogs/test-xfsprogs-tmp/imagefile bsize=4096 blocks=32768, version=2 = sectsz=512 sunit=0 blks, lazy-count=0 realtime =none extsz=4096 blocks=0, rtextents=0Quoted 4 lines
[root@desk test-xfsprogs]# mount -ologdev=/root/test-xfsprogs/test-xfsprogs-tmp/imagefile
/dev/sda10/xfs
mount: the kernel does not recognize/dev/sda10as a block device
(maybe `insmod driver'?)Well, -o logdev=$BLAH sets up
m_lognamewith that value in the mount point, andxfs_open_devices()then tries:if (mp->m_logname) { error = xfs_blkdev_get(mp, mp->m_logname, &logdev);which eventually does
open_bdev_exclusive(name, FMODE_READ|FMODE_WRITE, mp); /** * open_bdev_exclusive - open a block device by name and set it up for use * * @path: special file representing the block device * @mode: FMODE_... combination to pass be used * @holder: owner for exclusion*
* Open the blockdevice described by the special file at @path, claim it
* for the @holder.
*/
Quoted 4 lines
... this is all in kernelspace, which has no notion of what
/root/test-xfsprogs/test-xfsprogs-tmp/imagefilemight be. You'll need to use a devicename thatopen_bdev_exclusive()can understand (like/dev/loop0, as suggested)
I see.
Thanks Eric for your detailed explanation!
regards,
wengang.
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs