X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=module%2Fzfs%2Fzpl_super.c;h=6e8265dac42b44258b4d1dd953868ddef6f099be;hb=0d3ac5e7356d29fbb7d2880c0a0c457656355ca0;hp=73e5268f5107421b52fd8841673472b659561a59;hpb=03f9ba9d990efb911026ebee0902671915db01a3;p=zfs.git diff --git a/module/zfs/zpl_super.c b/module/zfs/zpl_super.c index 73e5268..6e8265d 100644 --- a/module/zfs/zpl_super.c +++ b/module/zfs/zpl_super.c @@ -107,12 +107,12 @@ zpl_put_super(struct super_block *sb) static int zpl_sync_fs(struct super_block *sb, int wait) { - cred_t *cr; + cred_t *cr = CRED(); int error; - cr = (cred_t *)get_current_cred(); + crhold(cr); error = -zfs_sync(sb, wait, cr); - put_cred(cr); + crfree(cr); ASSERT3S(error, <=, 0); return (error); @@ -130,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; @@ -194,10 +204,8 @@ const struct super_operations zpl_super_operations = { .put_super = zpl_put_super, .write_super = NULL, .sync_fs = zpl_sync_fs, - .freeze_fs = NULL, - .unfreeze_fs = NULL, .statfs = zpl_statfs, - .remount_fs = NULL, + .remount_fs = zpl_remount_fs, .show_options = zpl_show_options, .show_stats = NULL, };