• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.5.8/xnu-1228.15.4/bsd/hfs/

Lines Matching refs:cp

138 	struct cnode *cp;
150 for (cp = CNODEHASH(dev, inum)->lh_first; cp; cp = cp->c_hash.le_next) {
151 if ((cp->c_fileid != inum) || (cp->c_dev != dev))
154 if (ISSET(cp->c_hflag, H_ALLOC | H_TRANSIT | H_ATTACH)) {
155 SET(cp->c_hflag, H_WAITING);
157 (void) msleep(cp, &hfs_chash_mutex, PDROP | PINOD,
162 vp = wantrsrc ? cp->c_rsrc_vp : cp->c_vp;
176 if (!skiplock && hfs_lock(cp, HFS_EXCLUSIVE_LOCK) != 0) {
188 if (cp->c_flag & (C_NOEXISTS | C_DELETED)) {
190 hfs_unlock(cp);
211 struct cnode *cp;
220 for (cp = CNODEHASH(dev, inum)->lh_first; cp; cp = cp->c_hash.le_next) {
221 if ((cp->c_fileid != inum) || (cp->c_dev != dev))
224 if (!ISSET(cp->c_hflag, H_ALLOC | H_TRANSIT | H_ATTACH)) {
225 result = callout(&cp->c_desc, &cp->c_attr, arg);
247 struct cnode *cp;
261 for (cp = CNODEHASH(dev, inum)->lh_first; cp; cp = cp->c_hash.le_next) {
262 if ((cp->c_fileid != inum) || (cp->c_dev != dev))
267 if (ISSET(cp->c_hflag, H_ALLOC | H_ATTACH | H_TRANSIT)) {
268 SET(cp->c_hflag, H_WAITING);
270 (void) msleep(cp, &hfs_chash_mutex, PINOD,
274 vp = wantrsrc ? cp->c_rsrc_vp : cp->c_vp;
279 SET(cp->c_hflag, H_ATTACH);
301 hfs_lock(cp, HFS_FORCE_LOCK);
314 if ((cp->c_flag & (C_NOEXISTS | C_DELETED)) && !wantrsrc) {
316 hfs_unlock(cp);
321 CLR(cp->c_hflag, H_ATTACH);
322 if (ISSET(cp->c_hflag, H_WAITING)) {
323 CLR(cp->c_hflag, H_WAITING);
324 wakeup((caddr_t)cp);
329 cp = NULL;
332 return (cp);
375 hfs_chashwakeup(struct cnode *cp, int hflags)
379 CLR(cp->c_hflag, hflags);
381 if (ISSET(cp->c_hflag, H_WAITING)) {
382 CLR(cp->c_hflag, H_WAITING);
383 wakeup((caddr_t)cp);
412 hfs_chashremove(struct cnode *cp)
417 if (ISSET(cp->c_hflag, H_ATTACH)) {
421 if (cp->c_hash.le_next || cp->c_hash.le_prev) {
422 LIST_REMOVE(cp, c_hash);
423 cp->c_hash.le_next = NULL;
424 cp->c_hash.le_prev = NULL;
435 hfs_chash_abort(struct cnode *cp)
439 LIST_REMOVE(cp, c_hash);
440 cp->c_hash.le_next = NULL;
441 cp->c_hash.le_prev = NULL;
443 CLR(cp->c_hflag, H_ATTACH | H_ALLOC);
444 if (ISSET(cp->c_hflag, H_WAITING)) {
445 CLR(cp->c_hflag, H_WAITING);
446 wakeup((caddr_t)cp);
457 hfs_chash_mark_in_transit(struct cnode *cp)
461 SET(cp->c_hflag, H_TRANSIT);
475 struct cnode *cp;
477 for (cp = CNODEHASH(dev, cnid)->lh_first; cp; cp = cp->c_hash.le_next) {
478 if ((cp->c_fileid == cnid) && (cp->c_dev == dev)) {
484 if (cp && ISSET(cp->c_hflag, H_ALLOC | H_TRANSIT | H_ATTACH)) {
485 cp = NULL;
488 return cp;
506 struct cnode *cp;
509 cp = hfs_chash_search_cnid(dev, cnid);
510 if (cp) {
511 if (cp->c_attr.ca_recflags & kHFSHasChildLinkMask) {
514 cp->c_attr.ca_recflags |= kHFSHasChildLinkMask;