Re: [PATCH v2 1/5] add metadata_incore ioctl in vfs

2011-01-07 Thread Arnd Bergmann
On Thursday 06 January 2011, Shaohua Li wrote: Subject: add metadata_incore ioctl in vfs Add an ioctl to dump filesystem's metadata in memory in vfs. Userspace collects such info and uses it to do metadata readahead. Filesystem can hook to super_operations.metadata_incore to get metadata

Re: [PATCH v2 1/5] add metadata_incore ioctl in vfs

2011-01-05 Thread Arnd Bergmann
On Wednesday 05 January 2011 03:17:16 Shaohua Li wrote: On Tue, 2011-01-04 at 17:40 +0800, Arnd Bergmann wrote: Have you tried passing just a single metadata_incore_ent at the ioctl and looping in user space? I would guess the extra overhead of that would be small enough, but that might

Re: [PATCH v2 1/5] add metadata_incore ioctl in vfs

2011-01-05 Thread Shaohua Li
On Wed, 2011-01-05 at 17:42 +0800, Arnd Bergmann wrote: On Wednesday 05 January 2011 03:17:16 Shaohua Li wrote: On Tue, 2011-01-04 at 17:40 +0800, Arnd Bergmann wrote: Have you tried passing just a single metadata_incore_ent at the ioctl and looping in user space? I would guess the

Re: [PATCH v2 1/5] add metadata_incore ioctl in vfs

2011-01-05 Thread Arnd Bergmann
On Thursday 06 January 2011, Shaohua Li wrote: I don't understand. adding a case statement in compat_sys_ioctl, so we will do compat_ioctl_check_table(). If I add COMPATIBLE_IOCTL(), then the check will success, we will go to the found_handler code path and execute do_vfs_ioctl, which is what

Re: [PATCH v2 1/5] add metadata_incore ioctl in vfs

2011-01-05 Thread Shaohua Li
On Thu, 2011-01-06 at 15:38 +0800, Arnd Bergmann wrote: On Thursday 06 January 2011, Shaohua Li wrote: I don't understand. adding a case statement in compat_sys_ioctl, so we will do compat_ioctl_check_table(). If I add COMPATIBLE_IOCTL(), then the check will success, we will go to the

Re: [PATCH v2 1/5] add metadata_incore ioctl in vfs

2011-01-04 Thread Arnd Bergmann
On Tuesday 04 January 2011 06:40:32 Shaohua Li wrote: +static int ioctl_metadata_incore(struct file *filp, void __user *argp) +{ + struct super_block *sb = filp-f_path.dentry-d_inode-i_sb; + struct metadata_incore_args args; + struct metadata_incore_ent ent; + loff_t

[PATCH v2 1/5] add metadata_incore ioctl in vfs

2011-01-03 Thread Shaohua Li
Add an ioctl to dump filesystem's metadata in memory in vfs. Userspace collects such info and uses it to do metadata readahead. Filesystem can hook to super_operations.metadata_incore to get metadata in specific approach. Next patch will give an example how to implement .metadata_incore in btrfs.