10 #include <linux/string.h>
16 struct buffer_head *bh;
26 printk(
KERN_WARNING "EFS: WARNING: find_entry(): directory size not a multiple of EFS_DIRBSIZE\n");
28 for(block = 0; block < inode->
i_blocks; block++) {
32 printk(
KERN_ERR "EFS: find_entry(): failed to read dir block %d\n", block);
36 dirblock = (
struct efs_dir *) bh->b_data;
44 for(slot = 0; slot < dirblock->
slots; slot++) {
48 nameptr = dirslot->
name;
50 if ((namelen == len) && (!
memcmp(name, nameptr, len))) {
64 struct inode *inode =
NULL;
66 inodenum = efs_find_entry(dir, dentry->
d_name.name, dentry->
d_name.len);
82 return ERR_CAST(inode);
93 int fh_len,
int fh_type)
100 int fh_len,
int fh_type)
111 ino = efs_find_entry(child->
d_inode,
"..", 2);