public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
* Re: Patch "hostfs: convert hostfs to use the new mount API" has been added to the 6.6-stable tree
       [not found] <20250203162734.2179532-1-sashal@kernel.org>
@ 2025-02-05  1:13 ` Hongbo Li
  2025-02-05  8:53   ` Greg KH
  0 siblings, 1 reply; 6+ messages in thread
From: Hongbo Li @ 2025-02-05  1:13 UTC (permalink / raw)
  To: stable, stable-commits; +Cc: Richard Weinberger, Anton Ivanov, Johannes Berg



On 2025/2/4 0:27, Sasha Levin wrote:
> This is a note to let you know that I've just added the patch titled
> 
>      hostfs: convert hostfs to use the new mount API
> 
> to the 6.6-stable tree which can be found at:
>      http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
> 

Hi Sasha,

If this, the fix : ef9ca17ca458 ("hostfs: fix the host directory parse 
when mounting.") also should be added. It fixes the mounting bug when 
pass the host directory.

Thanks,
Hongbo

> The filename of the patch is:
>       hostfs-convert-hostfs-to-use-the-new-mount-api.patch
> and it can be found in the queue-6.6 subdirectory.
> 
> If you, or anyone else, feels it should not be added to the stable tree,
> please let <stable@vger.kernel.org> know about it.
> 
> 
> 
> commit 6f2433956e6ade80d59bd673d4062ec2c1bacc3e
> Author: Hongbo Li <lihongbo22@huawei.com>
> Date:   Thu May 30 20:01:11 2024 +0800
> 
>      hostfs: convert hostfs to use the new mount API
>      
>      [ Upstream commit cd140ce9f611a5e9d2a5989a282b75e55c71dab3 ]
>      
>      Convert the hostfs filesystem to the new internal mount API as the old
>      one will be obsoleted and removed.  This allows greater flexibility in
>      communication of mount parameters between userspace, the VFS and the
>      filesystem.
>      
>      See Documentation/filesystems/mount_api.txt for more information.
>      
>      Signed-off-by: Hongbo Li <lihongbo22@huawei.com>
>      Link: https://lore.kernel.org/r/20240530120111.3794664-1-lihongbo22@huawei.com
>      Signed-off-by: Christian Brauner <brauner@kernel.org>
>      Stable-dep-of: 60a600243244 ("hostfs: fix string handling in __dentry_name()")
>      Signed-off-by: Sasha Levin <sashal@kernel.org>
> 
> diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c
> index ff201753fd181..1fb8eacb9817f 100644
> --- a/fs/hostfs/hostfs_kern.c
> +++ b/fs/hostfs/hostfs_kern.c
> @@ -16,11 +16,16 @@
>   #include <linux/seq_file.h>
>   #include <linux/writeback.h>
>   #include <linux/mount.h>
> +#include <linux/fs_context.h>
>   #include <linux/namei.h>
>   #include "hostfs.h"
>   #include <init.h>
>   #include <kern.h>
>   
> +struct hostfs_fs_info {
> +	char *host_root_path;
> +};
> +
>   struct hostfs_inode_info {
>   	int fd;
>   	fmode_t mode;
> @@ -90,8 +95,10 @@ static char *__dentry_name(struct dentry *dentry, char *name)
>   	char *p = dentry_path_raw(dentry, name, PATH_MAX);
>   	char *root;
>   	size_t len;
> +	struct hostfs_fs_info *fsi;
>   
> -	root = dentry->d_sb->s_fs_info;
> +	fsi = dentry->d_sb->s_fs_info;
> +	root = fsi->host_root_path;
>   	len = strlen(root);
>   	if (IS_ERR(p)) {
>   		__putname(name);
> @@ -196,8 +203,10 @@ static int hostfs_statfs(struct dentry *dentry, struct kstatfs *sf)
>   	long long f_bavail;
>   	long long f_files;
>   	long long f_ffree;
> +	struct hostfs_fs_info *fsi;
>   
> -	err = do_statfs(dentry->d_sb->s_fs_info,
> +	fsi = dentry->d_sb->s_fs_info;
> +	err = do_statfs(fsi->host_root_path,
>   			&sf->f_bsize, &f_blocks, &f_bfree, &f_bavail, &f_files,
>   			&f_ffree, &sf->f_fsid, sizeof(sf->f_fsid),
>   			&sf->f_namelen);
> @@ -245,7 +254,11 @@ static void hostfs_free_inode(struct inode *inode)
>   
>   static int hostfs_show_options(struct seq_file *seq, struct dentry *root)
>   {
> -	const char *root_path = root->d_sb->s_fs_info;
> +	struct hostfs_fs_info *fsi;
> +	const char *root_path;
> +
> +	fsi = root->d_sb->s_fs_info;
> +	root_path = fsi->host_root_path;
>   	size_t offset = strlen(root_ino) + 1;
>   
>   	if (strlen(root_path) > offset)
> @@ -924,10 +937,11 @@ static const struct inode_operations hostfs_link_iops = {
>   	.get_link	= hostfs_get_link,
>   };
>   
> -static int hostfs_fill_sb_common(struct super_block *sb, void *d, int silent)
> +static int hostfs_fill_super(struct super_block *sb, struct fs_context *fc)
>   {
> +	struct hostfs_fs_info *fsi = sb->s_fs_info;
>   	struct inode *root_inode;
> -	char *host_root_path, *req_root = d;
> +	char *host_root = fc->source;
>   	int err;
>   
>   	sb->s_blocksize = 1024;
> @@ -941,15 +955,15 @@ static int hostfs_fill_sb_common(struct super_block *sb, void *d, int silent)
>   		return err;
>   
>   	/* NULL is printed as '(null)' by printf(): avoid that. */
> -	if (req_root == NULL)
> -		req_root = "";
> +	if (fc->source == NULL)
> +		host_root = "";
>   
> -	sb->s_fs_info = host_root_path =
> -		kasprintf(GFP_KERNEL, "%s/%s", root_ino, req_root);
> -	if (host_root_path == NULL)
> +	fsi->host_root_path =
> +		kasprintf(GFP_KERNEL, "%s/%s", root_ino, host_root);
> +	if (fsi->host_root_path == NULL)
>   		return -ENOMEM;
>   
> -	root_inode = hostfs_iget(sb, host_root_path);
> +	root_inode = hostfs_iget(sb, fsi->host_root_path);
>   	if (IS_ERR(root_inode))
>   		return PTR_ERR(root_inode);
>   
> @@ -957,7 +971,7 @@ static int hostfs_fill_sb_common(struct super_block *sb, void *d, int silent)
>   		char *name;
>   
>   		iput(root_inode);
> -		name = follow_link(host_root_path);
> +		name = follow_link(fsi->host_root_path);
>   		if (IS_ERR(name))
>   			return PTR_ERR(name);
>   
> @@ -974,11 +988,38 @@ static int hostfs_fill_sb_common(struct super_block *sb, void *d, int silent)
>   	return 0;
>   }
>   
> -static struct dentry *hostfs_read_sb(struct file_system_type *type,
> -			  int flags, const char *dev_name,
> -			  void *data)
> +static int hostfs_fc_get_tree(struct fs_context *fc)
>   {
> -	return mount_nodev(type, flags, data, hostfs_fill_sb_common);
> +	return get_tree_nodev(fc, hostfs_fill_super);
> +}
> +
> +static void hostfs_fc_free(struct fs_context *fc)
> +{
> +	struct hostfs_fs_info *fsi = fc->s_fs_info;
> +
> +	if (!fsi)
> +		return;
> +
> +	kfree(fsi->host_root_path);
> +	kfree(fsi);
> +}
> +
> +static const struct fs_context_operations hostfs_context_ops = {
> +	.get_tree	= hostfs_fc_get_tree,
> +	.free		= hostfs_fc_free,
> +};
> +
> +static int hostfs_init_fs_context(struct fs_context *fc)
> +{
> +	struct hostfs_fs_info *fsi;
> +
> +	fsi = kzalloc(sizeof(*fsi), GFP_KERNEL);
> +	if (!fsi)
> +		return -ENOMEM;
> +
> +	fc->s_fs_info = fsi;
> +	fc->ops = &hostfs_context_ops;
> +	return 0;
>   }
>   
>   static void hostfs_kill_sb(struct super_block *s)
> @@ -988,11 +1029,11 @@ static void hostfs_kill_sb(struct super_block *s)
>   }
>   
>   static struct file_system_type hostfs_type = {
> -	.owner 		= THIS_MODULE,
> -	.name 		= "hostfs",
> -	.mount	 	= hostfs_read_sb,
> -	.kill_sb	= hostfs_kill_sb,
> -	.fs_flags 	= 0,
> +	.owner			= THIS_MODULE,
> +	.name			= "hostfs",
> +	.init_fs_context	= hostfs_init_fs_context,
> +	.kill_sb		= hostfs_kill_sb,
> +	.fs_flags		= 0,
>   };
>   MODULE_ALIAS_FS("hostfs");
>   

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Patch "hostfs: convert hostfs to use the new mount API" has been added to the 6.6-stable tree
  2025-02-05  1:13 ` Patch "hostfs: convert hostfs to use the new mount API" has been added to the 6.6-stable tree Hongbo Li
@ 2025-02-05  8:53   ` Greg KH
  2025-02-06  1:09     ` Hongbo Li
  0 siblings, 1 reply; 6+ messages in thread
From: Greg KH @ 2025-02-05  8:53 UTC (permalink / raw)
  To: Hongbo Li
  Cc: stable, stable-commits, Richard Weinberger, Anton Ivanov,
	Johannes Berg

On Wed, Feb 05, 2025 at 09:13:33AM +0800, Hongbo Li wrote:
> 
> 
> On 2025/2/4 0:27, Sasha Levin wrote:
> > This is a note to let you know that I've just added the patch titled
> > 
> >      hostfs: convert hostfs to use the new mount API
> > 
> > to the 6.6-stable tree which can be found at:
> >      http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
> > 
> 
> Hi Sasha,
> 
> If this, the fix : ef9ca17ca458 ("hostfs: fix the host directory parse when
> mounting.") also should be added. It fixes the mounting bug when pass the
> host directory.

I've swept the queues and have added the "fixes for the fixes" commits
like this one now, thanks!

greg k-h

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Patch "hostfs: convert hostfs to use the new mount API" has been added to the 6.6-stable tree
  2025-02-05  8:53   ` Greg KH
@ 2025-02-06  1:09     ` Hongbo Li
  2025-02-06  3:54       ` Greg KH
  0 siblings, 1 reply; 6+ messages in thread
From: Hongbo Li @ 2025-02-06  1:09 UTC (permalink / raw)
  To: Greg KH, sashal
  Cc: stable, stable-commits, Richard Weinberger, Anton Ivanov,
	Johannes Berg

Well, by the way, is the patch added because there are use cases for the 
new mount API in hostfs?

Thanks,
Hongbo

On 2025/2/5 16:53, Greg KH wrote:
> On Wed, Feb 05, 2025 at 09:13:33AM +0800, Hongbo Li wrote:
>>
>>
>> On 2025/2/4 0:27, Sasha Levin wrote:
>>> This is a note to let you know that I've just added the patch titled
>>>
>>>       hostfs: convert hostfs to use the new mount API
>>>
>>> to the 6.6-stable tree which can be found at:
>>>       http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
>>>
>>
>> Hi Sasha,
>>
>> If this, the fix : ef9ca17ca458 ("hostfs: fix the host directory parse when
>> mounting.") also should be added. It fixes the mounting bug when pass the
>> host directory.
> 
> I've swept the queues and have added the "fixes for the fixes" commits
> like this one now, thanks!
> 
> greg k-h

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Patch "hostfs: convert hostfs to use the new mount API" has been added to the 6.6-stable tree
  2025-02-06  1:09     ` Hongbo Li
@ 2025-02-06  3:54       ` Greg KH
  2025-02-07  1:22         ` Hongbo Li
  0 siblings, 1 reply; 6+ messages in thread
From: Greg KH @ 2025-02-06  3:54 UTC (permalink / raw)
  To: Hongbo Li
  Cc: sashal, stable, stable-commits, Richard Weinberger, Anton Ivanov,
	Johannes Berg

On Thu, Feb 06, 2025 at 09:09:17AM +0800, Hongbo Li wrote:
> Well, by the way, is the patch added because there are use cases for the new
> mount API in hostfs?

I am sorry, I don't understand the question.

greg k-h

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Patch "hostfs: convert hostfs to use the new mount API" has been added to the 6.6-stable tree
  2025-02-06  3:54       ` Greg KH
@ 2025-02-07  1:22         ` Hongbo Li
  2025-02-07 15:10           ` Greg KH
  0 siblings, 1 reply; 6+ messages in thread
From: Hongbo Li @ 2025-02-07  1:22 UTC (permalink / raw)
  To: Greg KH
  Cc: sashal, stable, stable-commits, Richard Weinberger, Anton Ivanov,
	Johannes Berg



On 2025/2/6 11:54, Greg KH wrote:
> On Thu, Feb 06, 2025 at 09:09:17AM +0800, Hongbo Li wrote:
>> Well, by the way, is the patch added because there are use cases for the new
>> mount API in hostfs?
> 
> I am sorry, I don't understand the question.
> 

Sorry for my poor expression, I just wonder why this patch should be 
backported to the 6.6-stable tree. :)

Thanks,
Hongbo

> greg k-h

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Patch "hostfs: convert hostfs to use the new mount API" has been added to the 6.6-stable tree
  2025-02-07  1:22         ` Hongbo Li
@ 2025-02-07 15:10           ` Greg KH
  0 siblings, 0 replies; 6+ messages in thread
From: Greg KH @ 2025-02-07 15:10 UTC (permalink / raw)
  To: Hongbo Li
  Cc: sashal, stable, stable-commits, Richard Weinberger, Anton Ivanov,
	Johannes Berg

On Fri, Feb 07, 2025 at 09:22:34AM +0800, Hongbo Li wrote:
> 
> 
> On 2025/2/6 11:54, Greg KH wrote:
> > On Thu, Feb 06, 2025 at 09:09:17AM +0800, Hongbo Li wrote:
> > > Well, by the way, is the patch added because there are use cases for the new
> > > mount API in hostfs?
> > 
> > I am sorry, I don't understand the question.
> > 
> 
> Sorry for my poor expression, I just wonder why this patch should be
> backported to the 6.6-stable tree. :)

Ah.  It was a dependency for a patch later in the series, and was
documented as such with the "Stable-dep-of:" line in the commit.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2025-02-07 15:11 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20250203162734.2179532-1-sashal@kernel.org>
2025-02-05  1:13 ` Patch "hostfs: convert hostfs to use the new mount API" has been added to the 6.6-stable tree Hongbo Li
2025-02-05  8:53   ` Greg KH
2025-02-06  1:09     ` Hongbo Li
2025-02-06  3:54       ` Greg KH
2025-02-07  1:22         ` Hongbo Li
2025-02-07 15:10           ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox