diff -u --recursive --new-file linux-2.4.19-call_start2/fs/nfs/dir.c linux-2.4.19-fix_fsync/fs/nfs/dir.c --- linux-2.4.19-call_start2/fs/nfs/dir.c Mon Jul 8 15:08:25 2002 +++ linux-2.4.19-fix_fsync/fs/nfs/dir.c Tue Jul 9 15:26:42 2002 @@ -48,6 +48,7 @@ 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 = { llseek: nfs_dir_llseek, @@ -55,6 +56,7 @@ readdir: nfs_readdir, open: nfs_open, release: nfs_release, + fsync: nfs_fsync_dir }; struct inode_operations nfs_dir_inode_operations = { @@ -454,6 +456,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