From: Jeff Layton <jlayton@kernel•org>
To: "Alexander Viro" <viro@zeniv•linux.org.uk>,
"Christian Brauner" <brauner@kernel•org>,
"Linus Torvalds" <torvalds@linux-foundation•org>,
"David Sterba" <dsterba@suse•cz>,
"Amir Goldstein" <amir73il@gmail•com>,
"Theodore Ts'o" <tytso@mit•edu>,
"Eric Biederman" <ebiederm@xmission•com>,
"Kees Cook" <keescook@chromium•org>,
"Jeremy Kerr" <jk@ozlabs•org>, "Arnd Bergmann" <arnd@arndb•de>,
"Michael Ellerman" <mpe@ellerman•id.au>,
"Nicholas Piggin" <npiggin@gmail•com>,
"Christophe Leroy" <christophe.leroy@csgroup•eu>,
"Heiko Carstens" <hca@linux•ibm.com>,
"Vasily Gorbik" <gor@linux•ibm.com>,
"Alexander Gordeev" <agordeev@linux•ibm.com>,
"Christian Borntraeger" <borntraeger@linux•ibm.com>,
"Sven Schnelle" <svens@linux•ibm.com>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation•org>,
"Arve Hjønnevåg" <arve@android•com>,
"Todd Kjos" <tkjos@android•com>,
"Martijn Coenen" <maco@android•com>,
"Joel Fernandes" <joel@joelfernandes•org>,
"Carlos Llamas" <cmllamas@google•com>,
"Suren Baghdasaryan" <surenb@google•com>,
"Mattia Dongili" <malattia@linux•it>,
"Dennis Dalessandro" <dennis.dalessandro@cornelisnetworks•com>,
"Jason Gunthorpe" <jgg@ziepe•ca>,
"Leon Romanovsky" <leon@kernel•org>,
"Brad Warrum" <bwarrum@linux•ibm.com>,
"Ritu Agarwal" <rituagar@linux•ibm.com>,
"Hans de Goede" <hdegoede@redhat•com>,
"Ilpo Järvinen" <ilpo.jarvinen@linux•intel.com>,
"Mark Gross" <markgross@kernel•org>,
"Jiri Slaby" <jirislaby@kernel•org>,
"Eric Van Hensbergen" <ericvh@kernel•org>,
"Latchesar Ionkov" <lucho@ionkov•net>,
"Dominique Martinet" <asmadeus@codewreck•org>,
"Christian Schoenebeck" <linux_oss@crudebyte•com>,
"David Sterba" <dsterba@suse•com>,
"David Howells" <dhowells@redhat•com>,
"Marc Dionne" <marc.dionne@auristor•com>,
"Ian Kent" <raven@themaw•net>,
"Luis de Bethencourt" <luisbg@kernel•org>,
"Salah Triki" <salah.triki@gmail•com>,
"Tigran A. Aivazian" <aivazian.tigran@gmail•com>,
"Chris Mason" <clm@fb•com>, "Josef Bacik" <josef@toxicpanda•com>,
"Xiubo Li" <xiubli@redhat•com>,
"Ilya Dryomov" <idryomov@gmail•com>,
"Jan Harkes" <jaharkes@cs•cmu.edu>,
coda@cs•cmu.edu, "Joel Becker" <jlbec@evilplan•org>,
"Christoph Hellwig" <hch@lst•de>,
"Nicolas Pitre" <nico@fluxnic•net>,
"Rafael J. Wysocki" <rafael@kernel•org>,
"Ard Biesheuvel" <ardb@kernel•org>,
"Gao Xiang" <xiang@kernel•org>, "Chao Yu" <chao@kernel•org>,
"Yue Hu" <huyue2@coolpad•com>,
"Jeffle Xu" <jefflexu@linux•alibaba.com>,
"Namjae Jeon" <linkinjeon@kernel•org>,
"Sungjong Seo" <sj1557.seo@samsung•com>,
"Jan Kara" <jack@suse•com>,
"Andreas Dilger" <adilger.kernel@dilger•ca>,
"Jaegeuk Kim" <jaegeuk@kernel•org>,
"OGAWA Hirofumi" <hirofumi@mail•parknet.co.jp>,
"Christoph Hellwig" <hch@infradead•org>,
"Miklos Szeredi" <miklos@szeredi•hu>,
"Bob Peterson" <rpeterso@redhat•com>,
"Andreas Gruenbacher" <agruenba@redhat•com>,
"Richard Weinberger" <richard@nod•at>,
"Anton Ivanov" <anton.ivanov@cambridgegreys•com>,
"Johannes Berg" <johannes@sipsolutions•net>,
"Mikulas Patocka" <mikulas@artax•karlin.mff.cuni.cz>,
"Mike Kravetz" <mike.kravetz@oracle•com>,
"Muchun Song" <muchun.song@linux•dev>, "Jan Kara" <jack@suse•cz>,
"David Woodhouse" <dwmw2@infradead•org>,
"Dave Kleikamp" <shaggy@kernel•org>, "Tejun Heo" <tj@kernel•org>,
"Trond Myklebust" <trond.myklebust@hammerspace•com>,
"Anna Schumaker" <anna@kernel•org>,
"Chuck Lever" <chuck.lever@oracle•com>,
"Neil Brown" <neilb@suse•de>,
"Olga Kornievskaia" <kolga@netapp•com>,
"Dai Ngo" <Dai.Ngo@oracle•com>, "Tom Talpey" <tom@talpey•com>,
"Ryusuke Konishi" <konishi.ryusuke@gmail•com>,
"Anton Altaparmakov" <anton@tuxera•com>,
"Konstantin Komarov" <almaz.alexandrovich@paragon-software•com>,
"Mark Fasheh" <mark@fasheh•com>,
"Joseph Qi" <joseph.qi@linux•alibaba.com>,
"Bob Copeland" <me@bobcopeland•com>,
"Mike Marshall" <hubcap@omnibond•com>,
"Martin Brandenburg" <martin@omnibond•com>,
"Luis Chamberlain" <mcgrof@kernel•org>,
"Iurii Zaikin" <yzaikin@google•com>,
"Tony Luck" <tony.luck@intel•com>,
"Guilherme G. Piccoli" <gpiccoli@igalia•com>,
"Anders Larsen" <al@alarsen•net>,
"Steve French" <sfrench@samba•org>,
"Paulo Alcantara" <pc@manguebit•com>,
"Ronnie Sahlberg" <lsahlber@redhat•com>,
"Shyam Prasad N" <sprasad@microsoft•com>,
"Sergey Senozhatsky" <senozhatsky@chromium•org>,
"Phillip Lougher" <phillip@squashfs•org.uk>,
"Steven Rostedt" <rostedt@goodmis•org>,
"Masami Hiramatsu" <mhiramat@kernel•org>,
"Evgeniy Dushistov" <dushistov@mail•ru>,
"Chandan Babu R" <chandan.babu@oracle•com>,
"Darrick J. Wong" <djwong@kernel•org>,
"Damien Le Moal" <dlemoal@kernel•org>,
"Naohiro Aota" <naohiro.aota@wdc•com>,
"Johannes Thumshirn" <jth@kernel•org>,
"Alexei Starovoitov" <ast@kernel•org>,
"Daniel Borkmann" <daniel@iogearbox•net>,
"Andrii Nakryiko" <andrii@kernel•org>,
"Martin KaFai Lau" <martin.lau@linux•dev>,
"Song Liu" <song@kernel•org>,
"Yonghong Song" <yonghong.song@linux•dev>,
"John Fastabend" <john.fastabend@gmail•com>,
"KP Singh" <kpsingh@kernel•org>,
"Stanislav Fomichev" <sdf@google•com>,
"Hao Luo" <haoluo@google•com>, "Jiri Olsa" <jolsa@kernel•org>,
"Hugh Dickins" <hughd@google•com>,
"Andrew Morton" <akpm@linux-foundation•org>,
"David S. Miller" <davem@davemloft•net>,
"Eric Dumazet" <edumazet@google•com>,
"Jakub Kicinski" <kuba@kernel•org>,
"Paolo Abeni" <pabeni@redhat•com>,
"John Johansen" <john.johansen@canonical•com>,
"Paul Moore" <paul@paul-moore•com>,
"James Morris" <jmorris@namei•org>,
"Serge E. Hallyn" <serge@hallyn•com>,
"Stephen Smalley" <stephen.smalley.work@gmail•com>,
"Eric Paris" <eparis@parisplace•org>,
"Kent Overstreet" <kent.overstreet@linux•dev>,
"Brian Foster" <bfoster@redhat•com>
Cc: jfs-discussion@lists•sourceforge.net, linux-efi@vger•kernel.org,
platform-driver-x86@vger•kernel.org, gfs2@lists•linux.dev,
linux-mm@kvack•org, linux-mtd@lists•infradead.org,
linux-hardening@vger•kernel.org, linux-afs@lists•infradead.org,
linux-s390@vger•kernel.org, linux-nilfs@vger•kernel.org,
linux-rdma@vger•kernel.org, linux-unionfs@vger•kernel.org,
codalist@coda•cs.cmu.edu, linux-bcachefs@vger•kernel.org,
linux-serial@vger•kernel.org, linux-ext4@vger•kernel.org,
devel@lists•orangefs.org, linux-trace-kernel@vger•kernel.org,
linux-cifs@vger•kernel.org, selinux@vger•kernel.org,
apparmor@lists•ubuntu.com, autofs@vger•kernel.org,
linux-um@lists•infradead.org, reiserfs-devel@vger•kernel.org,
ocfs2-devel@lists•linux.dev, ceph-devel@vger•kernel.org,
linux-nfs@vger•kernel.org, linux-ntfs-dev@lists•sourceforge.net,
linuxppc-dev@lists•ozlabs.org, v9fs@lists•linux.dev,
linux-usb@vger•kernel.org, samba-technical@lists•samba.org,
linux-kernel@vger•kernel.org,
linux-f2fs-devel@lists•sourcef orge.net,
linux-xfs@vger•kernel.org, linux-security-module@vger•kernel.org,
netdev@vger•kernel.org, linux-fsdevel@vger•kernel.org,
bpf@vger•kernel.org, ntfs3@lists•linux.dev,
linux-erofs@lists•ozlabs.org,
linux-karma-devel@lists•sourceforge.net,
linux-btrfs@vger•kernel.org
Subject: [PATCH v2 02/89] fs: convert core infrastructure to new timestamp accessors
Date: Wed, 4 Oct 2023 14:52:38 -0400 [thread overview]
Message-ID: <20231004185239.80830-2-jlayton@kernel.org> (raw)
In-Reply-To: <20231004185239.80830-1-jlayton@kernel.org>
Convert the core vfs code to use the new timestamp accessor functions.
Signed-off-by: Jeff Layton <jlayton@kernel•org>
---
fs/attr.c | 4 ++--
fs/bad_inode.c | 2 +-
fs/binfmt_misc.c | 2 +-
fs/inode.c | 35 +++++++++++++++++++++--------------
fs/nsfs.c | 2 +-
fs/pipe.c | 2 +-
fs/stack.c | 4 ++--
fs/stat.c | 4 ++--
8 files changed, 31 insertions(+), 24 deletions(-)
diff --git a/fs/attr.c b/fs/attr.c
index a8ae5f6d9b16..bdf5deb06ea9 100644
--- a/fs/attr.c
+++ b/fs/attr.c
@@ -308,9 +308,9 @@ void setattr_copy(struct mnt_idmap *idmap, struct inode *inode,
i_uid_update(idmap, attr, inode);
i_gid_update(idmap, attr, inode);
if (ia_valid & ATTR_ATIME)
- inode->i_atime = attr->ia_atime;
+ inode_set_atime_to_ts(inode, attr->ia_atime);
if (ia_valid & ATTR_MTIME)
- inode->i_mtime = attr->ia_mtime;
+ inode_set_mtime_to_ts(inode, attr->ia_mtime);
if (ia_valid & ATTR_CTIME)
inode_set_ctime_to_ts(inode, attr->ia_ctime);
if (ia_valid & ATTR_MODE) {
diff --git a/fs/bad_inode.c b/fs/bad_inode.c
index 83f9566c973b..316d88da2ce1 100644
--- a/fs/bad_inode.c
+++ b/fs/bad_inode.c
@@ -208,7 +208,7 @@ void make_bad_inode(struct inode *inode)
remove_inode_hash(inode);
inode->i_mode = S_IFREG;
- inode->i_atime = inode->i_mtime = inode_set_ctime_current(inode);
+ simple_inode_init_ts(inode);
inode->i_op = &bad_inode_ops;
inode->i_opflags &= ~IOP_XATTR;
inode->i_fop = &bad_file_ops;
diff --git a/fs/binfmt_misc.c b/fs/binfmt_misc.c
index e0108d17b085..5d2be9b0a0a5 100644
--- a/fs/binfmt_misc.c
+++ b/fs/binfmt_misc.c
@@ -547,7 +547,7 @@ static struct inode *bm_get_inode(struct super_block *sb, int mode)
if (inode) {
inode->i_ino = get_next_ino();
inode->i_mode = mode;
- inode->i_atime = inode->i_mtime = inode_set_ctime_current(inode);
+ simple_inode_init_ts(inode);
}
return inode;
}
diff --git a/fs/inode.c b/fs/inode.c
index 3bb6193f436c..4f8984b97df0 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -1837,27 +1837,29 @@ EXPORT_SYMBOL(bmap);
static int relatime_need_update(struct vfsmount *mnt, struct inode *inode,
struct timespec64 now)
{
- struct timespec64 ctime;
+ struct timespec64 atime, mtime, ctime;
if (!(mnt->mnt_flags & MNT_RELATIME))
return 1;
/*
* Is mtime younger than or equal to atime? If yes, update atime:
*/
- if (timespec64_compare(&inode->i_mtime, &inode->i_atime) >= 0)
+ atime = inode_get_atime(inode);
+ mtime = inode_get_mtime(inode);
+ if (timespec64_compare(&mtime, &atime) >= 0)
return 1;
/*
* Is ctime younger than or equal to atime? If yes, update atime:
*/
ctime = inode_get_ctime(inode);
- if (timespec64_compare(&ctime, &inode->i_atime) >= 0)
+ if (timespec64_compare(&ctime, &atime) >= 0)
return 1;
/*
* Is the previous atime value older than a day? If yes,
* update atime:
*/
- if ((long)(now.tv_sec - inode->i_atime.tv_sec) >= 24*60*60)
+ if ((long)(now.tv_sec - atime.tv_sec) >= 24*60*60)
return 1;
/*
* Good, we can skip the atime update:
@@ -1888,12 +1890,13 @@ int inode_update_timestamps(struct inode *inode, int flags)
if (flags & (S_MTIME|S_CTIME|S_VERSION)) {
struct timespec64 ctime = inode_get_ctime(inode);
+ struct timespec64 mtime = inode_get_mtime(inode);
now = inode_set_ctime_current(inode);
if (!timespec64_equal(&now, &ctime))
updated |= S_CTIME;
- if (!timespec64_equal(&now, &inode->i_mtime)) {
- inode->i_mtime = now;
+ if (!timespec64_equal(&now, &mtime)) {
+ inode_set_mtime_to_ts(inode, now);
updated |= S_MTIME;
}
if (IS_I_VERSION(inode) && inode_maybe_inc_iversion(inode, updated))
@@ -1903,8 +1906,10 @@ int inode_update_timestamps(struct inode *inode, int flags)
}
if (flags & S_ATIME) {
- if (!timespec64_equal(&now, &inode->i_atime)) {
- inode->i_atime = now;
+ struct timespec64 atime = inode_get_atime(inode);
+
+ if (!timespec64_equal(&now, &atime)) {
+ inode_set_atime_to_ts(inode, now);
updated |= S_ATIME;
}
}
@@ -1963,7 +1968,7 @@ EXPORT_SYMBOL(inode_update_time);
bool atime_needs_update(const struct path *path, struct inode *inode)
{
struct vfsmount *mnt = path->mnt;
- struct timespec64 now;
+ struct timespec64 now, atime;
if (inode->i_flags & S_NOATIME)
return false;
@@ -1989,7 +1994,8 @@ bool atime_needs_update(const struct path *path, struct inode *inode)
if (!relatime_need_update(mnt, inode, now))
return false;
- if (timespec64_equal(&inode->i_atime, &now))
+ atime = inode_get_atime(inode);
+ if (timespec64_equal(&atime, &now))
return false;
return true;
@@ -2106,17 +2112,18 @@ static int inode_needs_update_time(struct inode *inode)
{
int sync_it = 0;
struct timespec64 now = current_time(inode);
- struct timespec64 ctime;
+ struct timespec64 ts;
/* First try to exhaust all avenues to not sync */
if (IS_NOCMTIME(inode))
return 0;
- if (!timespec64_equal(&inode->i_mtime, &now))
+ ts = inode_get_mtime(inode);
+ if (!timespec64_equal(&ts, &now))
sync_it = S_MTIME;
- ctime = inode_get_ctime(inode);
- if (!timespec64_equal(&ctime, &now))
+ ts = inode_get_ctime(inode);
+ if (!timespec64_equal(&ts, &now))
sync_it |= S_CTIME;
if (IS_I_VERSION(inode) && inode_iversion_need_inc(inode))
diff --git a/fs/nsfs.c b/fs/nsfs.c
index 647a22433bd8..9a4b228d42fa 100644
--- a/fs/nsfs.c
+++ b/fs/nsfs.c
@@ -84,7 +84,7 @@ static int __ns_get_path(struct path *path, struct ns_common *ns)
return -ENOMEM;
}
inode->i_ino = ns->inum;
- inode->i_mtime = inode->i_atime = inode_set_ctime_current(inode);
+ simple_inode_init_ts(inode);
inode->i_flags |= S_IMMUTABLE;
inode->i_mode = S_IFREG | S_IRUGO;
inode->i_fop = &ns_file_operations;
diff --git a/fs/pipe.c b/fs/pipe.c
index 485e3be8903c..8916c455a469 100644
--- a/fs/pipe.c
+++ b/fs/pipe.c
@@ -908,7 +908,7 @@ static struct inode * get_pipe_inode(void)
inode->i_mode = S_IFIFO | S_IRUSR | S_IWUSR;
inode->i_uid = current_fsuid();
inode->i_gid = current_fsgid();
- inode->i_atime = inode->i_mtime = inode_set_ctime_current(inode);
+ simple_inode_init_ts(inode);
return inode;
diff --git a/fs/stack.c b/fs/stack.c
index b5e01bdb5f5f..f18920119944 100644
--- a/fs/stack.c
+++ b/fs/stack.c
@@ -66,8 +66,8 @@ void fsstack_copy_attr_all(struct inode *dest, const struct inode *src)
dest->i_uid = src->i_uid;
dest->i_gid = src->i_gid;
dest->i_rdev = src->i_rdev;
- dest->i_atime = src->i_atime;
- dest->i_mtime = src->i_mtime;
+ inode_set_atime_to_ts(dest, inode_get_atime(src));
+ inode_set_mtime_to_ts(dest, inode_get_mtime(src));
inode_set_ctime_to_ts(dest, inode_get_ctime(src));
dest->i_blkbits = src->i_blkbits;
dest->i_flags = src->i_flags;
diff --git a/fs/stat.c b/fs/stat.c
index d43a5cc1bfa4..24bb0209e459 100644
--- a/fs/stat.c
+++ b/fs/stat.c
@@ -57,8 +57,8 @@ void generic_fillattr(struct mnt_idmap *idmap, u32 request_mask,
stat->gid = vfsgid_into_kgid(vfsgid);
stat->rdev = inode->i_rdev;
stat->size = i_size_read(inode);
- stat->atime = inode->i_atime;
- stat->mtime = inode->i_mtime;
+ stat->atime = inode_get_atime(inode);
+ stat->mtime = inode_get_mtime(inode);
stat->ctime = inode_get_ctime(inode);
stat->blksize = i_blocksize(inode);
stat->blocks = inode->i_blocks;
--
2.41.0
next prev parent reply other threads:[~2023-10-04 22:08 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-04 18:52 [PATCH v2 00/89] fs: new accessor methods for inode atime and mtime Jeff Layton
2023-10-04 18:51 ` [PATCH v2 03/89] spufs: convert to new timestamp accessors Jeff Layton
2023-10-04 18:52 ` [PATCH v2 01/89] fs: new accessor methods for atime and mtime Jeff Layton
2023-10-04 18:52 ` Jeff Layton [this message]
2023-10-09 16:09 ` [PATCH v2 00/89] fs: new accessor methods for inode " Christian Brauner
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=20231004185239.80830-2-jlayton@kernel.org \
--to=jlayton@kernel$(echo .)org \
--cc=Dai.Ngo@oracle$(echo .)com \
--cc=adilger.kernel@dilger$(echo .)ca \
--cc=agordeev@linux$(echo .)ibm.com \
--cc=agruenba@redhat$(echo .)com \
--cc=aivazian.tigran@gmail$(echo .)com \
--cc=akpm@linux-foundation$(echo .)org \
--cc=al@alarsen$(echo .)net \
--cc=almaz.alexandrovich@paragon-software$(echo .)com \
--cc=amir73il@gmail$(echo .)com \
--cc=andrii@kernel$(echo .)org \
--cc=anna@kernel$(echo .)org \
--cc=anton.ivanov@cambridgegreys$(echo .)com \
--cc=anton@tuxera$(echo .)com \
--cc=apparmor@lists$(echo .)ubuntu.com \
--cc=ardb@kernel$(echo .)org \
--cc=arnd@arndb$(echo .)de \
--cc=arve@android$(echo .)com \
--cc=asmadeus@codewreck$(echo .)org \
--cc=ast@kernel$(echo .)org \
--cc=autofs@vger$(echo .)kernel.org \
--cc=bfoster@redhat$(echo .)com \
--cc=borntraeger@linux$(echo .)ibm.com \
--cc=brauner@kernel$(echo .)org \
--cc=bwarrum@linux$(echo .)ibm.com \
--cc=ceph-devel@vger$(echo .)kernel.org \
--cc=chandan.babu@oracle$(echo .)com \
--cc=chao@kernel$(echo .)org \
--cc=christophe.leroy@csgroup$(echo .)eu \
--cc=chuck.lever@oracle$(echo .)com \
--cc=clm@fb$(echo .)com \
--cc=cmllamas@google$(echo .)com \
--cc=coda@cs$(echo .)cmu.edu \
--cc=codalist@coda$(echo .)cs.cmu.edu \
--cc=daniel@iogearbox$(echo .)net \
--cc=davem@davemloft$(echo .)net \
--cc=dennis.dalessandro@cornelisnetworks$(echo .)com \
--cc=devel@lists$(echo .)orangefs.org \
--cc=dhowells@redhat$(echo .)com \
--cc=djwong@kernel$(echo .)org \
--cc=dlemoal@kernel$(echo .)org \
--cc=dsterba@suse$(echo .)com \
--cc=dsterba@suse$(echo .)cz \
--cc=dushistov@mail$(echo .)ru \
--cc=dwmw2@infradead$(echo .)org \
--cc=ebiederm@xmission$(echo .)com \
--cc=edumazet@google$(echo .)com \
--cc=eparis@parisplace$(echo .)org \
--cc=ericvh@kernel$(echo .)org \
--cc=gfs2@lists$(echo .)linux.dev \
--cc=gor@linux$(echo .)ibm.com \
--cc=gpiccoli@igalia$(echo .)com \
--cc=gregkh@linuxfoundation$(echo .)org \
--cc=haoluo@google$(echo .)com \
--cc=hca@linux$(echo .)ibm.com \
--cc=hch@infradead$(echo .)org \
--cc=hch@lst$(echo .)de \
--cc=hdegoede@redhat$(echo .)com \
--cc=hirofumi@mail$(echo .)parknet.co.jp \
--cc=hubcap@omnibond$(echo .)com \
--cc=hughd@google$(echo .)com \
--cc=huyue2@coolpad$(echo .)com \
--cc=idryomov@gmail$(echo .)com \
--cc=ilpo.jarvinen@linux$(echo .)intel.com \
--cc=jack@suse$(echo .)com \
--cc=jack@suse$(echo .)cz \
--cc=jaegeuk@kernel$(echo .)org \
--cc=jaharkes@cs$(echo .)cmu.edu \
--cc=jefflexu@linux$(echo .)alibaba.com \
--cc=jfs-discussion@lists$(echo .)sourceforge.net \
--cc=jgg@ziepe$(echo .)ca \
--cc=jirislaby@kernel$(echo .)org \
--cc=jk@ozlabs$(echo .)org \
--cc=jlbec@evilplan$(echo .)org \
--cc=jmorris@namei$(echo .)org \
--cc=joel@joelfernandes$(echo .)org \
--cc=johannes@sipsolutions$(echo .)net \
--cc=john.fastabend@gmail$(echo .)com \
--cc=john.johansen@canonical$(echo .)com \
--cc=jolsa@kernel$(echo .)org \
--cc=josef@toxicpanda$(echo .)com \
--cc=joseph.qi@linux$(echo .)alibaba.com \
--cc=jth@kernel$(echo .)org \
--cc=keescook@chromium$(echo .)org \
--cc=kent.overstreet@linux$(echo .)dev \
--cc=kolga@netapp$(echo .)com \
--cc=konishi.ryusuke@gmail$(echo .)com \
--cc=kpsingh@kernel$(echo .)org \
--cc=kuba@kernel$(echo .)org \
--cc=leon@kernel$(echo .)org \
--cc=linkinjeon@kernel$(echo .)org \
--cc=linux-afs@lists$(echo .)infradead.org \
--cc=linux-bcachefs@vger$(echo .)kernel.org \
--cc=linux-cifs@vger$(echo .)kernel.org \
--cc=linux-efi@vger$(echo .)kernel.org \
--cc=linux-ext4@vger$(echo .)kernel.org \
--cc=linux-f2fs-devel@lists$(echo .)sourcef \
--cc=linux-hardening@vger$(echo .)kernel.org \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=linux-mm@kvack$(echo .)org \
--cc=linux-mtd@lists$(echo .)infradead.org \
--cc=linux-nfs@vger$(echo .)kernel.org \
--cc=linux-nilfs@vger$(echo .)kernel.org \
--cc=linux-ntfs-dev@lists$(echo .)sourceforge.net \
--cc=linux-rdma@vger$(echo .)kernel.org \
--cc=linux-s390@vger$(echo .)kernel.org \
--cc=linux-serial@vger$(echo .)kernel.org \
--cc=linux-trace-kernel@vger$(echo .)kernel.org \
--cc=linux-um@lists$(echo .)infradead.org \
--cc=linux-unionfs@vger$(echo .)kernel.org \
--cc=linux-usb@vger$(echo .)kernel.org \
--cc=linux_oss@crudebyte$(echo .)com \
--cc=linuxppc-dev@lists$(echo .)ozlabs.org \
--cc=lsahlber@redhat$(echo .)com \
--cc=lucho@ionkov$(echo .)net \
--cc=luisbg@kernel$(echo .)org \
--cc=maco@android$(echo .)com \
--cc=malattia@linux$(echo .)it \
--cc=marc.dionne@auristor$(echo .)com \
--cc=mark@fasheh$(echo .)com \
--cc=markgross@kernel$(echo .)org \
--cc=martin.lau@linux$(echo .)dev \
--cc=martin@omnibond$(echo .)com \
--cc=mcgrof@kernel$(echo .)org \
--cc=me@bobcopeland$(echo .)com \
--cc=mhiramat@kernel$(echo .)org \
--cc=mike.kravetz@oracle$(echo .)com \
--cc=miklos@szeredi$(echo .)hu \
--cc=mikulas@artax$(echo .)karlin.mff.cuni.cz \
--cc=mpe@ellerman$(echo .)id.au \
--cc=muchun.song@linux$(echo .)dev \
--cc=naohiro.aota@wdc$(echo .)com \
--cc=neilb@suse$(echo .)de \
--cc=nico@fluxnic$(echo .)net \
--cc=npiggin@gmail$(echo .)com \
--cc=ocfs2-devel@lists$(echo .)linux.dev \
--cc=pabeni@redhat$(echo .)com \
--cc=paul@paul-moore$(echo .)com \
--cc=pc@manguebit$(echo .)com \
--cc=phillip@squashfs$(echo .)org.uk \
--cc=platform-driver-x86@vger$(echo .)kernel.org \
--cc=rafael@kernel$(echo .)org \
--cc=raven@themaw$(echo .)net \
--cc=reiserfs-devel@vger$(echo .)kernel.org \
--cc=richard@nod$(echo .)at \
--cc=rituagar@linux$(echo .)ibm.com \
--cc=rostedt@goodmis$(echo .)org \
--cc=rpeterso@redhat$(echo .)com \
--cc=salah.triki@gmail$(echo .)com \
--cc=samba-technical@lists$(echo .)samba.org \
--cc=sdf@google$(echo .)com \
--cc=selinux@vger$(echo .)kernel.org \
--cc=senozhatsky@chromium$(echo .)org \
--cc=serge@hallyn$(echo .)com \
--cc=sfrench@samba$(echo .)org \
--cc=shaggy@kernel$(echo .)org \
--cc=sj1557.seo@samsung$(echo .)com \
--cc=song@kernel$(echo .)org \
--cc=sprasad@microsoft$(echo .)com \
--cc=stephen.smalley.work@gmail$(echo .)com \
--cc=surenb@google$(echo .)com \
--cc=svens@linux$(echo .)ibm.com \
--cc=tj@kernel$(echo .)org \
--cc=tkjos@android$(echo .)com \
--cc=tom@talpey$(echo .)com \
--cc=tony.luck@intel$(echo .)com \
--cc=torvalds@linux-foundation$(echo .)org \
--cc=trond.myklebust@hammerspace$(echo .)com \
--cc=tytso@mit$(echo .)edu \
--cc=v9fs@lists$(echo .)linux.dev \
--cc=viro@zeniv$(echo .)linux.org.uk \
--cc=xiang@kernel$(echo .)org \
--cc=xiubli@redhat$(echo .)com \
--cc=yonghong.song@linux$(echo .)dev \
--cc=yzaikin@google$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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