• Home
  • Raw
  • Download

Lines Matching refs:cookie

532 	struct afs_lookup_one_cookie *cookie =  in afs_lookup_one_filldir()  local
536 cookie->name.name, cookie->name.len, name, nlen, in afs_lookup_one_filldir()
543 if (cookie->name.len != nlen || in afs_lookup_one_filldir()
544 memcmp(cookie->name.name, name, nlen) != 0) { in afs_lookup_one_filldir()
549 cookie->fid.vnode = ino; in afs_lookup_one_filldir()
550 cookie->fid.unique = dtype; in afs_lookup_one_filldir()
551 cookie->found = 1; in afs_lookup_one_filldir()
566 struct afs_lookup_one_cookie cookie = { in afs_do_lookup_one() local
576 ret = afs_dir_iterate(dir, &cookie.ctx, key, _dir_version); in afs_do_lookup_one()
583 if (!cookie.found) { in afs_do_lookup_one()
588 *fid = cookie.fid; in afs_do_lookup_one()
601 struct afs_lookup_cookie *cookie = in afs_lookup_filldir() local
606 cookie->name.name, cookie->name.len, name, nlen, in afs_lookup_filldir()
613 if (cookie->found) { in afs_lookup_filldir()
614 if (cookie->nr_fids < 50) { in afs_lookup_filldir()
615 cookie->fids[cookie->nr_fids].vnode = ino; in afs_lookup_filldir()
616 cookie->fids[cookie->nr_fids].unique = dtype; in afs_lookup_filldir()
617 cookie->nr_fids++; in afs_lookup_filldir()
619 } else if (cookie->name.len == nlen && in afs_lookup_filldir()
620 memcmp(cookie->name.name, name, nlen) == 0) { in afs_lookup_filldir()
621 cookie->fids[0].vnode = ino; in afs_lookup_filldir()
622 cookie->fids[0].unique = dtype; in afs_lookup_filldir()
623 cookie->found = 1; in afs_lookup_filldir()
624 if (cookie->one_only) in afs_lookup_filldir()
628 ret = cookie->nr_fids >= 50 ? -1 : 0; in afs_lookup_filldir()
641 struct afs_lookup_cookie *cookie; in afs_do_lookup() local
655 cookie = kzalloc(sizeof(struct afs_lookup_cookie), GFP_KERNEL); in afs_do_lookup()
656 if (!cookie) in afs_do_lookup()
659 cookie->ctx.actor = afs_lookup_filldir; in afs_do_lookup()
660 cookie->name = dentry->d_name; in afs_do_lookup()
661 cookie->nr_fids = 1; /* slot 0 is saved for the fid we actually want */ in afs_do_lookup()
670 cookie->one_only = true; in afs_do_lookup()
675 cookie->fids[i].vid = as->volume->vid; in afs_do_lookup()
678 ret = afs_dir_iterate(dir, &cookie->ctx, key, &data_version); in afs_do_lookup()
687 if (!cookie->found) in afs_do_lookup()
691 iget_data.fid = cookie->fids[0]; in afs_do_lookup()
695 inode = ilookup5(dir->i_sb, cookie->fids[0].vnode, in afs_do_lookup()
702 cookie->statuses = kvcalloc(cookie->nr_fids, sizeof(struct afs_status_cb), in afs_do_lookup()
704 if (!cookie->statuses) in afs_do_lookup()
707 cookie->inodes = kcalloc(cookie->nr_fids, sizeof(struct inode *), in afs_do_lookup()
709 if (!cookie->inodes) in afs_do_lookup()
712 for (i = 1; i < cookie->nr_fids; i++) { in afs_do_lookup()
713 scb = &cookie->statuses[i]; in afs_do_lookup()
718 iget_data.fid = cookie->fids[i]; in afs_do_lookup()
724 cookie->inodes[i] = ti; in afs_do_lookup()
732 if (cookie->one_only) in afs_do_lookup()
748 cookie->fids, in afs_do_lookup()
749 cookie->statuses, in afs_do_lookup()
750 cookie->nr_fids, NULL); in afs_do_lookup()
775 scb = &cookie->statuses[0]; in afs_do_lookup()
778 cookie->fids, in afs_do_lookup()
795 scb = &cookie->statuses[0]; in afs_do_lookup()
799 for (i = 0; i < cookie->nr_fids; i++) { in afs_do_lookup()
800 struct afs_status_cb *scb = &cookie->statuses[i]; in afs_do_lookup()
805 if (cookie->inodes[i]) { in afs_do_lookup()
806 struct afs_vnode *iv = AFS_FS_I(cookie->inodes[i]); in afs_do_lookup()
819 iget_data.fid = cookie->fids[i]; in afs_do_lookup()
836 if (cookie->inodes) { in afs_do_lookup()
837 for (i = 0; i < cookie->nr_fids; i++) in afs_do_lookup()
838 iput(cookie->inodes[i]); in afs_do_lookup()
839 kfree(cookie->inodes); in afs_do_lookup()
842 kvfree(cookie->statuses); in afs_do_lookup()
844 kfree(cookie); in afs_do_lookup()