From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-f195.google.com ([209.85.210.195]:39897 "EHLO mail-pf1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726708AbeHKAcN (ORCPT ); Fri, 10 Aug 2018 20:32:13 -0400 Received: by mail-pf1-f195.google.com with SMTP id j8-v6so5113263pff.6 for ; Fri, 10 Aug 2018 15:00:30 -0700 (PDT) From: Andrei Vagin To: David Howells Cc: linux-fsdevel@vger.kernel.org, Andrei Vagin Subject: [PATCH dhowells/mount-api 1/2] fs/fsconfig: handle FSCONFIG_CMD_RECONFIGURE Date: Fri, 10 Aug 2018 15:00:26 -0700 Message-Id: <20180810220027.2735-1-avagin@openvz.org> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: From: Andrei Vagin It looks like everything is already prepared for that and we only need to call do_remount_sb() to apply changes from fs_context. Signed-off-by: Andrei Vagin --- fs/fsopen.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/fs/fsopen.c b/fs/fsopen.c index e79bb5b085d6..6991230a7b59 100644 --- a/fs/fsopen.c +++ b/fs/fsopen.c @@ -273,7 +273,25 @@ static int vfs_fsconfig_action(struct fs_context *fc, enum fsconfig_command cmd) else fc->phase = FS_CONTEXT_FAILED; return ret; + case FSCONFIG_CMD_RECONFIGURE: + { + struct super_block *sb; + + if (fc->phase != FS_CONTEXT_RECONF_PARAMS) + return -EBUSY; + fc->phase = FS_CONTEXT_RECONFIGURING; + sb = fc->root->d_sb; + down_write(&sb->s_umount); + ret = do_remount_sb(sb, 0, NULL, 0, 0, fc); + up_write(&sb->s_umount); + + if (ret == 0) + fc->phase = FS_CONTEXT_CREATE_PARAMS; + else + fc->phase = FS_CONTEXT_FAILED; + return ret; + } default: return -EOPNOTSUPP; } -- 2.17.1