2006-01-15 18:57:09

by [email protected]

[permalink] [raw]
Subject: string to inode conversion

Hi

I was wondering how I can get from a string with a path like "/home" or
"/lib/libc-2.3.5.so" a struct inode.

Thanks for your help.



2006-01-15 19:24:22

by Arjan van de Ven

[permalink] [raw]
Subject: Re: string to inode conversion

On Sun, 2006-01-15 at 19:57 +0100, [email protected] wrote:
> Hi
>
> I was wondering how I can get from a string with a path like "/home" or
> "/lib/libc-2.3.5.so" a struct inode.

which namespace do you want this in? The init one? or the one from the
user? (most traditional linux distributions only have one namespace, but
now that COW namespaces are merged I expect distros to start
experimenting with per user /tmp, or per-daemon data etc etc)

This is not a trivial thing... you need a "context" into which you can
ask that question (basically a process)

2006-01-15 19:49:30

by [email protected]

[permalink] [raw]
Subject: Re: string to inode conversion

Hi

This should be in kernel space, in the context of system calls.

Basically I'm trying to learn how sys_open() goes from char *filename to
a struct inode. I know (or think) that sys_open() doesn't actually use a
struct inode, but I wonder how that would go.

Thanks


El dom, 15-01-2006 a las 20:24 +0100, Arjan van de Ven escribi?:
> On Sun, 2006-01-15 at 19:57 +0100, [email protected] wrote:
> > Hi
> >
> > I was wondering how I can get from a string with a path like "/home" or
> > "/lib/libc-2.3.5.so" a struct inode.
>
> which namespace do you want this in? The init one? or the one from the
> user? (most traditional linux distributions only have one namespace, but
> now that COW namespaces are merged I expect distros to start
> experimenting with per user /tmp, or per-daemon data etc etc)
>
> This is not a trivial thing... you need a "context" into which you can
> ask that question (basically a process)
>

2006-01-15 20:27:12

by Bob Copeland

[permalink] [raw]
Subject: Re: string to inode conversion

On 1/15/06, [email protected] <[email protected]> wrote:
> Basically I'm trying to learn how sys_open() goes from char *filename to
> a struct inode. I know (or think) that sys_open() doesn't actually use a
> struct inode, but I wonder how that would go.

Look at ext2_lookup in fs/ext2/namei.c for example. It depends on the
filesystem.

-Bob