linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andreas Dilger <adilger@clusterfs.com>
To: Valdis.Kletnieks@vt.edu
Cc: Alex Tomas <alex@clusterfs.com>, Jeff Garzik <jeff@garzik.org>,
	ext2-devel <ext2-devel@lists.sourceforge.net>,
	linux-kernel@vger.kernel.org,
	Christoph Hellwig <hch@infradead.org>,
	Mingming Cao <cmm@us.ibm.com>,
	linux-fsdevel@vger.kernel.org
Subject: Re: [Ext2-devel] [RFC 0/13] extents and 48bit ext3
Date: Fri, 9 Jun 2006 20:09:00 -0600	[thread overview]
Message-ID: <20060610020900.GU5964@schatzie.adilger.int> (raw)
In-Reply-To: <200606100121.k5A1LDjR004186@turing-police.cc.vt.edu>

On Jun 09, 2006  21:21 -0400, Valdis.Kletnieks@vt.edu wrote:
> On Fri, 09 Jun 2006 17:21:08 MDT, Andreas Dilger said:
> > You mount with the new kernel without "-o extents", and find files with
> > extents "lsattr -R /mnt/tmp | awk '/----e / print { $2 }'", copy those
> > files, mv over old files, unmount.
> 
> How do you "copy those files" when you don't have extent support at that
> point?  Remember - the whole problem here is that if you don't have
> extent support, you can't read the file, it's backward-incompatible.
> (If you *are* able to read the file even without extents, then this whole
> thread is total BS).

The "-o extents" mount option only affects new files that are created
while that option is enabled.  It doesn't affect existing files (even if
they are modified while "-o extents" is set).  It also doesn't affect any
new files after "-o extents" is removed.  Also, directories will not
be extent-mapped, because their allocation pattern doesn't mix well with
extent-mapped files (i.e. they are mostly single-block allocations).

Files that are created with "-o extents" are of course only readable with
a kernel that supports it.  To be safe, the whole filesystem is marked
with an EXT3_FEATURE_INCOMPAT_EXTENTS flag when the first extent file
is created so that users don't inadvertently get strange errors while
accessing the inodes marked with EXT3_EXTENT_FL with an old kernel.
New kernels that understand INCOMPAT_EXTENTS of course can access extent
and non-extent files equally well.

In an emergency it would also be possible to remove the INCOMPAT_EXTENTS
filesystem flag and access all of the non-extent files, but this would
risk filesystem corruption if any of the extent files were modified or
unlinked, as that is the only indication older kernels have of this change.

So, to answer your question, if you _really_ want to get rid of extents
on a filesystem, you mount the filesystem with INCOMPAT_EXTENTS on a new
kernel that supports extents, but without -o extents so new files will
use the old block-map layout, so if "orig-file" is an extent-mapped file:

	cp /mnt/tmp/orig-file /mnt/tmp/temp-block-mapped-file
	mv /mnt/tmp/temp-block-mapped-file /mnt/tmp/orig-file

and now /mnt/tmp/orig-file is no longer extent-mapped.  Do this for all
the extent-mapped files, unmount, use "debugfs -w -R 'feature ^extents' {dev}"
and your filesystem is mountable with any old kernel.

No, it's not quite as easy as ext3 journal recovery->ext2 mounting,
but then again "-o extents" isn't something that happens automatically
(at least not for a couple of years, and hopefully distros will be smart
enough never to do this for filesystems like /boot or / that are critical
for mounting on a wide variety of kernels.  Besides which, we don't want
to have to teach GRUB about extent-mapped files.  Concievably, if this
becomes an issue then it should be possible to add a flag to inodes and
parent directories to add a "no extents" flag that is inherited by new
files that should never be extent mapped.

Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.


  reply	other threads:[~2006-06-10  2:08 UTC|newest]

Thread overview: 295+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-09  1:20 [RFC 0/13] extents and 48bit ext3 Mingming Cao
2006-06-09  2:40 ` Valdis.Kletnieks
2006-06-09  8:20   ` Andreas Dilger
2006-06-09 18:35     ` [Ext2-devel] " Stephen C. Tweedie
2006-06-09 19:20       ` Jeff Garzik
2006-06-09 19:28         ` Alex Tomas
2006-06-09 19:32           ` Jeff Garzik
2006-06-09 19:41             ` Alex Tomas
2006-06-09 15:23   ` Mingming Cao
2006-06-09  2:49 ` Jeff Garzik
2006-06-09  8:35   ` Andreas Dilger
2006-06-09 15:08     ` Jeff Garzik
2006-06-09 15:25       ` Jeff Garzik
2006-06-09 15:40         ` Linus Torvalds
2006-06-09 15:47           ` Jeff Garzik
2006-06-09 15:55             ` Alex Tomas
2006-06-09 15:56               ` Jeff Garzik
2006-06-09 16:07                 ` Alex Tomas
2006-06-09 16:09                   ` [Ext2-devel] " Jeff Garzik
2006-06-09 18:04                   ` Matthew Frost
2006-06-09 18:10                     ` Alex Tomas
2006-06-09 18:14                     ` [Ext2-devel] " Andreas Dilger
2006-06-09 18:51                       ` Jeff Garzik
2006-06-09 19:39                         ` Gerrit Huizenga
2006-06-09 19:45                           ` [Ext2-devel] " Jeff Garzik
2006-06-09 20:38                             ` Gerrit Huizenga
2006-06-10 10:03                           ` Christoph Hellwig
2006-06-09 19:49                         ` [Ext2-devel] " Theodore Tso
2006-06-09 20:04                           ` Jeff Garzik
2006-06-09 20:57                             ` Stephen C. Tweedie
2006-06-09 21:49                               ` Jeff Garzik
2006-06-09 21:55                                 ` [Ext2-devel] " Stephen C. Tweedie
2006-06-09 23:44                                   ` Jeff Garzik
2006-06-10  0:45                                     ` [Ext2-devel] " Andreas Dilger
2006-06-10  0:47                                     ` Theodore Tso
2006-06-10  1:09                                       ` Jeff Garzik
2006-06-10  1:30                                         ` [Ext2-devel] " Andreas Dilger
2006-06-10  1:43                                           ` Jeff Garzik
2006-06-10  2:03                                             ` Theodore Tso
2006-06-10  2:11                                               ` [Ext2-devel] " Jeff Garzik
2006-06-10  2:54                                                 ` Theodore Tso
2006-06-10  3:11                                                   ` Jeff Garzik
2006-06-10 12:15                                                     ` Theodore Tso
2006-06-10 14:31                                                       ` Jeff Garzik
2006-06-10  2:58                                               ` [Ext2-devel] " Jeff Garzik
2006-06-10  2:26                                             ` Andreas Dilger
2006-06-10  2:31                                               ` Jeff Garzik
2006-06-10  4:22                                                 ` Andreas Dilger
2006-06-09 22:37                             ` [Ext2-devel] " Andreas Dilger
2006-06-11 16:02                         ` Arjan van de Ven
2006-06-11 16:30                           ` Nikita Danilov
2006-06-11 16:55                             ` [Ext2-devel] " Arjan van de Ven
2006-06-12  6:35                           ` Andreas Dilger
2006-06-12 22:06                         ` [Ext2-devel] " Pavel Machek
2006-06-14 14:31                           ` Barry K. Nathan
2006-06-14 21:34                             ` [Ext2-devel] " Pavel Machek
2006-06-15  0:28                               ` Barry K. Nathan
2006-06-15  4:55                                 ` Theodore Tso
2006-06-15  7:43                                   ` Barry K. Nathan
2006-06-15  9:15                                 ` Pavel Machek
2006-06-15  9:40                                   ` Barry K. Nathan
2006-06-15  9:50                                     ` [Ext2-devel] " Pavel Machek
2006-06-09 20:52                 ` Stephen C. Tweedie
2006-06-09 21:47                   ` [Ext2-devel] " Jeff Garzik
2006-06-10  0:41                     ` James Morris
2006-06-09 16:01             ` Linus Torvalds
2006-06-09 20:38             ` Stephen C. Tweedie
2006-06-09 15:57           ` Jeff Garzik
2006-06-09 16:10           ` [Ext2-devel] " Alex Tomas
2006-06-09 16:10             ` Jeff Garzik
2006-06-09 16:24               ` Erik Mouw
2006-06-09 16:28                 ` Jeff Garzik
2006-06-09 16:24               ` [Ext2-devel] " Chase Venters
2006-06-09 16:25               ` Alex Tomas
2006-06-09 16:28                 ` Jeff Garzik
2006-06-09 16:50                   ` Alex Tomas
2006-06-09 16:53                     ` [Ext2-devel] " Jeff Garzik
2006-06-09 17:01                       ` Alex Tomas
2006-06-09 17:10                         ` Jeff Garzik
2006-06-09 16:25             ` Linus Torvalds
2006-06-09 16:48               ` Alex Tomas
2006-06-09 16:54                 ` KELEMEN Peter
2006-06-09 16:55                 ` Jeff Garzik
2006-06-09 17:12                   ` [Ext2-devel] " Alex Tomas
2006-06-09 17:12                     ` Jeff Garzik
2006-06-09 19:57                   ` Theodore Tso
2006-06-09 20:09                     ` Jeff Garzik
2006-06-09 20:14                       ` Alex Tomas
2006-06-09 20:28                         ` Jeff Garzik
2006-06-19  7:48                         ` [Ext2-devel] " Helge Hafting
2006-06-09 20:38                     ` Joel Becker
2006-06-09 20:50                       ` Dave Jones
2006-06-09 21:09                         ` Joel Becker
2006-06-09 21:51                           ` Mike Snitzer
2006-06-09 21:32                         ` [Ext2-devel] " Jeff Garzik
2006-06-09 22:56                           ` Andreas Dilger
2006-06-09 23:06                             ` Linus Torvalds
2006-06-09 23:09                             ` Jeff Garzik
2006-06-09 23:37                               ` [Ext2-devel] " Andreas Dilger
2006-06-09 23:54                                 ` Linus Torvalds
2006-06-09 21:03                       ` Theodore Tso
2006-06-09 21:24                         ` Joel Becker
2006-06-09 21:36                           ` [Ext2-devel] " Chase Venters
2006-06-09 21:51                           ` Theodore Tso
2006-06-09 22:07                             ` Joel Becker
2006-06-09 22:31                               ` [Ext2-devel] " Theodore Tso
2006-06-09 22:47                                 ` Joel Becker
2006-06-09 23:54                                   ` [Ext2-devel] " Theodore Tso
2006-06-09 23:48                         ` Jeff Garzik
2006-06-12  8:58                     ` Jes Sorensen
2006-06-10  0:07                   ` Olivier Galibert
2006-06-10  0:13                     ` Jeff Garzik
2006-06-09 16:54               ` [Ext2-devel] " Linus Torvalds
2006-06-09 17:04                 ` Alex Tomas
2006-06-09 17:30                   ` [Ext2-devel] " Linus Torvalds
2006-06-09 17:41                     ` Matthew Wilcox
2006-06-09 17:50                       ` Jeff Garzik
2006-06-09 18:00                         ` Alex Tomas
2006-06-09 18:04                       ` [Ext2-devel] " Linus Torvalds
2006-06-09 18:17                       ` Michael Poole
2006-06-09 17:44                 ` Theodore Tso
2006-06-09 17:58                   ` Jeff Garzik
2006-06-09 18:10                 ` [Ext2-devel] " Andreas Dilger
2006-06-09 18:22                   ` Linus Torvalds
2006-06-09 18:30                     ` Alex Tomas
2006-06-09 18:38                       ` Linus Torvalds
2006-06-09 18:50                         ` [Ext2-devel] " Chase Venters
2006-06-09 19:00                           ` Chase Venters
2006-06-10 13:33                             ` Adrian Bunk
2006-06-09 19:01                           ` Jeff Garzik
2006-06-10 19:27                             ` Kyle Moffett
2006-06-10 19:44                               ` Linus Torvalds
2006-06-10 20:02                                 ` [Ext2-devel] " Linus Torvalds
2006-06-10 21:26                                   ` Theodore Tso
2006-06-10 21:31                                     ` Linus Torvalds
2006-06-10 22:12                                     ` Jeff Garzik
2006-06-10 22:21                                     ` Jeff Garzik
2006-06-11  4:39                                       ` Stable/devel policy - was Re: [Ext2-devel] " Neil Brown
2006-06-11  5:19                                         ` Stable/devel policy - was " Linus Torvalds
2006-06-11  7:32                                           ` Ingo Molnar
2006-06-13  0:28                                         ` Stable/devel policy - was Re: [Ext2-devel] " Mingming Cao
2006-06-09 19:21                           ` Alan Cox
2006-06-09 19:13                             ` [Ext2-devel] " Chase Venters
2006-06-09 19:24                             ` Alex Tomas
2006-06-09 19:25                               ` Jeff Garzik
2006-06-09 19:35                                 ` Alex Tomas
2006-06-09 19:35                                   ` [Ext2-devel] " Jeff Garzik
2006-06-09 20:44                                   ` Joel Becker
2006-06-09 20:49                                     ` Alex Tomas
2006-06-09 21:11                                       ` Joel Becker
2006-06-09 21:20                                         ` Alex Tomas
2006-06-09 21:29                                           ` Joel Becker
2006-06-09 21:33                                             ` Alex Tomas
2006-06-09 21:43                                             ` Joel Becker
2006-06-11 20:14                                   ` [Ext2-devel] " grundig
2006-06-14 16:45                                     ` Alex Tomas
2006-06-09 19:22                         ` Alex Tomas
2006-06-09 19:22                           ` Jeff Garzik
2006-06-09 20:16                         ` Andreas Dilger
2006-06-09 20:31                           ` Linus Torvalds
2006-06-09 20:31                           ` Jeff Garzik
2006-06-09 18:43                       ` [Ext2-devel] " Jeff Garzik
2006-06-09 18:50                       ` Diego Calleja
2006-06-09 19:08                         ` Diego Calleja
2006-06-09 18:40                   ` [Ext2-devel] " Jeff Garzik
2006-06-09 18:59                     ` Andrew Morton
2006-06-09 19:16                       ` Jeff Garzik
2006-06-09 20:27                         ` [Ext2-devel] " Chase Venters
2006-06-09 20:44                       ` Alan Cox
2006-06-11 15:52                         ` [Ext2-devel] " Arjan van de Ven
2006-06-09 18:41                   ` Jeff Garzik
2006-06-09 17:12               ` Jeff Anderson-Lee
2006-06-09 18:02               ` Andrew Morton
2006-06-10 19:10         ` Kyle Moffett
2006-06-10 19:27           ` Linus Torvalds
2006-06-09 15:28       ` [Ext2-devel] " Alex Tomas
2006-06-09 15:31         ` Matthew Wilcox
2006-06-10  3:26           ` Continuation Inodes Explained! (was Re: [RFC 0/13] extents and 48bit ext3) Valerie Henson
2006-06-10  5:25             ` Andreas Dilger
2006-06-10  5:41               ` Valerie Henson
2006-06-10  6:22                 ` Andreas Dilger
2006-06-10 14:22             ` Jeff Garzik
2006-06-09 15:44         ` [Ext2-devel] [RFC 0/13] extents and 48bit ext3 Jeff Garzik
2006-06-09 15:53           ` Alex Tomas
2006-06-09 15:52             ` Jeff Garzik
2006-06-09 16:02               ` Alex Tomas
2006-06-09 16:04                 ` [Ext2-devel] " Jeff Garzik
2006-06-09 18:29           ` Andreas Dilger
2006-06-09 15:53         ` [Ext2-devel] " Gerrit Huizenga
2006-06-09 16:03           ` Jeff Garzik
2006-06-09 16:09           ` Linus Torvalds
2006-06-09 17:58             ` Gerrit Huizenga
2006-06-09 18:25               ` [Ext2-devel] " Chase Venters
2006-06-10 13:46               ` Adrian Bunk
2006-06-10 14:42                 ` Ingo Molnar
2006-06-10 15:03                   ` Jeff Garzik
2006-06-11  6:00                     ` Ingo Molnar
2006-06-10 16:00                   ` Adrian Bunk
2006-06-10 16:05                   ` Christoph Hellwig
2006-06-10 23:05                   ` Mike Galbraith
2006-06-13 13:34               ` [Ext2-devel] " Helge Hafting
2006-06-09 20:32       ` Stephen C. Tweedie
2006-06-09 20:46         ` Linus Torvalds
2006-06-09 20:56           ` Alex Tomas
2006-06-20  6:15           ` [Ext2-devel] " Qi Yong
2006-06-20  8:26             ` Laurent Vivier
2006-06-20  8:30               ` Jeff Garzik
2006-06-20  9:21                 ` Laurent Vivier
2006-06-20  9:48                   ` Jeff Garzik
2006-06-20 10:40                     ` Laurent Vivier
2006-06-09 17:14   ` Alan Cox
2006-06-09  9:13 ` Christoph Hellwig
2006-06-09 10:07   ` Andrew Morton
2006-06-09 15:40     ` Jeff Garzik
2006-06-09 15:42       ` Matthew Wilcox
2006-06-09 15:51         ` Jeff Garzik
2006-06-09 17:29         ` Alan Cox
2006-06-09 16:56       ` Andrew Morton
2006-06-09 17:07         ` Jeff Garzik
2006-06-09 17:35           ` Andrew Morton
2006-06-09 17:48             ` Jeff Garzik
2006-06-09 17:59               ` Jeff Garzik
2006-06-09 18:27                 ` [Ext2-devel] " Mike Snitzer
2006-06-09 18:54                   ` Jeff Garzik
2006-06-09 19:22                     ` Alex Tomas
2006-06-09 19:23                       ` Jeff Garzik
2006-06-09 22:49                       ` Valdis.Kletnieks
2006-06-09 23:34                         ` [Ext2-devel] " Andreas Dilger
2006-06-10 13:49                   ` Adrian Bunk
2006-06-10 13:51                     ` Christoph Hellwig
2006-06-10 14:54                       ` Jeff Garzik
2006-06-10 18:01                         ` [Ext2-devel] " Andreas Dilger
2006-06-09 21:42             ` Sonny Rao
2006-06-09 22:15               ` Andrew Morton
2006-06-09 23:11                 ` Andreas Dilger
2006-06-09 23:15                   ` Jeff Garzik
2006-06-10  3:37                   ` Valerie Henson
2006-06-10  3:49                 ` Nathan Scott
2006-06-09 18:23       ` Michael Poole
2006-06-09 18:55         ` Jeff Garzik
2006-06-09 19:42           ` [Ext2-devel] " Gerrit Huizenga
2006-06-09 20:00             ` Jeff Garzik
2006-06-09 20:08               ` Alex Tomas
2006-06-09 20:10                 ` [Ext2-devel] " Jeff Garzik
2006-06-09 20:35               ` Theodore Tso
2006-06-09 21:41                 ` Jeff Garzik
2006-06-09 21:45                   ` [Ext2-devel] " Michael Poole
2006-06-09 21:53                     ` Jeff Garzik
2006-06-09 22:04                       ` Theodore Tso
2006-06-10  0:49         ` Sven-Haegar Koch
2006-06-10  1:06           ` Theodore Tso
2006-06-10 14:07             ` Olivier Galibert
2006-06-10 19:52               ` Theodore Tso
2006-06-09 10:49   ` Andreas Dilger
2006-06-09 11:26   ` Alex Tomas
2006-06-09 14:23     ` [Ext2-devel] " Jeff Garzik
2006-06-09 14:33       ` Alex Tomas
2006-06-09 14:34       ` Alex Tomas
2006-06-09 14:35         ` Jeff Garzik
2006-06-09 14:57           ` Alex Tomas
2006-06-09 15:17             ` [Ext2-devel] " Jeff Garzik
2006-06-09 16:21               ` Mike Snitzer
2006-06-09 16:27                 ` Jeff Garzik
2006-06-09 16:48                   ` Alex Tomas
2006-06-09 16:51                     ` Jeff Garzik
2006-06-09 16:33                 ` Alex Tomas
2006-06-09 16:37                   ` [Ext2-devel] " Jeff Garzik
2006-06-09 22:52                   ` Valdis.Kletnieks
2006-06-09 23:21                     ` Andreas Dilger
2006-06-10  1:21                       ` Valdis.Kletnieks
2006-06-10  2:09                         ` Andreas Dilger [this message]
2006-06-10  2:45                           ` [Ext2-devel] " Nicholas Miell
2006-06-10  4:29                             ` Andreas Dilger
2006-06-09 16:56               ` Andreas Dilger
2006-06-09 17:32                 ` [Ext2-devel] " Greg KH
2006-06-09 18:48                 ` Jeff Garzik
2006-06-30  0:16 ` [RFC][Update 0/16]extents and 48bit ext3/4 patches Mingming Cao
2006-06-30  0:16 ` [RFC][Update][Patch 1/16]core extent map support Mingming Cao
2006-06-30  0:17 ` [RFC][Update][Patch 2/16]sector_t type format string Mingming Cao
2006-06-30  0:17 ` [RFC][Update][Patch 3/16]convert ext3_fsblk_t to sector_t to support >32 bit block in kernel Mingming Cao
2006-06-30  0:17 ` [RFC][Update][Patch 4/16]support 48 bit blk number in extents Mingming Cao
2006-06-30  0:17 ` [RFC][Update][Patch 5/16]block type convert " Mingming Cao
2006-06-30  0:17 ` [RFC][Update][Patch 6/16]handing unitialized extents Mingming Cao
2006-06-30  0:17 ` [RFC][Update][Patch 7/16]Core 64 bit JBD changes Mingming Cao
2006-06-30  0:18 ` [RFC][Update][Patch 8/16]Avoid potential block overflow when writing journal metadata tags Mingming Cao
2006-06-30  0:18 ` [RFC][Update][Patch 9/16]Fix reading of 32-bit tag descriptors Mingming Cao
2006-06-30  0:18 ` [RFC][Update][Patch 10/16]Cleanup journal_tag_bytes() Mingming Cao
2006-06-30  0:18 ` [RFC][Update][Patch 11/16]JBD layer in-kernel block variables type fixes Mingming Cao
2006-06-30  0:18 ` [RFC][Update][Patch 12/16]Fix undefined ">> 32" in revoke code Mingming Cao
2006-06-30  3:15   ` H. Peter Anvin
2006-06-30  0:18 ` [RFC][Update][Patch 13/16] 48 bit on-disk i_file_acl support Mingming Cao
2006-06-30  0:19 ` [RFC][Update][Patch 14/16] 48bit super block (metadata) changes Mingming Cao
2006-06-30  0:19 ` [RFC][Update][Patch 15/16] compile warning fix and change 64bit to INCOMPAT feature Mingming Cao
2006-06-30  0:19 ` [RFC][Update][Patch 16/16]Update ext3 superblock definition Mingming Cao
     [not found] <6lDZ6-6Hg-11@gated-at.bofh.it>
     [not found] ` <6lFet-8vZ-1@gated-at.bofh.it>
     [not found]   ` <6lKHf-84q-19@gated-at.bofh.it>
     [not found]     ` <6lQMJ-sm-13@gated-at.bofh.it>
     [not found]       ` <6lR6f-Rx-33@gated-at.bofh.it>
     [not found]         ` <6lRpH-1h2-51@gated-at.bofh.it>
     [not found]           ` <6lRIT-1T1-23@gated-at.bofh.it>
     [not found]             ` <6lS26-2ho-7@gated-at.bofh.it>
     [not found]               ` <6lSvd-2Sh-15@gated-at.bofh.it>
     [not found]                 ` <6lTKz-4Ru-9@gated-at.bofh.it>
     [not found]                   ` <6lTUf-54A-17@gated-at.bofh.it>
     [not found]                     ` <6lU3S-5h5-11@gated-at.bofh.it>
     [not found]                       ` <6lU3X-5h5-35@gated-at.bofh.it>
     [not found]                         ` <6lUnl-5GL-5@gated-at.bofh.it>
     [not found]                           ` <6lUwX-66U-25@gated-at.bofh.it>
     [not found]                             ` <6lUQo-6w3-29@gated-at.bofh.it>
     [not found]                               ` <6lUQp-6w3-35@gated-at.bofh.it>
     [not found]                                 ` <6lUZT-6HS-3@gated-at.bofh.it>
     [not found]                                   ` <6nE4Z-4If-55@gated-at.bofh.it>
2006-06-14 16:45                                     ` [Ext2-devel] [RFC 0/13] extents and 48bit ext3 Bodo Eggert

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=20060610020900.GU5964@schatzie.adilger.int \
    --to=adilger@clusterfs.com \
    --cc=Valdis.Kletnieks@vt.edu \
    --cc=alex@clusterfs.com \
    --cc=cmm@us.ibm.com \
    --cc=ext2-devel@lists.sourceforge.net \
    --cc=hch@infradead.org \
    --cc=jeff@garzik.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /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).