All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 3/5]add metadata_readahead ioctl in vfs
@ 2011-01-04  5:40 Shaohua Li
  2011-01-04  9:51 ` Arnd Bergmann
  0 siblings, 1 reply; 7+ messages in thread
From: Shaohua Li @ 2011-01-04  5:40 UTC (permalink / raw)
  To: linux-btrfs-u79uwXL29TY76Z2rM5mHXA, linux-fsdevel-u79uwXL29TY76Z2rM5mHXA
  Cc: Chris Mason, Christoph Hellwig, Andrew Morton, Arjan van de Ven,
	Yan, Zheng, linux-api-u79uwXL29TY76Z2rM5mHXA,
	mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w

Add metadata readahead ioctl in vfs. Filesystem can hook to
super_operations.metadata_readahead to handle filesystem specific task.
Next patch will give an example how btrfs implements it.

Signed-off-by: Shaohua Li <shaohua.li-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>

---
 fs/compat_ioctl.c  |    1 +
 fs/ioctl.c         |   21 +++++++++++++++++++++
 include/linux/fs.h |    8 ++++++++
 3 files changed, 30 insertions(+)

Index: linux/fs/ioctl.c
===================================================================
--- linux.orig/fs/ioctl.c	2011-01-03 21:15:48.000000000 +0800
+++ linux/fs/ioctl.c	2011-01-03 21:16:06.000000000 +0800
@@ -601,6 +601,24 @@ static int ioctl_metadata_incore(struct
 	return entries;
 }
 
+static int ioctl_metadata_readahead(struct file *filp, void __user *argp)
+{
+	struct super_block *sb = filp->f_path.dentry->d_inode->i_sb;
+	struct metadata_readahead_args args;
+
+	if (!sb->s_op->metadata_readahead)
+		return -EINVAL;
+
+	if (copy_from_user(&args, argp, sizeof(args)))
+		return -EFAULT;
+
+	/* readahead in page unit */
+	if ((args.offset & ~PAGE_CACHE_MASK) || (args.size & ~PAGE_CACHE_MASK))
+		return -EINVAL;
+
+	return sb->s_op->metadata_readahead(sb, args.offset, args.size);
+}
+
 /*
  * When you add any new common ioctls to the switches above and below
  * please update compat_sys_ioctl() too.
@@ -664,6 +682,9 @@ int do_vfs_ioctl(struct file *filp, unsi
 	case FIMETADATA_INCORE:
 		return ioctl_metadata_incore(filp, argp);
 
+	case FIMETADATA_READAHEAD:
+		return ioctl_metadata_readahead(filp, argp);
+
 	default:
 		if (S_ISREG(filp->f_path.dentry->d_inode->i_mode))
 			error = file_ioctl(filp, cmd, arg);
Index: linux/include/linux/fs.h
===================================================================
--- linux.orig/include/linux/fs.h	2011-01-03 21:15:48.000000000 +0800
+++ linux/include/linux/fs.h	2011-01-03 21:16:06.000000000 +0800
@@ -65,6 +65,11 @@ struct metadata_incore_args {
 	__u32 unused;
 };
 
+struct metadata_readahead_args {
+	__u64 offset;
+	__u64 size;
+};
+
 #define NR_FILE  8192	/* this can well be larger on a larger system */
 
 #define MAY_EXEC 1
@@ -338,6 +343,7 @@ struct metadata_incore_args {
 #define FITHAW		_IOWR('X', 120, int)	/* Thaw */
 #define FITRIM		_IOWR('X', 121, struct fstrim_range)	/* Trim */
 #define FIMETADATA_INCORE _IOWR('X', 122, struct metadata_incore_args)
+#define FIMETADATA_READAHEAD _IOR('X', 123, struct metadata_readahead_args)
 
 #define	FS_IOC_GETFLAGS			_IOR('f', 1, long)
 #define	FS_IOC_SETFLAGS			_IOW('f', 2, long)
@@ -1628,6 +1634,8 @@ struct super_operations {
 	int (*bdev_try_to_free_page)(struct super_block*, struct page*, gfp_t);
 	int (*metadata_incore)(struct super_block*, loff_t *offset,
 		ssize_t *size);
+	int (*metadata_readahead)(struct super_block*, loff_t offset,
+		ssize_t size);
 };
 
 /*
Index: linux/fs/compat_ioctl.c
===================================================================
--- linux.orig/fs/compat_ioctl.c	2011-01-03 21:15:48.000000000 +0800
+++ linux/fs/compat_ioctl.c	2011-01-03 21:16:06.000000000 +0800
@@ -883,6 +883,7 @@ COMPATIBLE_IOCTL(FIGETBSZ)
 COMPATIBLE_IOCTL(FIFREEZE)
 COMPATIBLE_IOCTL(FITHAW)
 COMPATIBLE_IOCTL(FIMETADATA_INCORE)
+COMPATIBLE_IOCTL(FIMETADATA_READAHEAD)
 COMPATIBLE_IOCTL(KDGETKEYCODE)
 COMPATIBLE_IOCTL(KDSETKEYCODE)
 COMPATIBLE_IOCTL(KDGKBTYPE)

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

* Re: [PATCH v2 3/5]add metadata_readahead ioctl in vfs
  2011-01-04  5:40 [PATCH v2 3/5]add metadata_readahead ioctl in vfs Shaohua Li
@ 2011-01-04  9:51 ` Arnd Bergmann
       [not found]   ` <201101041051.13979.arnd-r2nGTMty4D4@public.gmane.org>
  0 siblings, 1 reply; 7+ messages in thread
From: Arnd Bergmann @ 2011-01-04  9:51 UTC (permalink / raw)
  To: Shaohua Li
  Cc: linux-btrfs-u79uwXL29TY76Z2rM5mHXA,
	linux-fsdevel-u79uwXL29TY76Z2rM5mHXA, Chris Mason,
	Christoph Hellwig, Andrew Morton, Arjan van de Ven, Yan, Zheng,
	linux-api-u79uwXL29TY76Z2rM5mHXA,
	mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w

On Tuesday 04 January 2011 06:40:37 Shaohua Li wrote:
>  /*
>   * When you add any new common ioctls to the switches above and below
>   * please update compat_sys_ioctl() too.
> @@ -664,6 +682,9 @@ int do_vfs_ioctl(struct file *filp, unsi
>         case FIMETADATA_INCORE:
>                 return ioctl_metadata_incore(filp, argp);
>  
> +       case FIMETADATA_READAHEAD:
> +               return ioctl_metadata_readahead(filp, argp);
> +
>         default:
>                 if (S_ISREG(filp->f_path.dentry->d_inode->i_mode))
>                         error = file_ioctl(filp, cmd, arg);

Did you notice the comment above the function? ;-)

You should really add the new ioctls to compat_sys_ioctl, not
to the COMPATIBLE_IOCTL() list, in order to make the behavior
consistent between 32 and 64 bit user space. The main difference
is that all ioctl commands that are hardcoded in the functions
get called before trying to call the file system specific
.ioctl method.

> +struct metadata_readahead_args {
> +       __u64 offset;
> +       __u64 size;
> +};
> +
>  #define NR_FILE  8192  /* this can well be larger on a larger system */
>  
>  #define MAY_EXEC 1
> @@ -338,6 +343,7 @@ struct metadata_incore_args {
>  #define FITHAW         _IOWR('X', 120, int)    /* Thaw */
>  #define FITRIM         _IOWR('X', 121, struct fstrim_range)    /* Trim */
>  #define FIMETADATA_INCORE _IOWR('X', 122, struct metadata_incore_args)
> +#define FIMETADATA_READAHEAD _IOR('X', 123, struct metadata_readahead_args)

This should be _IOW, not _IOR.

Otherwise looks good.

	Arnd

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

* Re: [PATCH v2 3/5]add metadata_readahead ioctl in vfs
       [not found]   ` <201101041051.13979.arnd-r2nGTMty4D4@public.gmane.org>
@ 2011-01-05  2:11     ` Shaohua Li
  2011-01-05  9:09       ` Arnd Bergmann
  0 siblings, 1 reply; 7+ messages in thread
From: Shaohua Li @ 2011-01-05  2:11 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-btrfs-u79uwXL29TY76Z2rM5mHXA,
	linux-fsdevel-u79uwXL29TY76Z2rM5mHXA, Chris Mason,
	Christoph Hellwig, Andrew Morton, Arjan van de Ven, Yan, Zheng,
	linux-api-u79uwXL29TY76Z2rM5mHXA,
	mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w

On Tue, 2011-01-04 at 17:51 +0800, Arnd Bergmann wrote:
> On Tuesday 04 January 2011 06:40:37 Shaohua Li wrote:
> >  /*
> >   * When you add any new common ioctls to the switches above and below
> >   * please update compat_sys_ioctl() too.
> > @@ -664,6 +682,9 @@ int do_vfs_ioctl(struct file *filp, unsi
> >         case FIMETADATA_INCORE:
> >                 return ioctl_metadata_incore(filp, argp);
> >  
> > +       case FIMETADATA_READAHEAD:
> > +               return ioctl_metadata_readahead(filp, argp);
> > +
> >         default:
> >                 if (S_ISREG(filp->f_path.dentry->d_inode->i_mode))
> >                         error = file_ioctl(filp, cmd, arg);
> 
> Did you notice the comment above the function? ;-)
> 
> You should really add the new ioctls to compat_sys_ioctl, not
> to the COMPATIBLE_IOCTL() list, in order to make the behavior
> consistent between 32 and 64 bit user space. The main difference
> is that all ioctl commands that are hardcoded in the functions
> get called before trying to call the file system specific
> .ioctl method.
> 
> > +struct metadata_readahead_args {
> > +       __u64 offset;
> > +       __u64 size;
> > +};
> > +
> >  #define NR_FILE  8192  /* this can well be larger on a larger system */
> >  
> >  #define MAY_EXEC 1
> > @@ -338,6 +343,7 @@ struct metadata_incore_args {
> >  #define FITHAW         _IOWR('X', 120, int)    /* Thaw */
> >  #define FITRIM         _IOWR('X', 121, struct fstrim_range)    /* Trim */
> >  #define FIMETADATA_INCORE _IOWR('X', 122, struct metadata_incore_args)
> > +#define FIMETADATA_READAHEAD _IOR('X', 123, struct metadata_readahead_args)
> 
> This should be _IOW, not _IOR.
> 
> Otherwise looks good.
Thanks, fixed them.

Subject: add metadata_readahead ioctl in vfs

Add metadata readahead ioctl in vfs. Filesystem can hook to
super_operations.metadata_readahead to handle filesystem specific task.
Next patch will give an example how btrfs implements it.

Signed-off-by: Shaohua Li <shaohua.li-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>

---
 fs/compat_ioctl.c  |    2 ++
 fs/ioctl.c         |   21 +++++++++++++++++++++
 include/linux/fs.h |    8 ++++++++
 3 files changed, 31 insertions(+)

Index: linux/fs/ioctl.c
===================================================================
--- linux.orig/fs/ioctl.c	2011-01-05 10:00:17.000000000 +0800
+++ linux/fs/ioctl.c	2011-01-05 10:00:42.000000000 +0800
@@ -603,6 +603,24 @@ static int ioctl_metadata_incore(struct
 	return entries;
 }
 
+static int ioctl_metadata_readahead(struct file *filp, void __user *argp)
+{
+	struct super_block *sb = filp->f_path.dentry->d_inode->i_sb;
+	struct metadata_readahead_args args;
+
+	if (!sb->s_op->metadata_readahead)
+		return -EINVAL;
+
+	if (copy_from_user(&args, argp, sizeof(args)))
+		return -EFAULT;
+
+	/* readahead in page unit */
+	if ((args.offset & ~PAGE_CACHE_MASK) || (args.size & ~PAGE_CACHE_MASK))
+		return -EINVAL;
+
+	return sb->s_op->metadata_readahead(sb, args.offset, args.size);
+}
+
 /*
  * When you add any new common ioctls to the switches above and below
  * please update compat_sys_ioctl() too.
@@ -666,6 +684,9 @@ int do_vfs_ioctl(struct file *filp, unsi
 	case FIMETADATA_INCORE:
 		return ioctl_metadata_incore(filp, argp);
 
+	case FIMETADATA_READAHEAD:
+		return ioctl_metadata_readahead(filp, argp);
+
 	default:
 		if (S_ISREG(filp->f_path.dentry->d_inode->i_mode))
 			error = file_ioctl(filp, cmd, arg);
Index: linux/include/linux/fs.h
===================================================================
--- linux.orig/include/linux/fs.h	2011-01-05 09:10:12.000000000 +0800
+++ linux/include/linux/fs.h	2011-01-05 10:00:42.000000000 +0800
@@ -65,6 +65,11 @@ struct metadata_incore_args {
 	__u32 unused;
 };
 
+struct metadata_readahead_args {
+	__u64 offset;
+	__u64 size;
+};
+
 #define NR_FILE  8192	/* this can well be larger on a larger system */
 
 #define MAY_EXEC 1
@@ -338,6 +343,7 @@ struct metadata_incore_args {
 #define FITHAW		_IOWR('X', 120, int)	/* Thaw */
 #define FITRIM		_IOWR('X', 121, struct fstrim_range)	/* Trim */
 #define FIMETADATA_INCORE _IOWR('X', 122, struct metadata_incore_args)
+#define FIMETADATA_READAHEAD _IOW('X', 123, struct metadata_readahead_args)
 
 #define	FS_IOC_GETFLAGS			_IOR('f', 1, long)
 #define	FS_IOC_SETFLAGS			_IOW('f', 2, long)
@@ -1628,6 +1634,8 @@ struct super_operations {
 	int (*bdev_try_to_free_page)(struct super_block*, struct page*, gfp_t);
 	int (*metadata_incore)(struct super_block*, loff_t *offset,
 		ssize_t *size);
+	int (*metadata_readahead)(struct super_block*, loff_t offset,
+		ssize_t size);
 };
 
 /*
Index: linux/fs/compat_ioctl.c
===================================================================
--- linux.orig/fs/compat_ioctl.c	2011-01-05 08:58:06.000000000 +0800
+++ linux/fs/compat_ioctl.c	2011-01-05 10:00:42.000000000 +0800
@@ -883,6 +883,7 @@ COMPATIBLE_IOCTL(FIGETBSZ)
 COMPATIBLE_IOCTL(FIFREEZE)
 COMPATIBLE_IOCTL(FITHAW)
 COMPATIBLE_IOCTL(FIMETADATA_INCORE)
+COMPATIBLE_IOCTL(FIMETADATA_READAHEAD)
 COMPATIBLE_IOCTL(KDGETKEYCODE)
 COMPATIBLE_IOCTL(KDSETKEYCODE)
 COMPATIBLE_IOCTL(KDGKBTYPE)
@@ -1579,6 +1580,7 @@ asmlinkage long compat_sys_ioctl(unsigne
 	case FIOASYNC:
 	case FIOQSIZE:
 	case FIMETADATA_INCORE:
+	case FIMETADATA_READAHEAD:
 		break;
 
 #if defined(CONFIG_IA64) || defined(CONFIG_X86_64)

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

* Re: [PATCH v2 3/5]add metadata_readahead ioctl in vfs
  2011-01-05  2:11     ` Shaohua Li
@ 2011-01-05  9:09       ` Arnd Bergmann
  2011-01-05  9:26         ` Arnd Bergmann
  0 siblings, 1 reply; 7+ messages in thread
From: Arnd Bergmann @ 2011-01-05  9:09 UTC (permalink / raw)
  To: Shaohua Li
  Cc: linux-btrfs-u79uwXL29TY76Z2rM5mHXA,
	linux-fsdevel-u79uwXL29TY76Z2rM5mHXA, Chris Mason,
	Christoph Hellwig, Andrew Morton, Arjan van de Ven, Yan, Zheng,
	linux-api-u79uwXL29TY76Z2rM5mHXA,
	mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w

On Wednesday 05 January 2011 03:11:36 Shaohua Li wrote:
> > Did you notice the comment above the function? ;-)
> > 
> > You should really add the new ioctls to compat_sys_ioctl, not
> > to the COMPATIBLE_IOCTL() list, in order to make the behavior
> > consistent between 32 and 64 bit user space. The main difference
> > is that all ioctl commands that are hardcoded in the functions
> > get called before trying to call the file system specific
> > .ioctl method.

> Thanks, fixed them.

The patch you posted still uses COMPATIBLE_IOCTL. Wrong patch?

	Arnd

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

* Re: [PATCH v2 3/5]add metadata_readahead ioctl in vfs
  2011-01-05  9:09       ` Arnd Bergmann
@ 2011-01-05  9:26         ` Arnd Bergmann
  2011-01-06  7:45           ` Shaohua Li
  0 siblings, 1 reply; 7+ messages in thread
From: Arnd Bergmann @ 2011-01-05  9:26 UTC (permalink / raw)
  To: Shaohua Li
  Cc: linux-btrfs, linux-fsdevel, Chris Mason, Christoph Hellwig,
	Andrew Morton, Arjan van de Ven, Yan, Zheng, linux-api,
	mtk.manpages

On Wednesday 05 January 2011 10:09:20 Arnd Bergmann wrote:
> > Thanks, fixed them.
> 
> The patch you posted still uses COMPATIBLE_IOCTL. Wrong patch?

On a second look, I noticed that you now have both the COMPATIBLE_IOCTL
and the case statement in compat_sys_ioctl. The former can be
dropped.

	Arnd

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

* Re: [PATCH v2 3/5]add metadata_readahead ioctl in vfs
  2011-01-05  9:26         ` Arnd Bergmann
@ 2011-01-06  7:45           ` Shaohua Li
  2011-01-07 14:16             ` Arnd Bergmann
  0 siblings, 1 reply; 7+ messages in thread
From: Shaohua Li @ 2011-01-06  7:45 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-btrfs, linux-fsdevel, Chris Mason, Christoph Hellwig,
	Andrew Morton, Arjan van de Ven, Yan, Zheng, linux-api,
	mtk.manpages

On Wed, 2011-01-05 at 17:26 +0800, Arnd Bergmann wrote:
> On Wednesday 05 January 2011 10:09:20 Arnd Bergmann wrote:
> > > Thanks, fixed them.
> > 
after the patch 1/5 is changed, this patch can still apply but has
hunks. below is the latest refresh patch.

Subject: add metadata_readahead ioctl in vfs

Add metadata readahead ioctl in vfs. Filesystem can hook to
super_operations.metadata_readahead to handle filesystem specific task.
Next patch will give an example how btrfs implements it.

Signed-off-by: Shaohua Li <shaohua.li@intel.com>

---
 fs/compat_ioctl.c  |    2 ++
 fs/ioctl.c         |   21 +++++++++++++++++++++
 include/linux/fs.h |    8 ++++++++
 3 files changed, 31 insertions(+)

Index: linux/fs/ioctl.c
===================================================================
--- linux.orig/fs/ioctl.c	2011-01-06 09:35:12.000000000 +0800
+++ linux/fs/ioctl.c	2011-01-06 09:35:22.000000000 +0800
@@ -568,6 +568,24 @@ static int ioctl_metadata_incore(struct
 	return 1;
 }
 
+static int ioctl_metadata_readahead(struct file *filp, void __user *argp)
+{
+	struct super_block *sb = filp->f_path.dentry->d_inode->i_sb;
+	struct metadata_readahead_args args;
+
+	if (!sb->s_op->metadata_readahead)
+		return -EINVAL;
+
+	if (copy_from_user(&args, argp, sizeof(args)))
+		return -EFAULT;
+
+	/* readahead in page unit */
+	if ((args.offset & ~PAGE_CACHE_MASK) || (args.size & ~PAGE_CACHE_MASK))
+		return -EINVAL;
+
+	return sb->s_op->metadata_readahead(sb, args.offset, args.size);
+}
+
 /*
  * When you add any new common ioctls to the switches above and below
  * please update compat_sys_ioctl() too.
@@ -631,6 +649,9 @@ int do_vfs_ioctl(struct file *filp, unsi
 	case FIMETADATA_INCORE:
 		return ioctl_metadata_incore(filp, argp);
 
+	case FIMETADATA_READAHEAD:
+		return ioctl_metadata_readahead(filp, argp);
+
 	default:
 		if (S_ISREG(filp->f_path.dentry->d_inode->i_mode))
 			error = file_ioctl(filp, cmd, arg);
Index: linux/include/linux/fs.h
===================================================================
--- linux.orig/include/linux/fs.h	2011-01-06 09:31:36.000000000 +0800
+++ linux/include/linux/fs.h	2011-01-06 09:35:22.000000000 +0800
@@ -60,6 +60,11 @@ struct metadata_incore_args {
 	__u32 unused;
 };
 
+struct metadata_readahead_args {
+	__u64 offset;
+	__u64 size;
+};
+
 #define NR_FILE  8192	/* this can well be larger on a larger system */
 
 #define MAY_EXEC 1
@@ -333,6 +338,7 @@ struct metadata_incore_args {
 #define FITHAW		_IOWR('X', 120, int)	/* Thaw */
 #define FITRIM		_IOWR('X', 121, struct fstrim_range)	/* Trim */
 #define FIMETADATA_INCORE _IOWR('X', 122, struct metadata_incore_args)
+#define FIMETADATA_READAHEAD _IOW('X', 123, struct metadata_readahead_args)
 
 #define	FS_IOC_GETFLAGS			_IOR('f', 1, long)
 #define	FS_IOC_SETFLAGS			_IOW('f', 2, long)
@@ -1623,6 +1629,8 @@ struct super_operations {
 	int (*bdev_try_to_free_page)(struct super_block*, struct page*, gfp_t);
 	int (*metadata_incore)(struct super_block*, loff_t *offset,
 		ssize_t *size);
+	int (*metadata_readahead)(struct super_block*, loff_t offset,
+		ssize_t size);
 };
 
 /*
Index: linux/fs/compat_ioctl.c
===================================================================
--- linux.orig/fs/compat_ioctl.c	2011-01-06 09:15:24.000000000 +0800
+++ linux/fs/compat_ioctl.c	2011-01-06 09:35:22.000000000 +0800
@@ -883,6 +883,7 @@ COMPATIBLE_IOCTL(FIGETBSZ)
 COMPATIBLE_IOCTL(FIFREEZE)
 COMPATIBLE_IOCTL(FITHAW)
 COMPATIBLE_IOCTL(FIMETADATA_INCORE)
+COMPATIBLE_IOCTL(FIMETADATA_READAHEAD)
 COMPATIBLE_IOCTL(KDGETKEYCODE)
 COMPATIBLE_IOCTL(KDSETKEYCODE)
 COMPATIBLE_IOCTL(KDGKBTYPE)
@@ -1579,6 +1580,7 @@ asmlinkage long compat_sys_ioctl(unsigne
 	case FIOASYNC:
 	case FIOQSIZE:
 	case FIMETADATA_INCORE:
+	case FIMETADATA_READAHEAD:
 		break;
 
 #if defined(CONFIG_IA64) || defined(CONFIG_X86_64)



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

* Re: [PATCH v2 3/5]add metadata_readahead ioctl in vfs
  2011-01-06  7:45           ` Shaohua Li
@ 2011-01-07 14:16             ` Arnd Bergmann
  0 siblings, 0 replies; 7+ messages in thread
From: Arnd Bergmann @ 2011-01-07 14:16 UTC (permalink / raw)
  To: Shaohua Li
  Cc: linux-btrfs-u79uwXL29TY76Z2rM5mHXA,
	linux-fsdevel-u79uwXL29TY76Z2rM5mHXA, Chris Mason,
	Christoph Hellwig, Andrew Morton, Arjan van de Ven, Yan, Zheng,
	linux-api-u79uwXL29TY76Z2rM5mHXA,
	mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w

On Thursday 06 January 2011, Shaohua Li wrote:
> Subject: add metadata_readahead ioctl in vfs
> 
> Add metadata readahead ioctl in vfs. Filesystem can hook to
> super_operations.metadata_readahead to handle filesystem specific task.
> Next patch will give an example how btrfs implements it.
> 
> Signed-off-by: Shaohua Li <shaohua.li-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>

Reviewed-by: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>

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

end of thread, other threads:[~2011-01-07 14:16 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-04  5:40 [PATCH v2 3/5]add metadata_readahead ioctl in vfs Shaohua Li
2011-01-04  9:51 ` Arnd Bergmann
     [not found]   ` <201101041051.13979.arnd-r2nGTMty4D4@public.gmane.org>
2011-01-05  2:11     ` Shaohua Li
2011-01-05  9:09       ` Arnd Bergmann
2011-01-05  9:26         ` Arnd Bergmann
2011-01-06  7:45           ` Shaohua Li
2011-01-07 14:16             ` Arnd Bergmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.