Lines Matching refs:rdc
44 spin_lock(&fi->rdc.lock);
49 if (fi->rdc.cached || pos != fi->rdc.pos) {
50 spin_unlock(&fi->rdc.lock);
53 version = fi->rdc.version;
54 size = fi->rdc.size;
62 spin_unlock(&fi->rdc.lock);
73 spin_lock(&fi->rdc.lock);
75 if (fi->rdc.version != version || fi->rdc.size != size ||
76 WARN_ON(fi->rdc.pos != pos))
86 fi->rdc.size = (index << PAGE_SHIFT) + offset + reclen;
87 fi->rdc.pos = dirent->off;
89 spin_unlock(&fi->rdc.lock);
99 spin_lock(&fi->rdc.lock);
101 if (fi->rdc.pos != pos) {
102 spin_unlock(&fi->rdc.lock);
106 fi->rdc.cached = true;
107 end = ALIGN(fi->rdc.size, PAGE_SIZE);
108 spin_unlock(&fi->rdc.lock);
436 fi->rdc.cached = false;
437 fi->rdc.version++;
438 fi->rdc.size = 0;
439 fi->rdc.pos = 0;
474 spin_lock(&fi->rdc.lock);
476 if (!fi->rdc.cached) {
478 if (!ctx->pos && !fi->rdc.size) {
479 fi->rdc.mtime = inode->i_mtime;
480 fi->rdc.iversion = inode_query_iversion(inode);
482 spin_unlock(&fi->rdc.lock);
491 if (inode_peek_iversion(inode) != fi->rdc.iversion ||
492 !timespec64_equal(&fi->rdc.mtime, &inode->i_mtime)) {
502 if (ff->readdir.version != fi->rdc.version) {
511 ff->readdir.version = fi->rdc.version;
513 WARN_ON(fi->rdc.size < ff->readdir.cache_off);
517 if (index == (fi->rdc.size >> PAGE_SHIFT))
518 size = fi->rdc.size & ~PAGE_MASK;
521 spin_unlock(&fi->rdc.lock);
535 spin_lock(&fi->rdc.lock);
540 if (fi->rdc.version == ff->readdir.version)
546 if (ff->readdir.version != fi->rdc.version) {
547 spin_unlock(&fi->rdc.lock);
552 spin_unlock(&fi->rdc.lock);