}
static int
+zpl_sync_fs(struct super_block *sb, int wait)
+{
+ cred_t *cr = CRED();
+ int error;
+
+ crhold(cr);
+ error = -zfs_sync(sb, wait, cr);
+ crfree(cr);
+ ASSERT3S(error, <=, 0);
+
+ return (error);
+}
+
+static int
zpl_statfs(struct dentry *dentry, struct kstatfs *statp)
{
int error;
}
static int
+zpl_remount_fs(struct super_block *sb, int *flags, char *data)
+{
+ int error;
+ error = -zfs_remount(sb, flags, data);
+ ASSERT3S(error, <=, 0);
+
+ return (error);
+}
+
+static int
zpl_show_options(struct seq_file *seq, struct vfsmount *vfsp)
{
struct super_block *sb = vfsp->mnt_sb;
#endif /* HAVE_EVICT_INODE */
.put_super = zpl_put_super,
.write_super = NULL,
- .sync_fs = NULL,
- .freeze_fs = NULL,
- .unfreeze_fs = NULL,
+ .sync_fs = zpl_sync_fs,
.statfs = zpl_statfs,
- .remount_fs = NULL,
+ .remount_fs = zpl_remount_fs,
.show_options = zpl_show_options,
.show_stats = NULL,
};
-#if 0
-const struct export_operations zpl_export_operations = {
- .fh_to_dentry = NULL,
- .fh_to_parent = NULL,
- .get_parent = NULL,
-};
-#endif
-
struct file_system_type zpl_fs_type = {
.owner = THIS_MODULE,
.name = ZFS_DRIVER,