Lines Matching refs:info

75 				  struct ceph_mds_reply_info_in *info)
89 ceph_decode_64_safe(p, end, info->max_bytes, bad);
90 ceph_decode_64_safe(p, end, info->max_files, bad);
98 * parse individual inode info
101 struct ceph_mds_reply_info_in *info,
122 info->in = *p;
124 sizeof(*info->in->fragtree.splits) *
125 le32_to_cpu(info->in->fragtree.nsplits);
127 ceph_decode_32_safe(p, end, info->symlink_len, bad);
128 ceph_decode_need(p, end, info->symlink_len, bad);
129 info->symlink = *p;
130 *p += info->symlink_len;
132 ceph_decode_copy_safe(p, end, &info->dir_layout,
133 sizeof(info->dir_layout), bad);
134 ceph_decode_32_safe(p, end, info->xattr_len, bad);
135 ceph_decode_need(p, end, info->xattr_len, bad);
136 info->xattr_data = *p;
137 *p += info->xattr_len;
141 ceph_decode_64_safe(p, end, info->inline_version, bad);
142 ceph_decode_32_safe(p, end, info->inline_len, bad);
143 ceph_decode_need(p, end, info->inline_len, bad);
144 info->inline_data = *p;
145 *p += info->inline_len;
147 err = parse_reply_info_quota(p, end, info);
151 ceph_decode_32_safe(p, end, info->pool_ns_len, bad);
152 if (info->pool_ns_len > 0) {
153 ceph_decode_need(p, end, info->pool_ns_len, bad);
154 info->pool_ns_data = *p;
155 *p += info->pool_ns_len;
159 ceph_decode_need(p, end, sizeof(info->btime), bad);
160 ceph_decode_copy(p, &info->btime, sizeof(info->btime));
163 ceph_decode_64_safe(p, end, info->change_attr, bad);
167 ceph_decode_32_safe(p, end, info->dir_pin, bad);
169 info->dir_pin = -ENODATA;
174 ceph_decode_need(p, end, sizeof(info->snap_btime), bad);
175 ceph_decode_copy(p, &info->snap_btime,
176 sizeof(info->snap_btime));
178 memset(&info->snap_btime, 0, sizeof(info->snap_btime));
183 ceph_decode_64_safe(p, end, info->rsnaps, bad);
185 info->rsnaps = 0;
209 info->fscrypt_auth = NULL;
210 info->fscrypt_auth_len = 0;
211 info->fscrypt_file = NULL;
212 info->fscrypt_file_len = 0;
214 ceph_decode_32_safe(p, end, info->fscrypt_auth_len, bad);
215 if (info->fscrypt_auth_len) {
216 info->fscrypt_auth = kmalloc(info->fscrypt_auth_len,
218 if (!info->fscrypt_auth)
220 ceph_decode_copy_safe(p, end, info->fscrypt_auth,
221 info->fscrypt_auth_len, bad);
223 ceph_decode_32_safe(p, end, info->fscrypt_file_len, bad);
224 if (info->fscrypt_file_len) {
225 info->fscrypt_file = kmalloc(info->fscrypt_file_len,
227 if (!info->fscrypt_file)
229 ceph_decode_copy_safe(p, end, info->fscrypt_file,
230 info->fscrypt_file_len, bad);
237 ceph_decode_64_safe(p, end, info->inline_version, bad);
238 ceph_decode_32_safe(p, end, info->inline_len, bad);
239 ceph_decode_need(p, end, info->inline_len, bad);
240 info->inline_data = *p;
241 *p += info->inline_len;
243 info->inline_version = CEPH_INLINE_NONE;
246 err = parse_reply_info_quota(p, end, info);
250 info->max_bytes = 0;
251 info->max_files = 0;
254 info->pool_ns_len = 0;
255 info->pool_ns_data = NULL;
257 ceph_decode_32_safe(p, end, info->pool_ns_len, bad);
258 if (info->pool_ns_len > 0) {
259 ceph_decode_need(p, end, info->pool_ns_len, bad);
260 info->pool_ns_data = *p;
261 *p += info->pool_ns_len;
266 ceph_decode_need(p, end, sizeof(info->btime), bad);
267 ceph_decode_copy(p, &info->btime, sizeof(info->btime));
268 ceph_decode_64_safe(p, end, info->change_attr, bad);
271 info->dir_pin = -ENODATA;
272 /* info->snap_btime and info->rsnaps remain zero */
364 struct ceph_mds_reply_info_parsed *info,
369 if (info->head->is_dentry) {
370 err = parse_reply_info_in(p, end, &info->diri, features);
374 err = parse_reply_info_dir(p, end, &info->dirfrag, features);
378 ceph_decode_32_safe(p, end, info->dname_len, bad);
379 ceph_decode_need(p, end, info->dname_len, bad);
380 info->dname = *p;
381 *p += info->dname_len;
383 err = parse_reply_info_lease(p, end, &info->dlease, features,
384 &info->altname_len, &info->altname);
389 if (info->head->is_target) {
390 err = parse_reply_info_in(p, end, &info->targeti, features);
413 struct ceph_mds_reply_info_parsed *info = &req->r_reply_info;
417 err = parse_reply_info_dir(p, end, &info->dir_dir, features);
425 info->dir_end = !!(flags & CEPH_READDIR_FRAG_END);
426 info->dir_complete = !!(flags & CEPH_READDIR_FRAG_COMPLETE);
427 info->hash_order = !!(flags & CEPH_READDIR_HASH_ORDER);
428 info->offset_hash = !!(flags & CEPH_READDIR_OFFSET_HASH);
433 BUG_ON(!info->dir_entries);
434 if ((unsigned long)(info->dir_entries + num) >
435 (unsigned long)info->dir_entries + info->dir_buf_size) {
441 info->dir_nr = num;
445 struct ceph_mds_reply_dir_entry *rde = info->dir_entries + i;
459 if (info->hash_order)
550 struct ceph_mds_reply_info_parsed *info,
553 if (*p + sizeof(*info->filelock_reply) > end)
556 info->filelock_reply = *p;
661 struct ceph_mds_reply_info_parsed *info,
670 info->has_create_ino = false;
672 info->has_create_ino = true;
675 ceph_decode_64_safe(p, end, info->ino, bad);
681 ceph_decode_64_safe(p, end, info->ino, bad);
682 info->has_create_ino = true;
697 struct ceph_mds_reply_info_parsed *info,
709 info->xattr_info.xattr_value = *p;
710 info->xattr_info.xattr_value_len = value_len;
725 struct ceph_mds_reply_info_parsed *info = &req->r_reply_info;
726 u32 op = le32_to_cpu(info->head->op);
729 return parse_reply_info_filelock(p, end, info, features);
733 return parse_reply_info_create(p, end, info, features, s);
735 return parse_reply_info_getvxattr(p, end, info, features);
746 struct ceph_mds_reply_info_parsed *info = &req->r_reply_info;
751 info->head = msg->front.iov_base;
759 err = parse_reply_info_trace(&p, p+len, info, features);
775 info->snapblob_len = len;
776 info->snapblob = p;
791 static void destroy_reply_info(struct ceph_mds_reply_info_parsed *info)
795 kfree(info->diri.fscrypt_auth);
796 kfree(info->diri.fscrypt_file);
797 kfree(info->targeti.fscrypt_auth);
798 kfree(info->targeti.fscrypt_file);
799 if (!info->dir_entries)
802 for (i = 0; i < info->dir_nr; i++) {
803 struct ceph_mds_reply_dir_entry *rde = info->dir_entries + i;
808 free_pages((unsigned long)info->dir_entries, get_order(info->dir_buf_size));
1497 /* metric spec info length */
1510 /* metric spec info length */
3629 struct ceph_mds_reply_info_parsed *rinfo; /* parsed reply info */
3691 * doesn't include any result info in the safe
4491 * parent for all of our realms. If the mds has any newer info,
4541 * know about.. that ensures we'll then get any new info the