All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Howells <dhowells@redhat.com>
To: viro@ZenIV.linux.org.uk
Cc: linux-cifs@vger.kernel.org, linux-nfs@vger.kernel.org,
	samba-technical@lists.samba.org, linux-kernel@vger.kernel.org,
	dhowells@redhat.com, linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org
Subject: [PATCH 07/18] xstat: NFS: Return extended attributes [ver #6]
Date: Thu, 15 Jul 2010 03:17:18 +0100	[thread overview]
Message-ID: <20100715021717.5544.47926.stgit@warthog.procyon.org.uk> (raw)
In-Reply-To: <20100715021709.5544.64506.stgit@warthog.procyon.org.uk>

Return extended attributes from the NFS filesystem.  This includes the
following:

 (1) The change attribute as st_data_version if NFSv4.

 (2) FS_AUTOMOUNT_FL on referral/submount directories.

Furthermore, what nfs_getattr() does can be controlled as follows:

 (1) If AT_FORCE_ATTR_SYNC is indicated, or mtime, ctime or data_version (NFSv4
     only) are requested then the outstanding writes will be written to the
     server first.

 (2) The inode's attributes may be synchronised with the server:

     (a) If AT_FORCE_ATTR_SYNC is indicated or if atime is requested (and atime
     	 updating is not suppressed by a mount flag) then the attributes will
     	 be reread unconditionally.

     (b) If the data version or any of basic stats are requested then the
     	 attributes will be reread if the cached attributes have expired.

     (c) Otherwise the cached attributes will be used - even if expired -
     	 without reference to the server.

Signed-off-by: David Howells <dhowells@redhat.com>
---

 fs/nfs/inode.c |   46 ++++++++++++++++++++++++++++++++++------------
 1 files changed, 34 insertions(+), 12 deletions(-)

diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
index 099b351..8c6de96 100644
--- a/fs/nfs/inode.c
+++ b/fs/nfs/inode.c
@@ -495,11 +495,21 @@ void nfs_setattr_update_inode(struct inode *inode, struct iattr *attr)
 int nfs_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat)
 {
 	struct inode *inode = dentry->d_inode;
+	unsigned force = stat->query_flags & AT_FORCE_ATTR_SYNC;
 	int need_atime = NFS_I(inode)->cache_validity & NFS_INO_INVALID_ATIME;
 	int err;
 
-	/* Flush out writes to the server in order to update c/mtime.  */
-	if (S_ISREG(inode->i_mode)) {
+	if (NFS_SERVER(inode)->nfs_client->rpc_ops->version < 4)
+		stat->request_mask &= ~XSTAT_REQUEST_DATA_VERSION;
+
+	/* Flush out writes to the server in order to update c/mtime
+	 * or data version if the user wants them */
+	if ((force || stat->request_mask & (XSTAT_REQUEST_MTIME |
+					    XSTAT_REQUEST_CTIME |
+					    XSTAT_REQUEST_DATA_VERSION
+					    )) &&
+	    S_ISREG(inode->i_mode)
+	    ) {
 		err = filemap_write_and_wait(inode->i_mapping);
 		if (err)
 			goto out;
@@ -514,18 +524,30 @@ int nfs_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat)
 	 *  - NFS never sets MS_NOATIME or MS_NODIRATIME so there is
 	 *    no point in checking those.
 	 */
- 	if ((mnt->mnt_flags & MNT_NOATIME) ||
- 	    ((mnt->mnt_flags & MNT_NODIRATIME) && S_ISDIR(inode->i_mode)))
+	if (!(stat->request_mask & XSTAT_REQUEST_ATIME) ||
+	    (mnt->mnt_flags & MNT_NOATIME) ||
+	    ((mnt->mnt_flags & MNT_NODIRATIME) && S_ISDIR(inode->i_mode)))
 		need_atime = 0;
 
-	if (need_atime)
-		err = __nfs_revalidate_inode(NFS_SERVER(inode), inode);
-	else
-		err = nfs_revalidate_inode(NFS_SERVER(inode), inode);
-	if (!err) {
-		generic_fillattr(inode, stat);
-		stat->ino = nfs_compat_user_ino64(NFS_FILEID(inode));
+	if (force || stat->request_mask & (XSTAT_REQUEST__BASIC_STATS |
+					   XSTAT_REQUEST_DATA_VERSION)
+	    ) {
+		if (force || need_atime)
+			err = __nfs_revalidate_inode(NFS_SERVER(inode), inode);
+		else
+			err = nfs_revalidate_inode(NFS_SERVER(inode), inode);
+		if (err)
+			goto out;
 	}
+
+	generic_fillattr(inode, stat);
+	stat->ino = nfs_compat_user_ino64(NFS_FILEID(inode));
+
+	if (stat->request_mask & XSTAT_REQUEST_DATA_VERSION) {
+		stat->data_version = NFS_I(inode)->change_attr;
+		stat->result_mask |= XSTAT_REQUEST_DATA_VERSION;
+	}
+
 out:
 	return err;
 }
@@ -770,7 +792,7 @@ int nfs_revalidate_inode(struct nfs_server *server, struct inode *inode)
 static int nfs_invalidate_mapping(struct inode *inode, struct address_space *mapping)
 {
 	struct nfs_inode *nfsi = NFS_I(inode);
-	
+
 	if (mapping->nrpages != 0) {
 		int ret = invalidate_inode_pages2(mapping);
 		if (ret < 0)

WARNING: multiple messages have this Message-ID (diff)
From: David Howells <dhowells@redhat.com>
To: viro@ZenIV.linux.org.uk
Cc: dhowells@redhat.com, linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org, linux-cifs@vger.kernel.org,
	linux-kernel@vger.kernel.org, samba-technical@lists.samba.org,
	linux-ext4@vger.kernel.org
Subject: [PATCH 07/18] xstat: NFS: Return extended attributes [ver #6]
Date: Thu, 15 Jul 2010 03:17:18 +0100	[thread overview]
Message-ID: <20100715021717.5544.47926.stgit@warthog.procyon.org.uk> (raw)
In-Reply-To: <20100715021709.5544.64506.stgit@warthog.procyon.org.uk>

Return extended attributes from the NFS filesystem.  This includes the
following:

 (1) The change attribute as st_data_version if NFSv4.

 (2) FS_AUTOMOUNT_FL on referral/submount directories.

Furthermore, what nfs_getattr() does can be controlled as follows:

 (1) If AT_FORCE_ATTR_SYNC is indicated, or mtime, ctime or data_version (NFSv4
     only) are requested then the outstanding writes will be written to the
     server first.

 (2) The inode's attributes may be synchronised with the server:

     (a) If AT_FORCE_ATTR_SYNC is indicated or if atime is requested (and atime
     	 updating is not suppressed by a mount flag) then the attributes will
     	 be reread unconditionally.

     (b) If the data version or any of basic stats are requested then the
     	 attributes will be reread if the cached attributes have expired.

     (c) Otherwise the cached attributes will be used - even if expired -
     	 without reference to the server.

Signed-off-by: David Howells <dhowells@redhat.com>
---

 fs/nfs/inode.c |   46 ++++++++++++++++++++++++++++++++++------------
 1 files changed, 34 insertions(+), 12 deletions(-)

diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
index 099b351..8c6de96 100644
--- a/fs/nfs/inode.c
+++ b/fs/nfs/inode.c
@@ -495,11 +495,21 @@ void nfs_setattr_update_inode(struct inode *inode, struct iattr *attr)
 int nfs_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat)
 {
 	struct inode *inode = dentry->d_inode;
+	unsigned force = stat->query_flags & AT_FORCE_ATTR_SYNC;
 	int need_atime = NFS_I(inode)->cache_validity & NFS_INO_INVALID_ATIME;
 	int err;
 
-	/* Flush out writes to the server in order to update c/mtime.  */
-	if (S_ISREG(inode->i_mode)) {
+	if (NFS_SERVER(inode)->nfs_client->rpc_ops->version < 4)
+		stat->request_mask &= ~XSTAT_REQUEST_DATA_VERSION;
+
+	/* Flush out writes to the server in order to update c/mtime
+	 * or data version if the user wants them */
+	if ((force || stat->request_mask & (XSTAT_REQUEST_MTIME |
+					    XSTAT_REQUEST_CTIME |
+					    XSTAT_REQUEST_DATA_VERSION
+					    )) &&
+	    S_ISREG(inode->i_mode)
+	    ) {
 		err = filemap_write_and_wait(inode->i_mapping);
 		if (err)
 			goto out;
@@ -514,18 +524,30 @@ int nfs_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat)
 	 *  - NFS never sets MS_NOATIME or MS_NODIRATIME so there is
 	 *    no point in checking those.
 	 */
- 	if ((mnt->mnt_flags & MNT_NOATIME) ||
- 	    ((mnt->mnt_flags & MNT_NODIRATIME) && S_ISDIR(inode->i_mode)))
+	if (!(stat->request_mask & XSTAT_REQUEST_ATIME) ||
+	    (mnt->mnt_flags & MNT_NOATIME) ||
+	    ((mnt->mnt_flags & MNT_NODIRATIME) && S_ISDIR(inode->i_mode)))
 		need_atime = 0;
 
-	if (need_atime)
-		err = __nfs_revalidate_inode(NFS_SERVER(inode), inode);
-	else
-		err = nfs_revalidate_inode(NFS_SERVER(inode), inode);
-	if (!err) {
-		generic_fillattr(inode, stat);
-		stat->ino = nfs_compat_user_ino64(NFS_FILEID(inode));
+	if (force || stat->request_mask & (XSTAT_REQUEST__BASIC_STATS |
+					   XSTAT_REQUEST_DATA_VERSION)
+	    ) {
+		if (force || need_atime)
+			err = __nfs_revalidate_inode(NFS_SERVER(inode), inode);
+		else
+			err = nfs_revalidate_inode(NFS_SERVER(inode), inode);
+		if (err)
+			goto out;
 	}
+
+	generic_fillattr(inode, stat);
+	stat->ino = nfs_compat_user_ino64(NFS_FILEID(inode));
+
+	if (stat->request_mask & XSTAT_REQUEST_DATA_VERSION) {
+		stat->data_version = NFS_I(inode)->change_attr;
+		stat->result_mask |= XSTAT_REQUEST_DATA_VERSION;
+	}
+
 out:
 	return err;
 }
@@ -770,7 +792,7 @@ int nfs_revalidate_inode(struct nfs_server *server, struct inode *inode)
 static int nfs_invalidate_mapping(struct inode *inode, struct address_space *mapping)
 {
 	struct nfs_inode *nfsi = NFS_I(inode);
-	
+
 	if (mapping->nrpages != 0) {
 		int ret = invalidate_inode_pages2(mapping);
 		if (ret < 0)


  parent reply	other threads:[~2010-07-15  2:17 UTC|newest]

Thread overview: 261+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-15  2:17 [PATCH 00/18] Extended file stat functions [ver #6] David Howells
2010-07-15  2:17 ` David Howells
2010-07-15  2:17 ` [PATCH 01/18] Mark arguments to certain syscalls as being const " David Howells
2010-07-15  2:17   ` David Howells
2010-07-15  2:17 ` [PATCH 02/18] xstat: Add a pair of system calls to make extended file stats available " David Howells
2010-07-15  2:17   ` David Howells
2010-07-15 20:35   ` Arnd Bergmann
2010-07-15 20:35     ` Arnd Bergmann
     [not found]   ` <201007152235.22373.arnd-r2nGTMty4D4@public.gmane.org>
2010-07-15 21:53     ` David Howells
2010-07-15 21:53       ` David Howells
2010-07-16 10:24       ` David Howells
     [not found]         ` <8527.1279275842-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-07-16 11:02           ` Arnd Bergmann
2010-07-16 11:02             ` Arnd Bergmann
     [not found]         ` <201007161302.35775.arnd-r2nGTMty4D4@public.gmane.org>
2010-07-16 12:38           ` David Howells
2010-07-16 12:38             ` David Howells
     [not found]             ` <10677.1279283886-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-07-16 13:32               ` Arnd Bergmann
2010-07-16 13:32                 ` Arnd Bergmann
2010-07-17  5:51               ` Mark Harris
2010-07-17  5:51                 ` Mark Harris
2010-07-17  9:00                 ` Arnd Bergmann
     [not found]             ` <20100717055130.GA2053-EJgEOVOPJGBzbRFIqnYvSA@public.gmane.org>
2010-07-17  9:49               ` David Howells
2010-07-17  9:49                 ` David Howells
2010-07-17  9:49                 ` David Howells
     [not found]       ` <30646.1279230807-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-07-16 10:46         ` Arnd Bergmann
2010-07-16 10:46           ` Arnd Bergmann
     [not found]       ` <201007161246.15923.arnd-r2nGTMty4D4@public.gmane.org>
2010-07-16 15:10         ` David Howells
2010-07-16 15:10           ` David Howells
     [not found]       ` <20100715021712.5544.44845.stgit-S6HVgzuS8uM4Awkfq6JHfwNdhmdF6hFW@public.gmane.org>
2010-07-16  6:22         ` Mark Harris
2010-07-16  6:22           ` Mark Harris
2010-07-18  8:48         ` Christoph Hellwig
2010-07-18  8:48           ` Christoph Hellwig
2010-07-22 10:52           ` Jan Engelhardt
     [not found]           ` <alpine.LSU.2.01.1007221248050.9353-SHaQjdQMGhDmsUXKMKRlFA@public.gmane.org>
2010-07-22 12:25             ` David Howells
2010-07-22 12:25               ` David Howells
2010-07-22 10:35         ` Jan Engelhardt
2010-07-22 10:35           ` Jan Engelhardt
2010-07-19 14:05   ` David Howells
2010-07-19 15:17   ` Linus Torvalds
2010-07-19 15:17     ` Linus Torvalds
2010-07-19 15:17     ` Linus Torvalds
     [not found]   ` <AANLkTikuzYqYpGHcubb7QVciZW0dNFjOG82qIwy5M4gO-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-07-19 16:15     ` David Howells
2010-07-19 16:15       ` David Howells
     [not found]       ` <10783.1279556132-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-07-19 16:51         ` Linus Torvalds
2010-07-19 16:51           ` Linus Torvalds
2010-07-19 16:51           ` Linus Torvalds
     [not found]       ` <AANLkTinVns77R7yCCh-lydd0eQufdAF9O2OaWmCL7uSn-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-07-19 17:26         ` David Howells
2010-07-19 17:26           ` David Howells
     [not found]           ` <11817.1279560400-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-07-19 17:46             ` Linus Torvalds
2010-07-19 17:46               ` Linus Torvalds
2010-07-19 17:46               ` Linus Torvalds
     [not found]               ` <AANLkTikxHJgguNn6EOK6fX53xYSRPmcNjIeGSTigQ9qu-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-07-20  8:28                 ` Andreas Dilger
2010-07-20  8:28                   ` Andreas Dilger
2010-07-22 12:14   ` David Howells
2010-07-22 12:14     ` David Howells
2010-07-22 12:17     ` Volker Lendecke
2010-07-22 12:17       ` Volker Lendecke
     [not found]       ` <E1Obuiy-00C9jr-Al-dqLtpHMqGvUyWpdLl23E4A@public.gmane.org>
2010-07-22 13:05         ` Jan Engelhardt
2010-07-22 13:05           ` Jan Engelhardt
2010-07-22 15:14         ` Linus Torvalds
2010-07-22 15:14           ` Linus Torvalds
2010-07-22 15:14           ` Linus Torvalds
     [not found]           ` <AANLkTikBCXK6uEwWq4f0LvpdoKCPs3jvyFa4Zw4e2J_7-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-07-22 15:36             ` Volker Lendecke
2010-07-22 15:36               ` Volker Lendecke
2010-07-22 15:47               ` Linus Torvalds
2010-07-22 15:47                 ` Linus Torvalds
     [not found]                 ` <AANLkTimwIq0pBhCeOjOVjB0yeM3JHOvzVoj9M4ui6al9-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-07-22 16:06                   ` Greg Freemyer
2010-07-22 16:06                     ` Greg Freemyer
2010-07-22 16:06                     ` Greg Freemyer
     [not found]                     ` <AANLkTimsjARdMfnvFRSyy6gakCtVhGRBbyauVTc_Cuwt-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-07-22 16:07                       ` Greg Freemyer
2010-07-22 16:07                         ` Greg Freemyer
2010-07-22 16:07                         ` Greg Freemyer
2010-07-22 16:27                   ` Jeremy Allison
2010-07-22 16:27                     ` Jeremy Allison
2010-07-22 16:40                     ` Linus Torvalds
2010-07-22 16:40                       ` Linus Torvalds
2010-07-22 16:40                       ` Linus Torvalds
     [not found]                       ` <AANLkTimdFCGSKLn7aGMpBMIauHTsHY7hpAAmpo6uTcnD-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-07-22 16:58                         ` Trond Myklebust
2010-07-22 16:58                           ` Trond Myklebust
     [not found]                           ` <1279817930.3621.14.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2010-07-22 18:02                             ` Jeremy Allison
2010-07-22 18:02                               ` Jeremy Allison
2010-07-22 18:04                               ` Volker Lendecke
2010-07-22 18:04                                 ` Volker Lendecke
     [not found]                                 ` <E1Oc08W-00CZuz-Ns-dqLtpHMqGvUyWpdLl23E4A@public.gmane.org>
2010-07-22 18:07                                   ` Jeremy Allison
2010-07-22 18:07                                     ` Jeremy Allison
2010-07-22 18:59                                 ` Trond Myklebust
2010-07-30 17:55                                   ` Phil Pishioneri
2010-07-30 18:11                                     ` Trond Myklebust
2010-07-30 18:19                                       ` Phil Pishioneri
     [not found]                                       ` <1280513506.12852.22.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2010-07-31 18:41                                         ` Andreas Dilger
2010-07-31 18:41                                           ` Andreas Dilger
     [not found]                                           ` <09B770A6-48DB-4296-B6C2-BF46D4DC7E57-m1MBpc4rdrD3fQ9qLvQP4Q@public.gmane.org>
2010-07-31 18:48                                             ` Jan Engelhardt
2010-07-31 18:48                                               ` Jan Engelhardt
2010-07-31 19:03                                             ` Trond Myklebust
2010-07-31 19:03                                               ` Trond Myklebust
2010-07-31 21:20                                               ` Jan Engelhardt
2010-08-01 13:17                                         ` Jeff Layton
2010-08-01 13:17                                           ` Jeff Layton
2010-07-22 18:05                               ` Jan Engelhardt
     [not found]                                 ` <alpine.LSU.2.01.1007222004430.4215-SHaQjdQMGhDmsUXKMKRlFA@public.gmane.org>
2010-07-22 18:07                                   ` Jeremy Allison
2010-07-22 18:07                                     ` Jeremy Allison
2010-07-22 18:07                                     ` Jeremy Allison
2010-07-22 19:18                               ` John Stoffel
2010-07-22 19:18                                 ` John Stoffel
2010-07-22 17:03                         ` Jan Engelhardt
2010-07-22 17:03                           ` Jan Engelhardt
2010-07-22 17:16                           ` Trond Myklebust
     [not found]                             ` <1279818967.3621.23.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2010-07-22 17:36                               ` Jan Engelhardt
2010-07-22 17:36                                 ` Jan Engelhardt
     [not found]                           ` <alpine.LSU.2.01.1007221859180.27496-SHaQjdQMGhDmsUXKMKRlFA@public.gmane.org>
2010-07-22 17:24                             ` Linus Torvalds
2010-07-22 17:24                               ` Linus Torvalds
2010-07-22 17:24                               ` Linus Torvalds
     [not found]                               ` <AANLkTilmVdyVdO4EmVtTYi_cvMmPqNEPEnzUkJdk1XyR-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-07-22 18:15                                 ` Jeremy Allison
2010-07-22 18:15                                   ` Jeremy Allison
2010-07-22 18:41                                 ` Greg Freemyer
2010-07-22 18:41                                   ` Greg Freemyer
2010-07-22 18:41                                   ` Greg Freemyer
2010-07-22 18:21                               ` Benny Halevy
2010-07-22 18:45                                 ` Greg Freemyer
2010-07-22 18:45                                   ` Greg Freemyer
2010-07-22 19:53                                   ` Benny Halevy
2010-07-28  1:15                               ` Neil Brown
2010-07-28 17:28                               ` David Howells
2010-07-28 23:04                                 ` Neil Brown
2010-07-30 18:38                                   ` J. Bruce Fields
2010-08-01 13:40                                   ` Jeff Layton
2010-08-01 13:40                                     ` Jeff Layton
2010-08-02 14:09                                     ` Greg Freemyer
2010-08-02 14:09                                       ` Greg Freemyer
     [not found]                                       ` <AANLkTi=JvwrwpmteFcXW1f5s95+_w_iCT+04Sy7bbTtR-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-08-02 14:42                                         ` Jeff Layton
2010-08-02 14:42                                           ` Jeff Layton
2010-07-29 16:15                                 ` David Howells
     [not found]                                   ` <319.1280420115-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-08-03  1:13                                     ` Neil Brown
2010-08-03  1:13                                       ` Neil Brown
2010-07-22 17:12                         ` Jim Rees
2010-07-22 17:12                           ` Jim Rees
2010-07-22 17:32                           ` Linus Torvalds
2010-07-22 17:32                             ` Linus Torvalds
2010-07-22 17:32                             ` Linus Torvalds
2010-07-30 21:22                         ` utz lehmann
2010-07-30 21:22                           ` utz lehmann
     [not found]                           ` <1280524978.2452.9.camel-mrvVnycP54q9CgvvYfeeSAlEImK53Lvc@public.gmane.org>
2010-07-31  8:08                             ` Jan Engelhardt
2010-07-31  8:08                               ` Jan Engelhardt
     [not found]                               ` <alpine.LSU.2.01.1007311006070.19122-SHaQjdQMGhDmsUXKMKRlFA@public.gmane.org>
2010-07-31 14:43                                 ` utz lehmann
2010-07-31 14:43                                   ` utz lehmann
2010-07-31 16:53                             ` David Howells
2010-07-31 16:53                               ` David Howells
     [not found]                               ` <3533.1280595212-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-07-31 18:05                                 ` utz lehmann
2010-07-31 18:05                                   ` utz lehmann
     [not found]                               ` <1280599521.2720.5.camel-mrvVnycP54q9CgvvYfeeSAlEImK53Lvc@public.gmane.org>
2010-07-31 19:26                                 ` David Howells
2010-07-31 19:26                                   ` David Howells
2010-08-01 13:25                             ` Jeff Layton
2010-08-01 13:25                               ` Jeff Layton
     [not found]                               ` <20100801092529.5e6ba0e0-4QP7MXygkU+dMjc06nkz3ljfA9RmPOcC@public.gmane.org>
2010-08-05 23:52                                 ` Jeremy Allison
2010-08-05 23:52                                   ` Jeremy Allison
2010-08-06  3:38                                   ` Neil Brown
2010-08-06  3:38                                     ` Neil Brown
2010-08-06  3:55                                     ` Steve French
2010-08-06  3:55                                       ` Steve French
2010-08-06  3:55                                       ` Steve French
     [not found]                                       ` <AANLkTinVCLVpqLtA2X=1mOkxX7Re61_ZYsUix_XTvZ5D-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-08-06 11:18                                         ` Jeff Layton
2010-08-06 11:18                                           ` Jeff Layton
2010-08-06 23:30                                         ` Neil Brown
2010-08-06 23:30                                           ` Neil Brown
2010-08-06 23:58                                           ` Steve French
2010-08-06 23:58                                             ` Steve French
2010-08-06 23:58                                             ` Steve French
     [not found]                                             ` <AANLkTikDBg5Brt=55Tsu8ozk0aVx=srpxP=U-sFqeBYL-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-08-07  0:29                                               ` Neil Brown
2010-08-07  0:29                                                 ` Neil Brown
2010-08-07  2:42                                                 ` Steve French
2010-08-07  2:42                                                   ` Steve French
2010-08-07  2:42                                                   ` Steve French
     [not found]                                                   ` <AANLkTinEFFAWMu62j2sCPy=ArExZNm2miJOGoXbG65jC-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-08-07  2:54                                                     ` Steve French
2010-08-07  2:54                                                       ` Steve French
2010-08-07  2:54                                                       ` Steve French
     [not found]                                                       ` <AANLkTik7KhgF=pkpdEcsYM75NVXNmU4ynzdh3KWknTEL-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-08-07  3:32                                                         ` Neil Brown
2010-08-07  3:32                                                           ` Neil Brown
2010-08-07 10:34                                                           ` Jeff Layton
2010-08-07 10:34                                                             ` Jeff Layton
     [not found]                                                             ` <20100807063400.6bd1776f-9yPaYZwiELC+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2010-08-07 11:04                                                               ` Neil Brown
2010-08-07 11:04                                                                 ` Neil Brown
2010-08-08 12:12                                     ` Jeremy Allison
2010-08-08 12:12                                       ` Jeremy Allison
2010-08-08 12:53                                       ` Jeff Layton
2010-08-08 12:53                                         ` Jeff Layton
     [not found]                                         ` <20100808085301.24f53e5a-9yPaYZwiELC+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2010-08-08 13:05                                           ` Jeremy Allison
2010-08-08 13:05                                             ` Jeremy Allison
2010-08-13 12:54                                             ` J. Bruce Fields
2010-08-13 12:54                                               ` J. Bruce Fields
     [not found]                                               ` <20100813125432.GB8945-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2010-08-13 17:54                                                 ` Jeremy Allison
2010-08-13 17:54                                                   ` Jeremy Allison
2010-08-13 18:09                                                   ` Steve French
2010-08-13 18:09                                                     ` Steve French
2010-08-13 19:06                                                   ` Jan Engelhardt
2010-08-13 19:06                                                     ` Jan Engelhardt
     [not found]                                                     ` <alpine.LSU.2.01.1008132104290.12206-SHaQjdQMGhDmsUXKMKRlFA@public.gmane.org>
2010-08-13 19:19                                                       ` Jeremy Allison
2010-08-13 19:19                                                         ` Jeremy Allison
2010-08-16 18:04                                                         ` J. Bruce Fields
2010-08-16 18:04                                                           ` J. Bruce Fields
2010-08-16 18:08                                                   ` J. Bruce Fields
2010-08-16 18:08                                                     ` J. Bruce Fields
     [not found]                                                     ` <20100816180828.GB7764-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2010-08-16 19:07                                                       ` Jeremy Allison
2010-08-16 19:07                                                         ` Jeremy Allison
2010-08-08 23:07                                       ` Neil Brown
2010-08-08 23:07                                         ` Neil Brown
2010-07-23  1:03                       ` tridge
2010-07-23  1:03                         ` tridge
     [not found]                         ` <19528.60019.28495.655512-eUNUBHrolfbYtjvyW6yDsg@public.gmane.org>
2010-07-23  1:21                           ` Ted Ts'o
2010-07-23  1:21                             ` Ted Ts'o
2010-07-23  9:14                             ` Björn Jacke
     [not found]                             ` <20100723012130.GD16373-AKGzg7BKzIDYtjvyW6yDsg@public.gmane.org>
2010-07-23  2:12                               ` tridge-eUNUBHrolfbYtjvyW6yDsg
2010-07-23  2:12                                 ` tridge
2010-07-23  9:14                               ` Björn Jacke
2010-07-23  9:14                                 ` Björn Jacke
2010-07-23  9:14                             ` Björn Jacke
2010-07-22 16:25                 ` Jan Engelhardt
     [not found]               ` <AANLkTimwIq0pBhCeOjOVjB0y  <1280603032.3125.24.camel@heimdal.trondhjem.org>
     [not found]                 ` <1280603032.3125.24.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2010-08-01 16:18                   ` utz lehmann
2010-08-01 16:18                     ` utz lehmann
2010-07-22 15:46           ` Jan Engelhardt
2010-07-22 15:46             ` Jan Engelhardt
     [not found]           ` <alpine.LSU.2.01.1007221740570.12308-SHaQjdQMGhDmsUXKMKRlFA@public.gmane.org>
2010-07-22 16:06             ` David Howells
2010-07-22 16:06               ` David Howells
2010-07-15  2:17 ` [PATCH 03/18] AFS: Use i_generation not i_version for the vnode uniquifier " David Howells
2010-07-15  2:17 ` [PATCH 04/18] xstat: AFS: Return extended attributes " David Howells
2010-07-15  2:17   ` David Howells
2010-07-15  2:17 ` [PATCH 05/18] xstat: eCryptFS: " David Howells
2010-07-15  2:17   ` David Howells
2010-07-15  2:17 ` [PATCH 06/18] xstat: Ext4: " David Howells
2010-07-15  2:17   ` David Howells
2010-07-15  2:17 ` David Howells [this message]
2010-07-15  2:17   ` [PATCH 07/18] xstat: NFS: " David Howells
2010-07-15  2:17 ` [PATCH 08/18] xstat: CIFS: " David Howells
2010-07-15  2:17 ` [PATCH 09/18] xstat: Make special system filesystems return FS_SPECIAL_FL " David Howells
2010-07-15  2:17   ` David Howells
2010-07-18  8:49   ` Christoph Hellwig
2010-07-19 14:09   ` David Howells
2010-07-19 14:09     ` David Howells
     [not found]   ` <8426.1279548573-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-07-27 13:41     ` David Howells
2010-07-27 13:41       ` David Howells
2010-07-15  2:17 ` [PATCH 10/18] xstat: Make network filesystems return FS_REMOTE_FL " David Howells
2010-07-15  2:17   ` David Howells
2010-07-15  2:17 ` [PATCH 11/18] xstat: Make automounter filesystems return FS_AUTOMOUNT_FL " David Howells
2010-07-15  2:17   ` David Howells
2010-07-15  2:17 ` [PATCH 12/18] xstat: Add a dentry op to handle automounting rather than abusing follow_link() " David Howells
2010-07-15  2:17   ` David Howells
     [not found]   ` <20100715021723.5544.85730.stgit-S6HVgzuS8uM4Awkfq6JHfwNdhmdF6hFW@public.gmane.org>
2010-07-18  8:50     ` Christoph Hellwig
2010-07-18  8:50       ` Christoph Hellwig
     [not found]   ` <20100718085048.GC27794-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2010-07-19 14:10     ` David Howells
2010-07-19 14:10       ` David Howells
2010-07-15  2:17 ` [PATCH 13/18] xstat: AFS: Use d_automount() " David Howells
2010-07-15  2:17   ` David Howells
2010-07-15  2:17 ` [PATCH 14/18] xstat: NFS: " David Howells
2010-07-15  2:17   ` David Howells
2010-07-15  2:17 ` [PATCH 15/18] xstat: CIFS: " David Howells
2010-07-15  2:17 ` [PATCH 16/18] xstat: Remove the automount through follow_link() kludge code from pathwalk " David Howells
2010-07-15  2:17 ` [PATCH 17/18] xstat: Add an AT_NO_AUTOMOUNT flag to suppress terminal automount " David Howells
     [not found] ` <20100715021709.5544.64506.stgit-S6HVgzuS8uM4Awkfq6JHfwNdhmdF6hFW@public.gmane.org>
2010-07-15  2:17   ` [PATCH 18/18] xstat: Provide a mechanism to gather extra results for [f]xstat() " David Howells
2010-07-15  2:17     ` David Howells
2010-07-15  2:17     ` David Howells
     [not found]     ` <20100715021730.5544.68442.stgit-S6HVgzuS8uM4Awkfq6JHfwNdhmdF6hFW@public.gmane.org>
2010-07-18  8:51       ` Christoph Hellwig
2010-07-18  8:51         ` Christoph Hellwig
2010-07-18  8:51         ` Christoph Hellwig

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=20100715021717.5544.47926.stgit@warthog.procyon.org.uk \
    --to=dhowells@redhat.com \
    --cc=linux-cifs@vger.kernel.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=samba-technical@lists.samba.org \
    --cc=viro@ZenIV.linux.org.uk \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.