aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ceph/export.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ceph/export.c')
-rw-r--r--fs/ceph/export.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/fs/ceph/export.c b/fs/ceph/export.c
index 8d7d782f4382..fe02ae7f056a 100644
--- a/fs/ceph/export.c
+++ b/fs/ceph/export.c
@@ -136,8 +136,8 @@ static struct dentry *__get_parent(struct super_block *sb,
136 return ERR_CAST(req); 136 return ERR_CAST(req);
137 137
138 if (child) { 138 if (child) {
139 req->r_inode = child->d_inode; 139 req->r_inode = d_inode(child);
140 ihold(child->d_inode); 140 ihold(d_inode(child));
141 } else { 141 } else {
142 req->r_ino1 = (struct ceph_vino) { 142 req->r_ino1 = (struct ceph_vino) {
143 .ino = ino, 143 .ino = ino,
@@ -164,7 +164,7 @@ static struct dentry *__get_parent(struct super_block *sb,
164 return ERR_PTR(err); 164 return ERR_PTR(err);
165 } 165 }
166 dout("__get_parent ino %llx parent %p ino %llx.%llx\n", 166 dout("__get_parent ino %llx parent %p ino %llx.%llx\n",
167 child ? ceph_ino(child->d_inode) : ino, 167 child ? ceph_ino(d_inode(child)) : ino,
168 dentry, ceph_vinop(inode)); 168 dentry, ceph_vinop(inode));
169 return dentry; 169 return dentry;
170} 170}
@@ -172,11 +172,11 @@ static struct dentry *__get_parent(struct super_block *sb,
172static struct dentry *ceph_get_parent(struct dentry *child) 172static struct dentry *ceph_get_parent(struct dentry *child)
173{ 173{
174 /* don't re-export snaps */ 174 /* don't re-export snaps */
175 if (ceph_snap(child->d_inode) != CEPH_NOSNAP) 175 if (ceph_snap(d_inode(child)) != CEPH_NOSNAP)
176 return ERR_PTR(-EINVAL); 176 return ERR_PTR(-EINVAL);
177 177
178 dout("get_parent %p ino %llx.%llx\n", 178 dout("get_parent %p ino %llx.%llx\n",
179 child, ceph_vinop(child->d_inode)); 179 child, ceph_vinop(d_inode(child)));
180 return __get_parent(child->d_sb, child, 0); 180 return __get_parent(child->d_sb, child, 0);
181} 181}
182 182
@@ -209,32 +209,32 @@ static int ceph_get_name(struct dentry *parent, char *name,
209 struct ceph_mds_request *req; 209 struct ceph_mds_request *req;
210 int err; 210 int err;
211 211
212 mdsc = ceph_inode_to_client(child->d_inode)->mdsc; 212 mdsc = ceph_inode_to_client(d_inode(child))->mdsc;
213 req = ceph_mdsc_create_request(mdsc, CEPH_MDS_OP_LOOKUPNAME, 213 req = ceph_mdsc_create_request(mdsc, CEPH_MDS_OP_LOOKUPNAME,
214 USE_ANY_MDS); 214 USE_ANY_MDS);
215 if (IS_ERR(req)) 215 if (IS_ERR(req))
216 return PTR_ERR(req); 216 return PTR_ERR(req);
217 217
218 mutex_lock(&parent->d_inode->i_mutex); 218 mutex_lock(&d_inode(parent)->i_mutex);
219 219
220 req->r_inode = child->d_inode; 220 req->r_inode = d_inode(child);
221 ihold(child->d_inode); 221 ihold(d_inode(child));
222 req->r_ino2 = ceph_vino(parent->d_inode); 222 req->r_ino2 = ceph_vino(d_inode(parent));
223 req->r_locked_dir = parent->d_inode; 223 req->r_locked_dir = d_inode(parent);
224 req->r_num_caps = 2; 224 req->r_num_caps = 2;
225 err = ceph_mdsc_do_request(mdsc, NULL, req); 225 err = ceph_mdsc_do_request(mdsc, NULL, req);
226 226
227 mutex_unlock(&parent->d_inode->i_mutex); 227 mutex_unlock(&d_inode(parent)->i_mutex);
228 228
229 if (!err) { 229 if (!err) {
230 struct ceph_mds_reply_info_parsed *rinfo = &req->r_reply_info; 230 struct ceph_mds_reply_info_parsed *rinfo = &req->r_reply_info;
231 memcpy(name, rinfo->dname, rinfo->dname_len); 231 memcpy(name, rinfo->dname, rinfo->dname_len);
232 name[rinfo->dname_len] = 0; 232 name[rinfo->dname_len] = 0;
233 dout("get_name %p ino %llx.%llx name %s\n", 233 dout("get_name %p ino %llx.%llx name %s\n",
234 child, ceph_vinop(child->d_inode), name); 234 child, ceph_vinop(d_inode(child)), name);
235 } else { 235 } else {
236 dout("get_name %p ino %llx.%llx err %d\n", 236 dout("get_name %p ino %llx.%llx err %d\n",
237 child, ceph_vinop(child->d_inode), err); 237 child, ceph_vinop(d_inode(child)), err);
238 } 238 }
239 239
240 ceph_mdsc_put_request(req); 240 ceph_mdsc_put_request(req);