Lines Matching defs:end
74 static int parse_reply_info_quota(void **p, void *end,
80 ceph_decode_8_safe(p, end, struct_v, bad);
81 ceph_decode_8_safe(p, end, struct_compat, bad);
86 ceph_decode_32_safe(p, end, struct_len, bad);
87 ceph_decode_need(p, end, struct_len, bad);
88 end = *p + struct_len;
89 ceph_decode_64_safe(p, end, info->max_bytes, bad);
90 ceph_decode_64_safe(p, end, info->max_files, bad);
91 *p = end;
100 static int parse_reply_info_in(void **p, void *end,
110 ceph_decode_8_safe(p, end, struct_v, bad);
111 ceph_decode_8_safe(p, end, struct_compat, bad);
116 ceph_decode_32_safe(p, end, struct_len, bad);
117 ceph_decode_need(p, end, struct_len, bad);
118 end = *p + struct_len;
121 ceph_decode_need(p, end, sizeof(struct ceph_mds_reply_inode), bad);
127 ceph_decode_32_safe(p, end, info->symlink_len, bad);
128 ceph_decode_need(p, end, info->symlink_len, bad);
132 ceph_decode_copy_safe(p, end, &info->dir_layout,
134 ceph_decode_32_safe(p, end, info->xattr_len, bad);
135 ceph_decode_need(p, end, info->xattr_len, bad);
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);
147 err = parse_reply_info_quota(p, end, info);
151 ceph_decode_32_safe(p, end, info->pool_ns_len, bad);
153 ceph_decode_need(p, end, info->pool_ns_len, bad);
159 ceph_decode_need(p, end, sizeof(info->btime), bad);
163 ceph_decode_64_safe(p, end, info->change_attr, bad);
167 ceph_decode_32_safe(p, end, info->dir_pin, bad);
174 ceph_decode_need(p, end, sizeof(info->snap_btime), bad);
183 ceph_decode_64_safe(p, end, info->rsnaps, bad);
191 ceph_decode_32_safe(p, end, alen, bad);
197 ceph_decode_32_safe(p, end, len, bad);
198 ceph_decode_skip_n(p, end, len, bad);
200 ceph_decode_32_safe(p, end, len, bad);
201 ceph_decode_skip_n(p, end, len, bad);
207 ceph_decode_skip_8(p, end, bad);
214 ceph_decode_32_safe(p, end, info->fscrypt_auth_len, bad);
220 ceph_decode_copy_safe(p, end, info->fscrypt_auth,
223 ceph_decode_32_safe(p, end, info->fscrypt_file_len, bad);
229 ceph_decode_copy_safe(p, end, info->fscrypt_file,
233 *p = end;
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);
246 err = parse_reply_info_quota(p, end, info);
257 ceph_decode_32_safe(p, end, info->pool_ns_len, bad);
259 ceph_decode_need(p, end, info->pool_ns_len, bad);
266 ceph_decode_need(p, end, sizeof(info->btime), bad);
268 ceph_decode_64_safe(p, end, info->change_attr, bad);
281 static int parse_reply_info_dir(void **p, void *end,
288 ceph_decode_8_safe(p, end, struct_v, bad);
289 ceph_decode_8_safe(p, end, struct_compat, bad);
294 ceph_decode_32_safe(p, end, struct_len, bad);
295 ceph_decode_need(p, end, struct_len, bad);
296 end = *p + struct_len;
299 ceph_decode_need(p, end, sizeof(**dirfrag), bad);
302 if (unlikely(*p > end))
305 *p = end;
311 static int parse_reply_info_lease(void **p, void *end,
322 ceph_decode_8_safe(p, end, struct_v, bad);
323 ceph_decode_8_safe(p, end, struct_compat, bad);
330 ceph_decode_32_safe(p, end, struct_len, bad);
338 ceph_decode_need(p, end, struct_len, bad);
344 ceph_decode_32_safe(p, end, *altname_len, bad);
345 ceph_decode_need(p, end, *altname_len, bad);
363 static int parse_reply_info_trace(void **p, void *end,
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);
383 err = parse_reply_info_lease(p, end, &info->dlease, features,
390 err = parse_reply_info_in(p, end, &info->targeti, features);
395 if (unlikely(*p != end))
409 static int parse_reply_info_readdir(void **p, void *end,
417 err = parse_reply_info_dir(p, end, &info->dir_dir, features);
421 ceph_decode_need(p, end, sizeof(num) + 2, bad);
453 ceph_decode_32_safe(p, end, _name_len, bad);
454 ceph_decode_need(p, end, _name_len, bad);
464 err = parse_reply_info_lease(p, end, &rde->lease, features,
525 err = parse_reply_info_in(p, end, &rde->inode, features);
536 *p = end;
549 static int parse_reply_info_filelock(void **p, void *end,
553 if (*p + sizeof(*info->filelock_reply) > end)
559 *p = end;
570 static int ceph_parse_deleg_inos(void **p, void *end,
575 ceph_decode_32_safe(p, end, sets, bad);
580 ceph_decode_64_safe(p, end, start, bad);
581 ceph_decode_64_safe(p, end, len, bad);
633 static int ceph_parse_deleg_inos(void **p, void *end,
638 ceph_decode_32_safe(p, end, sets, bad);
640 ceph_decode_skip_n(p, end, sets * 2 * sizeof(__le64), bad);
660 static int parse_reply_info_create(void **p, void *end,
668 if (*p == end) {
674 ceph_decode_skip_n(p, end, 2 + sizeof(u32), bad);
675 ceph_decode_64_safe(p, end, info->ino, bad);
676 ret = ceph_parse_deleg_inos(p, end, s);
681 ceph_decode_64_safe(p, end, info->ino, bad);
685 if (*p != end)
690 *p = end;
696 static int parse_reply_info_getvxattr(void **p, void *end,
702 ceph_decode_skip_8(p, end, bad); /* skip current version: 1 */
703 ceph_decode_skip_8(p, end, bad); /* skip first version: 1 */
704 ceph_decode_skip_32(p, end, bad); /* skip payload length */
706 ceph_decode_32_safe(p, end, value_len, bad);
708 if (value_len == end - *p) {
711 *p = end;
721 static int parse_reply_info_extra(void **p, void *end,
729 return parse_reply_info_filelock(p, end, info, features);
731 return parse_reply_info_readdir(p, end, req, features);
733 return parse_reply_info_create(p, end, info, features, s);
735 return parse_reply_info_getvxattr(p, end, info, features);
747 void *p, *end;
753 end = p + msg->front.iov_len - sizeof(struct ceph_mds_reply_head);
756 ceph_decode_32_safe(&p, end, len, bad);
758 ceph_decode_need(&p, end, len, bad);
765 ceph_decode_32_safe(&p, end, len, bad);
767 ceph_decode_need(&p, end, len, bad);
774 ceph_decode_32_safe(&p, end, len, bad);
779 if (p != end)
1448 static int encode_supported_features(void **p, void *end)
1457 if (WARN_ON_ONCE(*p + 4 + size > end))
1468 if (WARN_ON_ONCE(*p + 4 > end))
1479 static int encode_metric_spec(void **p, void *end)
1484 if (WARN_ON_ONCE(*p + 2 > end))
1494 if (WARN_ON_ONCE(*p + 4 + 4 + size > end))
1507 if (WARN_ON_ONCE(*p + 4 + 4 > end))
1533 void *p, *end;
1574 end = p + msg->front.iov_len;
1608 ret = encode_supported_features(&p, end);
1615 ret = encode_metric_spec(&p, end);
2714 * A rename didn't occur, but somehow we didn't end up where
2717 pr_warn("build_path did not end path lookup where expected (pos = %d)\n",
2874 void *p, *end;
2991 end = msg->front.iov_base + msg->front.iov_len;
3002 ceph_encode_filepath(&p, end, ino1, path1);
3003 ceph_encode_filepath(&p, end, ino2, path2);
3046 if (WARN_ON_ONCE(p > end)) {
3844 void *end = p + msg->front.iov_len;
3847 ceph_decode_need(&p, end, 2*sizeof(u32), bad);
3901 static int __decode_session_metadata(void **p, void *end,
3907 ceph_decode_32_safe(p, end, n, bad);
3910 ceph_decode_32_safe(p, end, len, bad);
3911 ceph_decode_need(p, end, len, bad);
3914 ceph_decode_32_safe(p, end, len, bad);
3915 ceph_decode_need(p, end, len, bad);
3939 void *end = p + msg->front.iov_len;
3947 ceph_decode_need(&p, end, sizeof(*h), bad);
3960 ceph_decode_skip_map(&p, end, string, string, bad);
3961 else if (__decode_session_metadata(&p, end, &blocklisted) < 0)
3965 ceph_decode_32_safe(&p, end, len, bad);
3967 ceph_decode_64_safe(&p, end, features, bad);
3976 ceph_decode_skip_16(&p, end, bad); /* struct_v, struct_cv */
3977 ceph_decode_32_safe(&p, end, len, bad); /* len */
3978 ceph_decode_skip_n(&p, end, len, bad); /* metric_spec */
3981 ceph_decode_32_safe(&p, end, flags, bad);
5571 void *end = p + msg->front.iov_len;
5577 ceph_decode_need(&p, end, sizeof(u32), bad);
5583 ceph_decode_skip_n(&p, end, 2 + sizeof(u32) * 3, bad);
5585 ceph_decode_32_safe(&p, end, num_fs, bad);
5591 ceph_decode_need(&p, end, 2 + sizeof(u32), bad);
5594 ceph_decode_need(&p, end, info_len, bad);
5643 void *end = p + msg->front.iov_len;
5648 ceph_decode_need(&p, end, sizeof(fsid)+2*sizeof(u32), bad);
5665 newmap = ceph_mdsmap_decode(&p, end, ceph_msgr2(mdsc->fsc->client));