X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=module%2Fzfs%2Fzpl_super.c;h=6e8265dac42b44258b4d1dd953868ddef6f099be;hb=0d3ac5e7356d29fbb7d2880c0a0c457656355ca0;hp=0417ce2ff719b5e4d09165ce8f2c77c6510791c6;hpb=2c395def2763ccc7a549d297f7f11bd304caaeae;p=zfs.git diff --git a/module/zfs/zpl_super.c b/module/zfs/zpl_super.c index 0417ce2..6e8265d 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,11 +203,9 @@ 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, };