All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] 2.4.19-rc1/2.5.25 provide dummy fsync() routine for directories on NFS mounts
@ 2002-07-09 13:49 Trond Myklebust
  2002-07-09 14:06 ` Richard B. Johnson
                   ` (2 more replies)
  0 siblings, 3 replies; 50+ messages in thread
From: Trond Myklebust @ 2002-07-09 13:49 UTC (permalink / raw)
  To: nfs, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 361 bytes --]

Hi,

   There was a bug reported on the 'exim' user list a couple of months ago: 
the Linux NFS client reports -EINVAL if you try to fsync() a directory.

   The correct response would be to return a dummy '0' for success, since all 
NFS operations that change the directory are supposed to be performed 
synchronously on the server anyway...

Cheers,
  Trond


[-- Attachment #2: linux-2.4.19-fsync_dir.dif --]
[-- Type: text/plain, Size: 1071 bytes --]

diff -u --recursive --new-file linux-2.4.19-rc1/fs/nfs/dir.c linux-2.4.19-fsync_dir/fs/nfs/dir.c
--- linux-2.4.19-rc1/fs/nfs/dir.c	Tue Mar 12 16:35:02 2002
+++ linux-2.4.19-fsync_dir/fs/nfs/dir.c	Tue Jul  9 15:41:29 2002
@@ -45,12 +45,14 @@
 static int nfs_mknod(struct inode *, struct dentry *, int, int);
 static int nfs_rename(struct inode *, struct dentry *,
 		      struct inode *, struct dentry *);
+static int nfs_fsync_dir(struct file *, struct dentry *, int);
 
 struct file_operations nfs_dir_operations = {
 	read:		generic_read_dir,
 	readdir:	nfs_readdir,
 	open:		nfs_open,
 	release:	nfs_release,
+	fsync:		nfs_fsync_dir
 };
 
 struct inode_operations nfs_dir_inode_operations = {
@@ -401,6 +403,15 @@
 	return 0;
 }
 
+/*
+ * All directory operations under NFS are synchronous, so fsync()
+ * is a dummy operation.
+ */
+int nfs_fsync_dir(struct file *filp, struct dentry *dentry, int datasync)
+{
+	return 0;
+}
+
 /*
  * A check for whether or not the parent directory has changed.
  * In the case it has, we assume that the dentries are untrustworthy

^ permalink raw reply	[flat|nested] 50+ messages in thread
* [PATCH] 2.4.19-rc1/2.5.25 provide dummy fsync() routine for directories on NFS mounts
@ 2002-07-09 13:49 Trond Myklebust
  0 siblings, 0 replies; 50+ messages in thread
From: Trond Myklebust @ 2002-07-09 13:49 UTC (permalink / raw)
  To: nfs, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 361 bytes --]

Hi,

   There was a bug reported on the 'exim' user list a couple of months ago: 
the Linux NFS client reports -EINVAL if you try to fsync() a directory.

   The correct response would be to return a dummy '0' for success, since all 
NFS operations that change the directory are supposed to be performed 
synchronously on the server anyway...

Cheers,
  Trond


[-- Attachment #2: linux-2.4.19-fsync_dir.dif --]
[-- Type: text/plain, Size: 1071 bytes --]

diff -u --recursive --new-file linux-2.4.19-rc1/fs/nfs/dir.c linux-2.4.19-fsync_dir/fs/nfs/dir.c
--- linux-2.4.19-rc1/fs/nfs/dir.c	Tue Mar 12 16:35:02 2002
+++ linux-2.4.19-fsync_dir/fs/nfs/dir.c	Tue Jul  9 15:41:29 2002
@@ -45,12 +45,14 @@
 static int nfs_mknod(struct inode *, struct dentry *, int, int);
 static int nfs_rename(struct inode *, struct dentry *,
 		      struct inode *, struct dentry *);
+static int nfs_fsync_dir(struct file *, struct dentry *, int);
 
 struct file_operations nfs_dir_operations = {
 	read:		generic_read_dir,
 	readdir:	nfs_readdir,
 	open:		nfs_open,
 	release:	nfs_release,
+	fsync:		nfs_fsync_dir
 };
 
 struct inode_operations nfs_dir_inode_operations = {
@@ -401,6 +403,15 @@
 	return 0;
 }
 
+/*
+ * All directory operations under NFS are synchronous, so fsync()
+ * is a dummy operation.
+ */
+int nfs_fsync_dir(struct file *filp, struct dentry *dentry, int datasync)
+{
+	return 0;
+}
+
 /*
  * A check for whether or not the parent directory has changed.
  * In the case it has, we assume that the dentries are untrustworthy

^ permalink raw reply	[flat|nested] 50+ messages in thread
[parent not found: <E17SjDh-00067R-00@usw-sf-list2.sourceforge.net>]

end of thread, other threads:[~2002-07-16  1:37 UTC | newest]

Thread overview: 50+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-07-09 13:49 [PATCH] 2.4.19-rc1/2.5.25 provide dummy fsync() routine for directories on NFS mounts Trond Myklebust
2002-07-09 14:06 ` Richard B. Johnson
2002-07-09 14:06 ` Richard B. Johnson
2002-07-09 14:08   ` Trond Myklebust
2002-07-09 14:08   ` Trond Myklebust
2002-07-09 15:06     ` Richard B. Johnson
2002-07-09 15:06     ` Richard B. Johnson
2002-07-09 16:56       ` Alan Cox
2002-07-09 16:56         ` Alan Cox
2002-07-09 17:22         ` Richard B. Johnson
2002-07-09 17:22           ` Richard B. Johnson
2002-07-09 18:58           ` [NFS] " Bill Rugolsky Jr.
2002-07-09 18:58           ` Bill Rugolsky Jr.
2002-07-09 19:11           ` Alan Cox
2002-07-09 19:11             ` Alan Cox
2002-07-09 19:13             ` Richard B. Johnson
2002-07-09 19:39               ` [PATCH] 2.4.19-rc1/2.5.25 provide dummy fsync() routine fordirectories " David Dillow
2002-07-09 19:59               ` [PATCH] 2.4.19-rc1/2.5.25 provide dummy fsync() routine for directories " Alan Cox
2002-07-09 19:59                 ` Alan Cox
2002-07-09 19:50                 ` Richard B. Johnson
2002-07-09 19:50                 ` Richard B. Johnson
2002-07-15  7:52                   ` Sean Hunter
2002-07-15 12:45                     ` Richard B. Johnson
2002-07-15 12:45                     ` Richard B. Johnson
2002-07-15 13:35                       ` Matthias Andree
     [not found]                         ` <mit.lcs.mail.linux-kernel/20020715133507.GF32155@merlin.emma.line.org>
2002-07-15 14:49                           ` Patrick J. LoPresti
2002-07-15 15:18                             ` Matthias Andree
     [not found]                               ` <mit.lcs.mail.linux-kernel/20020715151833.GA22828@merlin.emma.line.org>
2002-07-15 16:10                                 ` Patrick J. LoPresti
2002-07-15 18:16                                   ` Matthias Andree
     [not found]                                     ` <mit.lcs.mail.linux-kernel/20020715181650.GA20665@merlin.emma.line.org>
2002-07-15 18:56                                       ` Patrick J. LoPresti
2002-07-15 20:50                                         ` Matthias Andree
2002-07-15 16:16                             ` Alan Cox
2002-07-15 15:19                               ` Matthias Andree
2002-07-15 16:45                                 ` Alan Cox
2002-07-15 15:38                               ` Patrick J. LoPresti
2002-07-15 16:55                                 ` Alan Cox
2002-07-15 15:29                                   ` [PATCH] 2.4.19-rc1/2.5.25 provide dummy fsync() routine fordirectories " Sandy Harris
2002-07-15 20:17                                   ` [PATCH] 2.4.19-rc1/2.5.25 provide dummy fsync() routine for directories " Patrick J. LoPresti
2002-07-16  1:40                                     ` jw schultz
2002-07-15 15:20                         ` Bill Rugolsky Jr.
2002-07-15 15:35                           ` Matthias Andree
2002-07-15 16:14                             ` Bill Rugolsky Jr.
2002-07-09 19:13             ` Richard B. Johnson
2002-07-10  6:33   ` Alex Riesen
2002-07-10 11:20     ` Richard B. Johnson
2002-07-11 10:52 ` Matthias Andree
2002-07-11 11:26   ` Trond Myklebust
  -- strict thread matches above, loose matches on Subject: below --
2002-07-09 13:49 Trond Myklebust
     [not found] <E17SjDh-00067R-00@usw-sf-list2.sourceforge.net>
2002-07-11 19:14 ` Rex Dieter
2002-07-11 20:05   ` Tom McNeal

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.