Re: gdb doesn't load line number information from object (kgdb target)

2010-01-27 Thread Joel Fernandes
> perhaps we can peek into ksplice on how to deal with such thing? i
> haven't used ksplice by myself, but I guess it will use  DWARF info
> somehow, right?

Sure, there's also elfutils (readelf is a part of that) which contains
code that parses dwarf line info.. but line info is fairly
non-trivial, its based on a state machine and might not be as simple
as seek and read.. DWARF specs are very well written though so that
should help.

-Joel

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ



Re: gdb doesn't load line number information from object (kgdb target)

2010-01-27 Thread Mulyadi Santosa
On Thu, Jan 28, 2010 at 1:38 AM, Joel Fernandes  wrote:
> I don't know why ld resets the addresses (or rather doesn't make the
> addresses continugous in .debug_line) when linking multiple shared
> objects (with relocatable code).
>
> Anyway I'm going through the DWARF 3.0 spec Section 6.2 "Line number
> information" to see if I can find anything, will update here. I'm also
> writing a program to fix the ELF object dwarf information so that I
> can use gdb 6.8 instead (gdb 7 has other problems 6.8 doesn't ;-))
>

perhaps we can peek into ksplice on how to deal with such thing? i
haven't used ksplice by myself, but I guess it will use  DWARF info
somehow, right?

-- 
regards,

Mulyadi Santosa
Freelance Linux trainer and consultant

blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ



Re: gdb doesn't load line number information from object (kgdb target)

2010-01-27 Thread Joel Fernandes
> Nice observation :) So, perhaps might question, what the best way to
> avoid such problem. always use latest gdb? I thought things like
> this is formally standardized

I don't know why ld resets the addresses (or rather doesn't make the
addresses continugous in .debug_line) when linking multiple shared
objects (with relocatable code).

Anyway I'm going through the DWARF 3.0 spec Section 6.2 "Line number
information" to see if I can find anything, will update here. I'm also
writing a program to fix the ELF object dwarf information so that I
can use gdb 6.8 instead (gdb 7 has other problems 6.8 doesn't ;-))

-Joel

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ



Re: kernel upgrade woes (possibly SATA/IDE confusion)

2010-01-27 Thread Mulyadi Santosa
On Wed, Jan 27, 2010 at 6:03 PM, Srdjan Todorovic
 wrote:
>  2) Remove generic IDE support (I think I had problems with this
> where the generic IDE driver took over hardware and then didn't quite
> know how to handle the Nvidia controller)

I second the above Srdjan's adviceonce...IIRC, I went through the
same problem ..and it's gone when I completely get rid of generic IDE
support.

Worth to try...

-- 
regards,

Mulyadi Santosa
Freelance Linux trainer and consultant

blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ



Re: gdb doesn't load line number information from object (kgdb target)

2010-01-27 Thread Mulyadi Santosa
Hi...

On Wed, Jan 27, 2010 at 5:54 PM, Joel Fernandes  wrote:
> I think the problems were in the way the line information was
> structured in the kernel module ELF.
>
> The line information of all the objects were clubbed together when
> compiling for x86_64 but the starting numbers were not taken into
> account.
> This how the line no.s in the resulting ko ELF objects looks like for x84_64:
> addr line file
> 0x1  1    super.c
> 0x2  2    super.c
> 0x3  3    super.c
> 0x1  4    balloc.c
> 0x2  5    balloc.c
>
> As you can see, from balloc.c onwards, the addresses are reset to 1
> (instead of 0x4).

Nice observation :) So, perhaps might question, what the best way to
avoid such problem. always use latest gdb? I thought things like
this is formally standardized

-- 
regards,

Mulyadi Santosa
Freelance Linux trainer and consultant

blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ



Re: automatic driver loading functionality in Linux

2010-01-27 Thread Greg KH
On Wed, Jan 27, 2010 at 10:58:59AM +0530, Joel Fernandes wrote:
> Hi Greg.
> 
> > What you want to look at is the modules.alias file. ?That is what makes
> > things so simple, it creates a mapping from a device/product id to the
> > actual module.
> 
> I get the idea now, thanks. So when a device is connected, a modalias
> is generated with the vendor/productid and then modprobe can match
> this against the modalias file to load the module in.

Exactly.

> Does udev do the same thing when it has to autoload a module?

udev just passes this modalias on to modprobe directly, this is how
modprobe sees the alias in the first place.  modprobe is not called
directly by anything else.

hope this helps,

greg k-h

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ



Re: gdb doesn't load line number information from object (kgdb target)

2010-01-27 Thread Joel Fernandes
If you have a different architecture than x86, I would be grateful if
you could dump the output of readelf -wL .ko somewhere so
we can see what's happening for other archs.

-wL outputs information from .debug_line section of the ELF object.

Thanks,
-Joel

On Wed, Jan 27, 2010 at 4:24 PM, Joel Fernandes  wrote:
> I think the problems were in the way the line information was
> structured in the kernel module ELF.
>
> The line information of all the objects were clubbed together when
> compiling for x86_64 but the starting numbers were not taken into
> account.
> This how the line no.s in the resulting ko ELF objects looks like for x84_64:
> addr line file
> 0x1  1    super.c
> 0x2  2    super.c
> 0x3  3    super.c
> 0x1  4    balloc.c
> 0x2  5    balloc.c
>
> As you can see, from balloc.c onwards, the addresses are reset to 1
> (instead of 0x4).
>
> On the other hand I've compiled for different architectures like (UML)
> and the resulting ko have continugous addresses across different .o :
> 0x1  1    super.c
> 0x2  2    super.c
> 0x3  3    super.c
> 0x4  4    balloc.c
> 0x5  5    balloc.c
>
> Looks like gdb 6.8 gets confused when the addresses are reset, but gdb
> 7.0 doesn't.
>
> Further, gdb 6.8 works and can interpret line numbers properly when
> compiling kernel modules for different architectures (other than
> x86_64) so the problem is in the way line number debug info is
> structured in the ko and not in gdb.
>
> Thanks,
> -Joel
>
> On Wed, Jan 27, 2010 at 5:23 AM, Peter Teoh  wrote:
>> this is interestingi learning something new again...
>>
>> pardon me if i may disagree :-).
>>
>> i don't think it is a bug for gdb6.8 - it is a very simple
>> featureand gdb6.8 must have got rightsome point in time in the
>> past --> for a particular version of gcc in the past (which create the
>> debuginfo).   but when u move forward your gcc version, and gdb lacks
>> behind too far.there will be a mismatch problem.developer
>> cannot possibly test so many version combinationwell this is
>> controversiali may be wrong.
>>
>> On Fri, Jan 22, 2010 at 10:04 PM, Mulyadi Santosa
>>  wrote:
>>> On Fri, Jan 22, 2010 at 12:20 PM, Joel Fernandes  
>>> wrote:
 Incase it helps some one else, I upgraded from gdb-6.8 to gdb 7.0 and
 the line numbers show up fine.
>>>
>>> hmff, bug in DWARF reading
>>>
>>> --
>>> regards,
>>>
>>> Mulyadi Santosa
>>> Freelance Linux trainer and consultant
>>>
>>> blog: the-hydra.blogspot.com
>>> training: mulyaditraining.blogspot.com
>>>
>>> --
>>> To unsubscribe from this list: send an email with
>>> "unsubscribe kernelnewbies" to ecar...@nl.linux.org
>>> Please read the FAQ at http://kernelnewbies.org/FAQ
>>>
>>>
>>
>>
>>
>> --
>> Regards,
>> Peter Teoh
>>
>

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ



Re: kernel upgrade woes (possibly SATA/IDE confusion)

2010-01-27 Thread Srdjan Todorovic
Hi,

On 27/01/2010, h...@crypt.org  wrote:
> "Vaughn E. Clinton"  wrote:
> :can you post any boot related messages?
>
> There is rather more detail in my original post at
> .

I saw this earlier, and I thought I replied but I guess I didn't.

I remember seeing that the hardware seems to be confused between SATA
and ATA drives, but I might be wrong.

Have you tried:
  1) Compiling in SATA and IDE support (but not IDE and ATA at the same time?)
  2) Remove generic IDE support (I think I had problems with this
where the generic IDE driver took over hardware and then didn't quite
know how to handle the Nvidia controller)

If I get a chance, I'll have to take a closer look at your logs again tonight.

Hope that helps.
Srdjan

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ



Re: gdb doesn't load line number information from object (kgdb target)

2010-01-27 Thread Joel Fernandes
I think the problems were in the way the line information was
structured in the kernel module ELF.

The line information of all the objects were clubbed together when
compiling for x86_64 but the starting numbers were not taken into
account.
This how the line no.s in the resulting ko ELF objects looks like for x84_64:
addr line file
0x1  1super.c
0x2  2super.c
0x3  3super.c
0x1  4balloc.c
0x2  5balloc.c

As you can see, from balloc.c onwards, the addresses are reset to 1
(instead of 0x4).

On the other hand I've compiled for different architectures like (UML)
and the resulting ko have continugous addresses across different .o :
0x1  1super.c
0x2  2super.c
0x3  3super.c
0x4  4balloc.c
0x5  5balloc.c

Looks like gdb 6.8 gets confused when the addresses are reset, but gdb
7.0 doesn't.

Further, gdb 6.8 works and can interpret line numbers properly when
compiling kernel modules for different architectures (other than
x86_64) so the problem is in the way line number debug info is
structured in the ko and not in gdb.

Thanks,
-Joel

On Wed, Jan 27, 2010 at 5:23 AM, Peter Teoh  wrote:
> this is interestingi learning something new again...
>
> pardon me if i may disagree :-).
>
> i don't think it is a bug for gdb6.8 - it is a very simple
> featureand gdb6.8 must have got rightsome point in time in the
> past --> for a particular version of gcc in the past (which create the
> debuginfo).   but when u move forward your gcc version, and gdb lacks
> behind too far.there will be a mismatch problem.developer
> cannot possibly test so many version combinationwell this is
> controversiali may be wrong.
>
> On Fri, Jan 22, 2010 at 10:04 PM, Mulyadi Santosa
>  wrote:
>> On Fri, Jan 22, 2010 at 12:20 PM, Joel Fernandes  
>> wrote:
>>> Incase it helps some one else, I upgraded from gdb-6.8 to gdb 7.0 and
>>> the line numbers show up fine.
>>
>> hmff, bug in DWARF reading
>>
>> --
>> regards,
>>
>> Mulyadi Santosa
>> Freelance Linux trainer and consultant
>>
>> blog: the-hydra.blogspot.com
>> training: mulyaditraining.blogspot.com
>>
>> --
>> To unsubscribe from this list: send an email with
>> "unsubscribe kernelnewbies" to ecar...@nl.linux.org
>> Please read the FAQ at http://kernelnewbies.org/FAQ
>>
>>
>
>
>
> --
> Regards,
> Peter Teoh
>

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ



Re: kernel upgrade woes (possibly SATA/IDE confusion)

2010-01-27 Thread hv
"Vaughn E. Clinton"  wrote:
:can you post any boot related messages?

There is rather more detail in my original post at
.

In particular, it includes the tail of the messages from a failed boot
(transcribed by hand), and a link to the dmesg output for a successful
2.6.24 boot at .

If there is other information I can usefully supply let me know, but
see also the problems with the boot printk delay referenced in my OP.

:> Earlier I wrote:
:> :I've been trying to upgrade my kernel from 2.6.22.14-72.fc6. After some
:> :troubles I've made a couple of steps forward, but now I'm stuck.
:>
:> Meta: is this on-topic for this list? If so (or even if not), is there
:> somewhere else I should be asking to have a better chance of response?
:>
:> [...]
:> :2.6.24.7 failed to boot, but 'ide0=noprobe' doesn't help. Adding 
:> 'irqpoll'
:> :(and not 'ide0=...') gets it to boot but fails to mount other partitions
:> :of the boot disk. Changing /etc/fstab to replace all occurrences of 'sda'
:> :with 'hda' gets it to boot succesfully and mount the partitions 
:> correctly.
:>
:> Alternatively, adding 'noapic' or 'nolapic' also lead to a successful 
:> boot.
:>
:> :2.6.25.20 fails to boot; 'ide0=noprobe' doesn't help, nor does 'irqpoll',
:> :nor does either version of /etc/fstab. I've also tried 'pci=routeirq'
:> :without success.
:>
:> Nor do 'noapic' or 'nolapic' help here.

Hugo

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ



Re: Needs the complete definition "user_path_walk()"

2010-01-27 Thread Manish Katiyar
On Wed, Jan 27, 2010 at 12:36 PM, waqar afridi  wrote:
> Hello Every One
>
> This is my First mail to this community, so dont know much about the Rules
> and Regulations.
In general doing google is a good idea.
>
> I want the Definition of "user_path_walk()" function, If any one had, Please
> send it and if not, can any one tell me where could I find it.
This is the first link in google.
http://www.developerweb.net/forum/archive/index.php/t-3466.html
>
> Thanx In advance
>
> --
> Waqar Afridi
>



-- 
Thanks -
Manish
==
[$\*.^ -- I miss being one of them
==

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ



Re: dentry & path name lookup

2010-01-27 Thread Neependra Khare
On Wed, Jan 27, 2010 at 1:37 PM, er krishna  wrote:

> Dear All,
>
> Can anybody please help me how does dentry does path resolution. I want to
> undersatnd the whole process in detail. Any link or comments are most
> welcome.
>

I found following useful :-
http://thecoffeedesk.com/geocities/rkfs.html


> Just asking for my understanding,
>
> Dentry maintains a relationship between file object & inode for path name
> lookup ? Is it right ?
>

A dentry is an object with a string name (d_name), a pointer to an inode
(d_inode), and a pointer to the parent dentry (d_parent).


>
> If the pathname is /home/krishna/myfile, how it will be resolve ?
>

If  I am not wrong we will start from "/" and at each level we will  look
into the dentry cache using "d_lookup" function to find a name "file ->
inode" mapping.

If we don't find in the cache then with "do_lookup" function we will try to
find out the inode for the file.

Regards
Neependra



> Best Regards,
> Krishna
>


Re: dentry & path name lookup

2010-01-27 Thread Manish Katiyar
On Wed, Jan 27, 2010 at 1:37 PM, er krishna  wrote:
> Dear All,
>
> Can anybody please help me how does dentry does path resolution. I want to
> undersatnd the whole process in detail. Any link or comments are most
> welcome.
>
> Just asking for my understanding,

Have a look at function link_path_walk().

Thanks -
Manish
>
> Dentry maintains a relationship between file object & inode for path name
> lookup ? Is it right ?
>
> If the pathname is /home/krishna/myfile, how it will be resolve ?
>
> Best Regards,
> Krishna



-- 
Thanks -
Manish
==
[$\*.^ -- I miss being one of them
==

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ



Re: Needs the complete definition "user_path_walk()"

2010-01-27 Thread Manish Katiyar
On Wed, Jan 27, 2010 at 1:35 PM, waqar afridi  wrote:
> I wasnt expecting that much quick reply, Zellux and specially Manish for for
> sharing this great Ocean of Knowledge (Google)...
>
> On Wed, Jan 27, 2010 at 12:33 PM, Manish Katiyar  wrote:
>>
>> On Wed, Jan 27, 2010 at 12:36 PM, waqar afridi 
>> wrote:
>> > Hello Every One
>> >
>> > This is my First mail to this community, so dont know much about the
>> > Rules
>> > and Regulations.
>> In general doing google is a good idea.
>> >
>> > I want the Definition of "user_path_walk()" function, If any one had,
>> > Please
>> > send it and if not, can any one tell me where could I find it.

I guess it was removed after 2.6.6 . And now this function is called
as user_path. Look at the following commit which can give you some
idea.

commit 2d8f30380ab8c706f4e0a8f1aaa22b5886e9ac8a
Author: Al Viro 
Date:   Tue Jul 22 09:59:21 2008 -0400

[PATCH] sanitize __user_walk_fd() et.al.
...
...
+asmlinkage long compat_sys_statfs(const char __user *pathname, struct
compat_statfs __user *buf)
 {
-   struct nameidata nd;
+   struct path path;
int error;

-   error = user_path_walk(path, &nd);
+   error = user_path(pathname, &path);
if (!error) {
struct kstatfs tmp;
-   error = vfs_statfs(nd.path.dentry, &tmp);
+   error = vfs_statfs(path.dentry, &tmp);
if (!error)
error = put_compat_statfs(buf, &tmp);
-   path_put(&nd.path);
+   path_put(&path);
}

...


Thanks -
Manish


>> This is the first link in google.
>> http://www.developerweb.net/forum/archive/index.php/t-3466.html
>
> I already had tried this link but it did gave me anything, The reason might
> be that I am newbie, But things will improve...
>
> Thanx Alot
>
>> >
>> > Thanx In advance
>> >
>> > --
>> > Waqar Afridi
>> >
>>
>>
>>
>> --
>> Thanks -
>> Manish
>> ==
>> [$\*.^ -- I miss being one of them
>> ==
>
>
>
> --
> Waqar Afridi
>



-- 
Thanks -
Manish
==
[$\*.^ -- I miss being one of them
==

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ



Re: Needs the complete definition "user_path_walk()"

2010-01-27 Thread waqar afridi
Thanx Mulyadi, the Link was Extremely Useful, Now digging up for more, I
will Update this thread Sooner...

On Wed, Jan 27, 2010 at 12:55 PM, Mulyadi Santosa  wrote:

> Hi.
>
> On Wed, Jan 27, 2010 at 2:06 PM, waqar afridi 
> wrote:
> > Hello Every One
> >
> > This is my First mail to this community, so dont know much about the
> Rules
> > and Regulations.
>
> Don't worry, most people here are friendly :) They won't kick your
> butt just because you're asking too much or too hard. Most likely,
> you'll be ignored if your question is either OOT or nobody knows the
> answer :)
>
> > I want the Definition of "user_path_walk()" function, If any one had,
> Please
> > send it and if not, can any one tell me where could I find it.
>
> Hmm, strange, online code explorer at lxr.linux.no (specificly,  the
> one which indexes 2.6.32) can not find such function. Which kernel
> function do you refer, anyway?
>
> However, just guessing, perhaps that function took a complete path as
> its parameter and returns the related inode that corresponds to it?
> And maybe...it is named "walk" because the functions iterates it from
> root directory down to the directory which owns the file. Of course,
> as always, inode and dentry cache are looked up first.
>
> --
> regards,
>
> Mulyadi Santosa
> Freelance Linux trainer and consultant
>
> blog: the-hydra.blogspot.com
> training: mulyaditraining.blogspot.com
>



-- 
Waqar Afridi


Re: Needs the complete definition "user_path_walk()"

2010-01-27 Thread waqar afridi
I wasnt expecting that much quick reply, Zellux and specially Manish for for
sharing this great Ocean of Knowledge (Google)...

On Wed, Jan 27, 2010 at 12:33 PM, Manish Katiyar  wrote:

> On Wed, Jan 27, 2010 at 12:36 PM, waqar afridi 
> wrote:
> > Hello Every One
> >
> > This is my First mail to this community, so dont know much about the
> Rules
> > and Regulations.
> In general doing google is a good idea.
> >
> > I want the Definition of "user_path_walk()" function, If any one had,
> Please
> > send it and if not, can any one tell me where could I find it.
> This is the first link in google.
> http://www.developerweb.net/forum/archive/index.php/t-3466.html
>

I already had tried this link but it did gave me anything, The reason might
be that I am newbie, But things will improve...

Thanx Alot

>
> > Thanx In advance
> >
> > --
> > Waqar Afridi
> >
>
>
>
> --
> Thanks -
> Manish
> ==
> [$\*.^ -- I miss being one of them
> ==
>



-- 
Waqar Afridi


Re: automatic driver loading functionality in Linux

2010-01-27 Thread luca ellero

Ozan Türkyılmaz wrote:

26.01.2010 17:42, Greg KH yazmış:

On Sun, Jan 24, 2010 at 10:49:24AM +0530, Joel Fernandes wrote:

Hi Peter,

Thanks for your message.
Actually I'm interested in how modprobe autoloads modules based on the
modalias files in sysfs. I read this in Greg KH's great book - Linux 
Kernel
in a Nutshell and I've been wondering how the modules would get 
loaded if
they had to be loaded in the first place to have the device->module 
list to

exist.


modprobe is "smart" and knows what modules support what devices based on
the cache it creates when you run 'depmod' when a new kernel is
installed.



is it possible to get that information (what module determines what
driver) from modprobe.

(sorry for the problem Greg KH. i hit the wrong button)

Hi,
modinfo should give you all the information you need.

For example:
- modinfo my_module

filename:   ./my_module.ko
license:GPL
srcversion: 00C7B5EE66E00EC3C91D3D9
alias:  usb:v0EA0p2168d*dc*dsc*dp*ic*isc*ip*
depends:usbcore
vermagic:   2.6.24-19-generic SMP mod_unload 586

alias field indicate alias for this module (based on usb_device_id table 
in source file).


When you execute "depmod -a" the following line is added to 
/lib/modules//modules.alias:

alias usb:v0EA0p2168d*dc*dsc*dp*ic*isc*ip* my_module

where:
v idVendor
p idProduct
d bcdDevice
dcbDeviceClass
dsc   bDeviceSubClass
dpbDeviceProtocol
icbInterfaceClass
isc   bInterfaceSubClass
ipbInterfaceProtocol


This line says that if I do:
modprobe usb:v0EA0p2168[remaining fields filled with whatever we like]
so in practice I can do:
modprobe usb:v0EA0p2168d0200dc00dsc00dp00ic08isc06ip50
to load my_module.

NOTE: in this example I used USB sub-system but all this applies to 
other sub-systems(PCI, PCMCIA, ...),

vendor and product id are fictitious.

All this stuff is here to allow udev do the right thing.
For example you can add the following line to 
/etc/udev/rules.d/90-modprobe.rules:

ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe -Q $env{MODALIAS}"
so udev load the right module when you plug in the device.

You can check it by issuing the following command:

udevmonitor -e | grep MODALIAS

then when you plug the device you get:

MODALIAS=usb:v0EA0p2168d0200dc00dsc00dp00ic08isc06ip50

hope this helps
regards
Luca

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ



dentry & path name lookup

2010-01-27 Thread er krishna
Dear All,

Can anybody please help me how does dentry does path resolution. I want to
undersatnd the whole process in detail. Any link or comments are most
welcome.

Just asking for my understanding,

Dentry maintains a relationship between file object & inode for path name
lookup ? Is it right ?

If the pathname is /home/krishna/myfile, how it will be resolve ?

Best Regards,
Krishna