X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=module%2Fzfs%2Fzpl_super.c;h=493783213787c738cd830330fbeb47c014839004;hb=055656d4f4dfc1a85646a2c0cc10b9dce86da72b;hp=0417ce2ff719b5e4d09165ce8f2c77c6510791c6;hpb=2c395def2763ccc7a549d297f7f11bd304caaeae;p=zfs.git diff --git a/module/zfs/zpl_super.c b/module/zfs/zpl_super.c index 0417ce2..4937832 100644 --- a/module/zfs/zpl_super.c +++ b/module/zfs/zpl_super.c @@ -105,6 +105,20 @@ zpl_put_super(struct super_block *sb) } 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; @@ -116,6 +130,16 @@ zpl_statfs(struct dentry *dentry, struct kstatfs *statp) } 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; @@ -179,23 +203,13 @@ const struct super_operations zpl_super_operations = { #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,