xfs
[Top] [All Lists]

Re: write barrier over device mapper supported or not?

To: Martin Steigerwald <Martin@xxxxxxxxxxxx>
Subject: Re: write barrier over device mapper supported or not?
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Tue, 11 Dec 2007 21:36:38 -0600
Cc: linux-xfs@xxxxxxxxxxx
In-reply-to: <200712112342.24094.Martin@lichtvoll.de>
References: <200712112342.24094.Martin@lichtvoll.de>
Sender: xfs-bounce@xxxxxxxxxxx
User-agent: Thunderbird 2.0.0.9 (Macintosh/20071031)
Martin Steigerwald wrote:
> Hello!
> 
> Are write barriers over device mapper supported or not?

Nope.

see dm_request():

        /*
         * There is no use in forwarding any barrier request since we can't
         * guarantee it is (or can be) handled by the targets correctly.
         */
        if (unlikely(bio_barrier(bio))) {
                bio_endio(bio, -EOPNOTSUPP);
                return 0;
        }


> On LVM2 xfs tells me:
> 
> Dec 11 23:00:09 shambala kernel: Filesystem "dm-0": Disabling barriers, 
> not supported by the underlying device
> Dec 11 23:00:09 shambala kernel: XFS mounting filesystem dm-0
> Dec 11 23:00:09 shambala kernel: Ending clean XFS mount for filesystem: 
> dm-0
> 
> But when I mount ext3 on LVM2 I get:
> 
> Dec 11 23:05:34 shambala kernel: kjournald starting.  Commit interval 5 
> seconds
> Dec 11 23:05:34 shambala kernel: EXT3 FS on dm-1, internal journal
> Dec 11 23:05:34 shambala kernel: EXT3-fs: mounted filesystem with ordered 
> data mode.
> 
> even when I explicetely specify "-o barrier=1" which should enable 
> barriers on ext3.
> 
> As far as I understood from the changelogs as I wrote my Linux-Magazin I 
> thought there should be device mapper support in the kernel, but I can 
> not reproduce that finding anymore at the moment.
> 
> But back then I also looked at the ext3 / jbd sources and found that jbd 
> issues a warning when barrier support is not available. However I do not 
> find that one either.

in journal_write_commit_record() there is such a warning, but not in the
mount path:

                printk(KERN_WARNING
                        "JBD: barrier-based sync failed on %s - "
                        "disabling barriers\n",
                        bdevname(journal->j_dev, b));

and if I set barrier=1 on an lvm-root test box, I do get:

JBD: barrier-based sync failed on dm-0 - disabling barriers

-Eric


<Prev in Thread] Current Thread [Next in Thread>