diff options
Diffstat (limited to 'fs/super.c')
| -rw-r--r-- | fs/super.c | 8 | 
1 files changed, 5 insertions, 3 deletions
diff --git a/fs/super.c b/fs/super.c index 8a06881b1920..ab3d672db0de 100644 --- a/fs/super.c +++ b/fs/super.c @@ -31,6 +31,7 @@  #include <linux/mutex.h>  #include <linux/backing-dev.h>  #include <linux/rculist_bl.h> +#include <linux/cleancache.h>  #include "internal.h" @@ -112,6 +113,7 @@ static struct super_block *alloc_super(struct file_system_type *type)  		s->s_maxbytes = MAX_NON_LFS;  		s->s_op = &default_op;  		s->s_time_gran = 1000000000; +		s->cleancache_poolid = -1;  	}  out:  	return s; @@ -177,6 +179,7 @@ void deactivate_locked_super(struct super_block *s)  {  	struct file_system_type *fs = s->s_type;  	if (atomic_dec_and_test(&s->s_active)) { +		cleancache_flush_fs(s);  		fs->kill_sb(s);  		/*  		 * We need to call rcu_barrier so all the delayed rcu free @@ -819,7 +822,7 @@ struct dentry *mount_bdev(struct file_system_type *fs_type,  	} else {  		char b[BDEVNAME_SIZE]; -		s->s_flags = flags; +		s->s_flags = flags | MS_NOSEC;  		s->s_mode = mode;  		strlcpy(s->s_id, bdevname(bdev, b), sizeof(s->s_id));  		sb_set_blocksize(s, block_size(bdev)); @@ -948,8 +951,7 @@ mount_fs(struct file_system_type *type, int flags, const char *name, void *data)  	 * filesystems should never set s_maxbytes larger than MAX_LFS_FILESIZE  	 * but s_maxbytes was an unsigned long long for many releases. Throw  	 * this warning for a little while to try and catch filesystems that -	 * violate this rule. This warning should be either removed or -	 * converted to a BUG() in 2.6.34. +	 * violate this rule.  	 */  	WARN((sb->s_maxbytes < 0), "%s set sb->s_maxbytes to "  		"negative value (%lld)\n", type->name, sb->s_maxbytes);  | 
