Lines Matching refs:qri
84 struct ceph_quotarealm_inode *qri = NULL;
91 qri = container_of(*node, struct ceph_quotarealm_inode, node);
93 if (ino < qri->ino)
95 else if (ino > qri->ino)
100 if (!qri || (qri->ino != ino)) {
102 qri = kmalloc(sizeof(*qri), GFP_KERNEL);
103 if (qri) {
104 qri->ino = ino;
105 qri->inode = NULL;
106 qri->timeout = 0;
107 mutex_init(&qri->mutex);
108 rb_link_node(&qri->node, parent, node);
109 rb_insert_color(&qri->node, &mdsc->quotarealms_inodes);
115 return qri;
130 struct ceph_quotarealm_inode *qri;
133 qri = find_quotarealm_inode(mdsc, realm->ino);
134 if (!qri)
137 mutex_lock(&qri->mutex);
138 if (qri->inode && ceph_is_any_caps(qri->inode)) {
140 mutex_unlock(&qri->mutex);
141 return qri->inode;
144 if (qri->timeout &&
145 time_before_eq(jiffies, qri->timeout)) {
146 mutex_unlock(&qri->mutex);
149 if (qri->inode) {
151 int ret = __ceph_do_getattr(qri->inode, NULL,
154 in = qri->inode;
164 qri->timeout = jiffies + msecs_to_jiffies(60 * 1000); /* XXX */
166 qri->timeout = 0;
167 qri->inode = in;
169 mutex_unlock(&qri->mutex);
176 struct ceph_quotarealm_inode *qri;
186 qri = rb_entry(node, struct ceph_quotarealm_inode, node);
188 iput(qri->inode);
189 kfree(qri);