[Devel] [PATCH vz9] fs: support syncing nested mount namespaces in CT

Vasily Averin vvs at virtuozzo.com
Mon Nov 1 12:46:56 MSK 2021


On 01.11.2021 11:11, Nikita Yushchenko wrote:
>  static void sync_fs_one_sb(struct super_block *sb, void *arg)
>  {
> +	struct sync_arg *sarg = arg;
> +
> +	if (sarg->ve && !is_sb_ve_accessible(sarg->ve, sb))
> +		return;
> +
>  	if (!sb_rdonly(sb) && !(sb->s_iflags & SB_I_SKIP_SYNC) &&
>  	    sb->s_op->sync_fs)
> -		sb->s_op->sync_fs(sb, *(int *)arg);
> +		sb->s_op->sync_fs(sb, sarg->wait);
> +
> +	/* For ve-local sync, process bdev here, since there is no easy
> +	 * equivalent of is_sb_ve_accessible() for bdevs
> +	 */
> +	if (sarg->ve)
> +		__sync_blockdev(sb->s_bdev, sarg->wait);

should we perhaps move it under some condition? (i.e. do not call it if sb_rdonly(sb) ) ?

sync_filesystem() does not call __sync_filesystem() in this case



More information about the Devel mailing list