path_info
unsigned int path_info;
unsigned int path_info;
struct path_info *pi, *next;
struct path_info *pi;
struct path_info *pi;
struct path_info *pi = path->pscontext;
struct path_info *pi = path->pscontext;
static void hst_fill_compare(struct path_info *pi, u64 *hst,
static long long hst_compare(struct path_info *pi1, struct path_info *pi2,
struct path_info *pi = NULL, *best = NULL;
struct path_info *pi = path->pscontext;
static u64 path_service_time(struct path_info *pi, u64 start_time)
struct path_info *pi = path->pscontext;
s->path_map = kzalloc_objs(struct path_info *, nr_cpu_ids);
struct path_info *pi;
struct path_info *pi = p->pscontext;
struct path_info *pi = p->pscontext;
struct path_info *pi;
struct path_info **path_map;
struct path_info *pi = s->path_map[cpu];
struct path_info *pi = NULL;
struct path_info *pi;
struct path_info *pi = path->pscontext;
struct path_info *pi = path->pscontext;
struct path_info *pi = NULL, *best = NULL;
struct path_info *pi = path->pscontext;
struct path_info *pi = path->pscontext;
struct path_info *pi, *next;
struct path_info *pi;
struct path_info *pi;
struct path_info *pi = p->pscontext;
struct path_info *pi = p->pscontext;
struct path_info *pi = NULL;
pi = list_entry(s->valid_paths.next, struct path_info, list);
struct path_info *pi, *next;
struct path_info *pi;
struct path_info *pi;
struct path_info *pi = path->pscontext;
struct path_info *pi = path->pscontext;
static int st_compare_load(struct path_info *pi1, struct path_info *pi2,
struct path_info *pi = NULL, *best = NULL;
struct path_info *pi = path->pscontext;
struct path_info *pi = path->pscontext;
struct path_info *pi, *next;
struct path_info *pi;
static DEVICE_ATTR_RO(path_info);
static DEVICE_ATTR(path_info, 0444, pqi_path_info_show, NULL);
struct mmp_path_info *path_info;
path_info = kzalloc_obj(*path_info);
if (!path_info)
path_info->name = config->name;
path_info->id = path_plat->id;
path_info->dev = ctrl->dev;
path_info->overlay_num = config->overlay_num;
path_info->overlay_ops = &mmphw_overlay_ops;
path_info->set_mode = path_set_mode;
path_info->plat_data = path_plat;
path = mmp_register_path(path_info);
kfree(path_info);
kfree(path_info);
struct ceph_path_info path_info = {0};
path = ceph_mdsc_build_path(mdsc, req->r_old_dentry, &path_info, 0);
ceph_mdsc_free_path_info(&path_info);
struct ceph_path_info path_info = {0};
path = ceph_mdsc_build_path(mdsc, req->r_dentry, &path_info, 0);
ceph_mdsc_free_path_info(&path_info);
struct ceph_path_info path_info = {0};
char *path = ceph_mdsc_build_path(mdsc, dentry, &path_info, 0);
path_info.vino.ino, IS_ERR(path) ? "<<bad>>" : path, result);
ceph_mdsc_free_path_info(&path_info);
struct ceph_path_info path_info = {0};
path = ceph_mdsc_build_path(mdsc, dn, &path_info, 0);
ceph_mdsc_free_path_info(&path_info);
struct ceph_path_info path_info = {0};
path = ceph_mdsc_build_path(mdsc, dentry, &path_info, 0);
ceph_mdsc_free_path_info(&path_info);
struct ceph_path_info path_info = {0};
char *path = ceph_mdsc_build_path(mdsc, req->r_dentry, &path_info, 0);
path_info.vino.ino, IS_ERR(path) ? "<<bad>>" : path, result);
ceph_mdsc_free_path_info(&path_info);
struct ceph_path_info path_info = {0};
path = ceph_mdsc_build_path(mdsc, dn, &path_info, 0);
ceph_mdsc_free_path_info(&path_info);
struct ceph_path_info path_info = {0};
path = ceph_mdsc_build_path(mdsc, dentry, &path_info, 0);
ceph_mdsc_free_path_info(&path_info);
struct ceph_path_info *path_info, int for_wire)
memset(path_info, 0, sizeof(*path_info));
path_info->vino.ino = base;
path_info->pathlen = PATH_MAX - 1 - pos;
path_info->path = path + pos;
path_info->freepath = true;
path_info->vino.snap = ceph_snap(d_inode(dentry));
path_info->vino.snap = CEPH_NOSNAP;
struct inode *dir, struct ceph_path_info *path_info,
path_info->vino.ino = ceph_ino(dir);
path_info->vino.snap = ceph_snap(dir);
path_info->path = dentry->d_name.name;
path_info->pathlen = dentry->d_name.len;
path_info->freepath = false;
path = ceph_mdsc_build_path(mdsc, dentry, path_info, 1);
static int build_inode_path(struct inode *inode, struct ceph_path_info *path_info)
path_info->vino.ino = ceph_ino(inode);
path_info->vino.snap = ceph_snap(inode);
path_info->pathlen = 0;
path_info->freepath = false;
path = ceph_mdsc_build_path(mdsc, dentry, path_info, 1);
path_info->vino.snap = ceph_snap(inode);
struct ceph_path_info *path_info,
memset(path_info, 0, sizeof(*path_info));
r = build_inode_path(rinode, path_info);
r = build_dentry_path(mdsc, rdentry, rdiri, path_info, parent_locked);
doutc(cl, " dentry %p %llx/%.*s\n", rdentry, path_info->vino.ino,
path_info->pathlen, path_info->path);
path_info->vino.ino = rino;
path_info->vino.snap = CEPH_NOSNAP;
path_info->path = rpath;
path_info->pathlen = rpath ? strlen(rpath) : 0;
path_info->freepath = false;
doutc(cl, " path %.*s\n", path_info->pathlen, rpath);
struct ceph_path_info path_info = {0};
char *path = ceph_mdsc_build_path(mdsc, dentry, &path_info,
rec.v2.pathbase = cpu_to_le64(path_info.vino.ino);
rec.v1.pathbase = cpu_to_le64(path_info.vino.ino);
struct_len += sizeof(u32) + path_info.pathlen + sizeof(rec.v2);
ceph_pagelist_encode_string(pagelist, (char *)path_info.path, path_info.pathlen);
path_info.pathlen + sizeof(rec.v1));
ceph_pagelist_encode_string(pagelist, (char *)path_info.path, path_info.pathlen);
ceph_mdsc_free_path_info(&path_info);
static inline void ceph_mdsc_free_path_info(const struct ceph_path_info *path_info)
if (path_info && path_info->freepath && !IS_ERR_OR_NULL(path_info->path))
__putname((char *)path_info->path - (PATH_MAX - 1 - path_info->pathlen));
struct dentry *dentry, struct ceph_path_info *path_info,