Hello,
I'm working on some linux kernel driver stuff and I have a fake path called /dev/blah/whatever that points to /dev/block/real_device.
The issue is that lookup_bdev will fail to follow the symlink so I'd like to massage the path upfront by getting the real path (/dev/block/real_device) so I can hand that off to lookup_bdev so it returns successfully instead of an error.
Or any other kernel call that would correctly retrieve the block_device information given the initial path which is a symlink.
Note: I saw that the tomoyo module has something like that but I was looking for the generic implementation of the kernel if one exists.
Thanks
David
David,
1 - Please read through: *man 2 readlink* ( yes please read it *all* very carefully ! 2 - There is a system call readlink study it... declared here: http://code.woboq.org/linux/include/unistd.h.html#809 exported here: http://code.woboq.org/linux/linux/arch/um/os-Linux/user_syms.c.html#83 3 grep through the kernel and see where and how readlink is used. Try : find . -name "*.[ch]" | xargs grep "readlink" and : find . -name "*.[ch]" | xargs grep " readlink(" and : find . -name "*.[ch]" | xargs grep ">readlink" 4 - This will help you figure how to work things out <http://www.informit.com/articles/article.aspx?p=23618&seqNum=12> use at your own risk :) Good luck - Aruna