On Thu, Aug 9, 2012 at 12:39 PM, Rohan Puri <rohan.puri15@xxxxxxxxx> wrote:
If you dont have vfsmount's ptr, then you can make use of kern_path api with the LOOKUP_FOLLOW as second parameter. This will return the struct path ptr which contains vfsmount and the dentry's ptr. Now the dentry's ptr will contain the inode that you require.On Thu, Aug 9, 2012 at 8:45 AM, Rishi Agrawal <rishi.b.agrawal@xxxxxxxxx> wrote:
vfs_path_lookup needs a dentry/mountpoint for the current path.On Wed, Aug 8, 2012 at 12:46 PM, Rohan Puri <rohan.puri15@xxxxxxxxx> wrote:
On Tue, Aug 7, 2012 at 8:11 PM, Rishi Agrawal <rishi.b.agrawal@xxxxxxxxx> wrote:
Hi All,
I had a module which used the path_lookup function to print the details of any file's inode. I now want to rewrite that module in order to show some juniors how to write some code in kernel.
I am using 3.4.6 kernel, I tried finding out path_lookup but google showed that it has been removed.
I tried the following code then which did not work
.
.
.
dentry = kern_path_create(AT_FDCWD, filename, &path, 1);
if (IS_ERR(dentry)) {
printk("Failed to obtain the dentry");
return;
}
its not returning dentry
I again tried after seeing the implementation of vfs_stat function
user_path_at(AT_FDCWD, filename, lookup_flags, &path);
but this also fails.
I am using a proc interface to pass the filename, and copying the filename into a kernel buffer.
How can I get a copy of vfs inode for a file name.
Need to use vfs_path_lookup for this, present in fs/namei.c file, which would give you filled nameidata nd that contais inodes pointer.--
Regards,
Rishi Agrawal
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
- Rohan
How will I get those.
/**
* vfs_path_lookup - lookup a file path relative to a dentry-vfsmount pair
* @dentry: pointer to dentry of the base directory
* @mnt: pointer to vfs mount of the base directory
* @name: pointer to file name
* @flags: lookup flags
* @path: pointer to struct path to fill
*/
--
Regards,
Rishi Agrawal
- Rohan
Thanks, used that and its working now
--
Regards,
Rishi Agrawal
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies