lkml.org 
[lkml]   [2002]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: Path Name to kdev_t
From
On Thu, Nov 14, 2002 at 07:19:16PM +0530, chandrasekhar.nagaraj wrote:
> Hi,
>
> In one of the part of my driver module , I have a path name to a device file
> (for eg:- /dev/hda1) .Now if I want to obtain the associated major number
> and minor number i.e. device ID(kdev_t) of this file what would be the
> procedure?

I think this should be standard function, I'm sure lots of people are
duplicating this code. For 2.4 kernels:

/*
* Convert a device path to a kdev_t.
*/
static int lookup_device(const char *path, kdev_t *dev)
{
int r;
struct nameidata nd;
struct inode *inode;

if (!path_init(path, LOOKUP_FOLLOW, &nd))
return 0;

if ((r = path_walk(path, &nd)))
goto out;

inode = nd.dentry->d_inode;
if (!inode) {
r = -ENOENT;
goto out;
}

if (!S_ISBLK(inode->i_mode)) {
r = -EINVAL;
goto out;
}

*dev = inode->i_rdev;

out:
path_release(&nd);
return r;
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:31    [W:0.121 / U:0.112 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site