fix
diff --git a/kernel/dir.c b/kernel/dir.c
index 093bbb9..6ae498c 100644
--- a/kernel/dir.c
+++ b/kernel/dir.c
@@ -647,7 +647,8 @@
 
 static int fuse_dir_fsync(struct file *file, struct dentry *de, int datasync)
 {
-	return fuse_fsync_common(file, de, datasync, 1);
+	/* nfsd can call this with no file */
+	return file ? fuse_fsync_common(file, de, datasync, 1) : 0;
 }
 
 static unsigned iattr_to_fattr(struct iattr *iattr, struct fuse_attr *fattr)