public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Wengang Wang <wen.gang.wang@oracle.com>
To: Eric Sandeen <sandeen@sandeen.net>
Cc: xfs@oss.sgi.com, joe.jin@oracle.com, greg.marsden@oracle.com,
	Wengang Wang <wen.gang.wang@oracle.com>
Subject: Re: do we support using a file as logdev?
Date: Wed, 21 Apr 2010 11:03:14 +0800	[thread overview]
Message-ID: <20100421030314.GB2252@laptop.oracle.com> (raw)
In-Reply-To: <4BCDDDD0.9000808@sandeen.net>

On 10-04-20 12:01, Eric Sandeen wrote:
> On 04/20/2010 09:36 AM, Wengang Wang wrote:
> > 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'?)
> 
> 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)

I see.
Thanks Eric for your detailed explanation!

regards,
wengang.

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

      reply	other threads:[~2010-04-21  3:04 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-20 14:36 do we support using a file as logdev? Wengang Wang
2010-04-20 15:27 ` Iustin Pop
2010-04-20 16:09   ` Wengang Wang
2010-04-20 17:01 ` Eric Sandeen
2010-04-21  3:03   ` Wengang Wang [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100421030314.GB2252@laptop.oracle.com \
    --to=wen.gang.wang@oracle.com \
    --cc=greg.marsden@oracle.com \
    --cc=joe.jin@oracle.com \
    --cc=sandeen@sandeen.net \
    --cc=xfs@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox