Fixed the component-consumption-every-lookup problem.

Now components only consumed on child lookup recursions.
This commit is contained in:
Bahadir Balban
2008-04-16 00:04:54 +01:00
parent 8a3da9c709
commit ab588c279b
4 changed files with 11 additions and 7 deletions

View File

@@ -46,7 +46,8 @@ struct file_ops {
/* Operations that work on vnode fields and associations between vnodes */
struct vnode_ops {
vnode_op_t create;
struct vnode *(*lookup)(struct vnode *root, struct pathdata *pdata);
struct vnode *(*lookup)(struct vnode *root, struct pathdata *pdata,
char *component);
int (*readdir)(struct vnode *v);
int (*filldir)(void *buf, struct vnode *v, int count);
vnode_op_t link;

View File

@@ -82,7 +82,8 @@ struct vfs_mountpoint {
extern struct vfs_mountpoint vfs_root;
int vfs_mount_root(struct superblock *sb);
struct vnode *generic_vnode_lookup(struct vnode *thisnode, struct pathdata *p);
struct vnode *generic_vnode_lookup(struct vnode *thisnode, struct pathdata *p,
char *component);
struct vnode *vfs_lookup_bypath(struct pathdata *p);
struct vnode *vfs_lookup_byvnum(struct superblock *sb, unsigned long vnum);