From: Mike Snitzer <snitzer@redhat.com>
To: DarkNovaNick@gmail.com
Cc: dm-devel@redhat.com,
LVM general discussion and development <linux-lvm@redhat.com>
Subject: Re: [linux-lvm] dm snapshot: add discard support to the snapshot-origin target [was: Re: Testing TRIM with LVM]
Date: Tue, 26 Apr 2011 13:32:14 -0400 [thread overview]
Message-ID: <20110426173213.GA19604@redhat.com> (raw)
In-Reply-To: <20110413234854.GA19793@redhat.com>
On Wed, Apr 13 2011 at 7:48pm -0400,
Mike Snitzer <snitzer@redhat.com> wrote:
> On Wed, Apr 13 2011 at 6:40pm -0400,
> Mike Snitzer <snitzer@redhat.com> wrote:
>
> > Unfortunately, the failed discard to the snapshot-origin device disables
> > ext4's discards for the entire volume (even after you remove the
> > snapshot).
> >
> > But the following patch fixes that:
> >
> > Subject: dm snapshot: add discard support to the snapshot-origin target
> >
> > Allow the snapshot-origin target to pass discards to the origin device
> > (after any copyout of the region being discarded; but generally speaking
> > that copyout won't be needed as the region will have already been copied
> > to the cow).
> >
> > So for example, when you remove a file from an ext4 mounted origin
> > volume it triggers copyout to the snapshot. When the DISCARD is then
> > issued during the subsequent journal commit no copyout is needed.
>
> It should be noted that discards are treated as writes. This means that
> a snapshot should not be taken of an origin volume before a filesystem
> is placed on that origin. Doing so may result in the entire origin
> volume being discarded (mkfs.ext4 does this) which would cause copyout
> of the entire origin volume to the snapshot.
Just a quick follow-up. We had a discussion on snapshot-origin discard
support and arrived at this needing to be done in 2 steps:
1) have snapshot-origin ignore discard but return success
2) process the discard, discard treated as a write to the origin, if
user passes an option to enable it
The concern is that the patch I proposed can break existing scripts that
create filesystems on pristine origin devices (that have a snapshot(s)).
Instead of only copying out the various minimalist changes that mkfs
does (when discard isn't used) the entire origin device would be copied
out (when the entire device is discarded early in mkfs.ext4).
I'll circle back to working on this in a few weeks (the annoying bit is
the userspace change to make the snapshot-origin's discard behavior
configurable via lvcreate -s --enable-origin-discards ...; maybe someone
else will get to it before I do :)
Mike
next prev parent reply other threads:[~2011-04-26 17:32 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-12 14:59 [linux-lvm] Testing TRIM with LVM DarkNovaNick
2011-04-12 23:47 ` Mike Snitzer
2011-04-13 1:47 ` DarkNovaNick
2011-04-13 8:41 ` Zdenek Kabelac
2011-04-13 15:38 ` DarkNovaNick
2011-04-13 22:40 ` [linux-lvm] [PATCH] dm snapshot: add discard support to the snapshot-origin target [was: Re: Testing TRIM with LVM] Mike Snitzer
2011-04-13 23:48 ` [linux-lvm] " Mike Snitzer
2011-04-26 17:32 ` Mike Snitzer [this message]
2011-04-28 0:19 ` [linux-lvm] [PATCH] dm snapshot: ignore discards issued to the snapshot-origin target Mike Snitzer
2011-04-28 7:53 ` [linux-lvm] [dm-devel] " Christoph Hellwig
2011-04-28 20:59 ` [linux-lvm] do not disable ext4 discards on first discard failure? [was: Re: dm snapshot: ignore discards issued to the snapshot-origin target] Mike Snitzer
2011-04-28 21:28 ` Eric Sandeen
2011-04-28 22:59 ` Alasdair G Kergon
2011-04-28 23:01 ` Eric Sandeen
2011-04-28 23:11 ` Alasdair G Kergon
2011-04-29 1:12 ` Andreas Dilger
2011-04-29 13:55 ` Mike Snitzer
2011-04-29 9:30 ` Lukas Czerner
2011-04-29 12:24 ` [linux-lvm] [dm-devel] " Alasdair G Kergon
2011-04-29 12:29 ` Christoph Hellwig
2011-04-29 14:28 ` Eric Sandeen
2011-04-29 15:13 ` Ray Morris
2011-05-04 16:33 ` Ted Ts'o
2011-05-04 17:02 ` Lukas Czerner
2011-05-02 7:16 ` Lukas Czerner
2011-05-02 8:13 ` Alasdair G Kergon
2011-05-02 8:19 ` Christoph Hellwig
2011-05-02 10:24 ` Lukas Czerner
2011-05-02 12:48 ` [linux-lvm] " Mike Snitzer
2011-05-02 13:05 ` Lukas Czerner
2011-05-02 14:47 ` Eric Sandeen
2011-05-02 14:48 ` Christoph Hellwig
2011-05-02 14:58 ` Lukas Czerner
2011-05-02 13:48 ` [linux-lvm] [dm-devel] " Martin K. Petersen
2011-05-02 14:20 ` Martin K. Petersen
2011-05-02 14:39 ` Lukas Czerner
2011-05-02 14:50 ` Martin K. Petersen
2011-05-02 14:58 ` [linux-lvm] " Mike Snitzer
2011-05-02 16:58 ` [linux-lvm] [dm-devel] " Martin K. Petersen
2011-05-03 8:57 ` Lukas Czerner
2011-05-04 15:10 ` Martin K. Petersen
2011-05-04 16:02 ` [linux-lvm] " Mike Snitzer
2011-05-04 16:50 ` Martin K. Petersen
2011-05-04 18:03 ` Mike Snitzer
2011-05-04 17:10 ` [linux-lvm] [dm-devel] " Lukas Czerner
2011-05-04 17:32 ` Martin K. Petersen
2011-05-04 17:35 ` Lukas Czerner
2011-05-18 12:16 ` [linux-lvm] " Mike Snitzer
2011-05-18 12:52 ` Mike Snitzer
2011-05-04 15:16 ` [linux-lvm] [dm-devel] " Martin K. Petersen
2011-05-04 16:12 ` Lukas Czerner
2011-05-05 8:33 ` Karel Zak
2011-05-05 10:48 ` Lukas Czerner
2011-04-14 15:31 ` [linux-lvm] [PATCH] dm snapshot: add discard support to the snapshot-origin target [was: Re: Testing TRIM wi DarkNovaNick
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=20110426173213.GA19604@redhat.com \
--to=snitzer@redhat.com \
--cc=DarkNovaNick@gmail.com \
--cc=dm-devel@redhat.com \
--cc=linux-lvm@redhat.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;
as well as URLs for NNTP newsgroup(s).