Lines Matching refs:vdir
548 struct venus_dirent *vdir; in coda_venus_readdir() local
556 vdir = (struct venus_dirent *)kmalloc(sizeof(*vdir), GFP_KERNEL); in coda_venus_readdir()
557 if (!vdir) return -ENOMEM; in coda_venus_readdir()
576 ret = kernel_read(filp, filp->f_pos - 2, (char *)vdir, in coda_venus_readdir()
577 sizeof(*vdir)); in coda_venus_readdir()
585 if (ret < vdir_size || ret < vdir_size + vdir->d_namlen) { in coda_venus_readdir()
592 if (vdir->d_reclen < vdir_size + vdir->d_namlen || in coda_venus_readdir()
593 vdir->d_namlen > CODA_MAXNAMLEN) { in coda_venus_readdir()
600 name.len = vdir->d_namlen; in coda_venus_readdir()
601 name.name = vdir->d_name; in coda_venus_readdir()
605 (vdir->d_name[1] == '.' && name.len == 2))) in coda_venus_readdir()
606 vdir->d_fileno = name.len = 0; in coda_venus_readdir()
609 if (vdir->d_fileno && name.len) { in coda_venus_readdir()
615 if (!ino) ino = vdir->d_fileno; in coda_venus_readdir()
617 type = CDT2DT(vdir->d_type); in coda_venus_readdir()
626 filp->f_pos += vdir->d_reclen; in coda_venus_readdir()
629 kfree(vdir); in coda_venus_readdir()