mds_client.c (428138c9892fac19a682973bbb6d8c2a904b6639) | mds_client.c (245ce991cca55eb16cfc43d1655574121b8ed85f) |
---|---|
1// SPDX-License-Identifier: GPL-2.0 2#include <linux/ceph/ceph_debug.h> 3 4#include <linux/fs.h> 5#include <linux/wait.h> 6#include <linux/slab.h> 7#include <linux/gfp.h> 8#include <linux/sched.h> --- 136 unchanged lines hidden (view full) --- 145 goto out_bad; 146 /* pool namespace */ 147 ceph_decode_32_safe(p, end, info->pool_ns_len, bad); 148 if (info->pool_ns_len > 0) { 149 ceph_decode_need(p, end, info->pool_ns_len, bad); 150 info->pool_ns_data = *p; 151 *p += info->pool_ns_len; 152 } | 1// SPDX-License-Identifier: GPL-2.0 2#include <linux/ceph/ceph_debug.h> 3 4#include <linux/fs.h> 5#include <linux/wait.h> 6#include <linux/slab.h> 7#include <linux/gfp.h> 8#include <linux/sched.h> --- 136 unchanged lines hidden (view full) --- 145 goto out_bad; 146 /* pool namespace */ 147 ceph_decode_32_safe(p, end, info->pool_ns_len, bad); 148 if (info->pool_ns_len > 0) { 149 ceph_decode_need(p, end, info->pool_ns_len, bad); 150 info->pool_ns_data = *p; 151 *p += info->pool_ns_len; 152 } |
153 /* btime, change_attr */ 154 { 155 struct ceph_timespec btime; 156 u64 change_attr; 157 ceph_decode_need(p, end, sizeof(btime), bad); 158 ceph_decode_copy(p, &btime, sizeof(btime)); 159 ceph_decode_64_safe(p, end, change_attr, bad); 160 } | |
161 | 153 |
154 /* btime */ 155 ceph_decode_need(p, end, sizeof(info->btime), bad); 156 ceph_decode_copy(p, &info->btime, sizeof(info->btime)); 157 158 /* change attribute */ 159 ceph_decode_skip_64(p, end, bad); 160 |
|
162 /* dir pin */ 163 if (struct_v >= 2) { 164 ceph_decode_32_safe(p, end, info->dir_pin, bad); 165 } else { 166 info->dir_pin = -ENODATA; 167 } 168 169 /* snapshot birth time, remains zero for v<=2 */ --- 31 unchanged lines hidden (view full) --- 201 ceph_decode_32_safe(p, end, info->pool_ns_len, bad); 202 if (info->pool_ns_len > 0) { 203 ceph_decode_need(p, end, info->pool_ns_len, bad); 204 info->pool_ns_data = *p; 205 *p += info->pool_ns_len; 206 } 207 } 208 | 161 /* dir pin */ 162 if (struct_v >= 2) { 163 ceph_decode_32_safe(p, end, info->dir_pin, bad); 164 } else { 165 info->dir_pin = -ENODATA; 166 } 167 168 /* snapshot birth time, remains zero for v<=2 */ --- 31 unchanged lines hidden (view full) --- 200 ceph_decode_32_safe(p, end, info->pool_ns_len, bad); 201 if (info->pool_ns_len > 0) { 202 ceph_decode_need(p, end, info->pool_ns_len, bad); 203 info->pool_ns_data = *p; 204 *p += info->pool_ns_len; 205 } 206 } 207 |
208 if (features & CEPH_FEATURE_FS_BTIME) { 209 ceph_decode_need(p, end, sizeof(info->btime), bad); 210 ceph_decode_copy(p, &info->btime, sizeof(info->btime)); 211 ceph_decode_skip_64(p, end, bad); 212 } 213 |
|
209 info->dir_pin = -ENODATA; 210 /* info->snap_btime remains zero */ 211 } 212 return 0; 213bad: 214 err = -EIO; 215out_bad: 216 return err; --- 4522 unchanged lines hidden --- | 214 info->dir_pin = -ENODATA; 215 /* info->snap_btime remains zero */ 216 } 217 return 0; 218bad: 219 err = -EIO; 220out_bad: 221 return err; --- 4522 unchanged lines hidden --- |