diff options
-rw-r--r-- | fs/ceph/addr.c | 2 | ||||
-rw-r--r-- | fs/ceph/caps.c | 15 | ||||
-rw-r--r-- | fs/ceph/dir.c | 10 | ||||
-rw-r--r-- | fs/ceph/export.c | 2 | ||||
-rw-r--r-- | fs/ceph/file.c | 2 | ||||
-rw-r--r-- | fs/ceph/inode.c | 10 | ||||
-rw-r--r-- | fs/ceph/ioctl.c | 2 | ||||
-rw-r--r-- | fs/ceph/snap.c | 2 | ||||
-rw-r--r-- | fs/ceph/super.c | 8 | ||||
-rw-r--r-- | fs/ceph/super.h | 6 | ||||
-rw-r--r-- | fs/ceph/xattr.c | 4 |
11 files changed, 30 insertions, 33 deletions
diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c index caf76c7fa77c..d9c60b84949a 100644 --- a/fs/ceph/addr.c +++ b/fs/ceph/addr.c | |||
@@ -563,7 +563,7 @@ static void writepages_finish(struct ceph_osd_request *req, | |||
563 | ceph_release_pages(req->r_pages, req->r_num_pages); | 563 | ceph_release_pages(req->r_pages, req->r_num_pages); |
564 | if (req->r_pages_from_pool) | 564 | if (req->r_pages_from_pool) |
565 | mempool_free(req->r_pages, | 565 | mempool_free(req->r_pages, |
566 | ceph_client(inode->i_sb)->wb_pagevec_pool); | 566 | ceph_sb_to_client(inode->i_sb)->wb_pagevec_pool); |
567 | else | 567 | else |
568 | kfree(req->r_pages); | 568 | kfree(req->r_pages); |
569 | ceph_osdc_put_request(req); | 569 | ceph_osdc_put_request(req); |
diff --git a/fs/ceph/caps.c b/fs/ceph/caps.c index d9400534b279..51fd39da1470 100644 --- a/fs/ceph/caps.c +++ b/fs/ceph/caps.c | |||
@@ -867,7 +867,8 @@ void __ceph_remove_cap(struct ceph_cap *cap) | |||
867 | { | 867 | { |
868 | struct ceph_mds_session *session = cap->session; | 868 | struct ceph_mds_session *session = cap->session; |
869 | struct ceph_inode_info *ci = cap->ci; | 869 | struct ceph_inode_info *ci = cap->ci; |
870 | struct ceph_mds_client *mdsc = &ceph_client(ci->vfs_inode.i_sb)->mdsc; | 870 | struct ceph_mds_client *mdsc = |
871 | &ceph_sb_to_client(ci->vfs_inode.i_sb)->mdsc; | ||
871 | int removed = 0; | 872 | int removed = 0; |
872 | 873 | ||
873 | dout("__ceph_remove_cap %p from %p\n", cap, &ci->vfs_inode); | 874 | dout("__ceph_remove_cap %p from %p\n", cap, &ci->vfs_inode); |
@@ -1298,7 +1299,8 @@ static void ceph_flush_snaps(struct ceph_inode_info *ci) | |||
1298 | */ | 1299 | */ |
1299 | void __ceph_mark_dirty_caps(struct ceph_inode_info *ci, int mask) | 1300 | void __ceph_mark_dirty_caps(struct ceph_inode_info *ci, int mask) |
1300 | { | 1301 | { |
1301 | struct ceph_mds_client *mdsc = &ceph_client(ci->vfs_inode.i_sb)->mdsc; | 1302 | struct ceph_mds_client *mdsc = |
1303 | &ceph_sb_to_client(ci->vfs_inode.i_sb)->mdsc; | ||
1302 | struct inode *inode = &ci->vfs_inode; | 1304 | struct inode *inode = &ci->vfs_inode; |
1303 | int was = ci->i_dirty_caps; | 1305 | int was = ci->i_dirty_caps; |
1304 | int dirty = 0; | 1306 | int dirty = 0; |
@@ -1336,7 +1338,7 @@ void __ceph_mark_dirty_caps(struct ceph_inode_info *ci, int mask) | |||
1336 | static int __mark_caps_flushing(struct inode *inode, | 1338 | static int __mark_caps_flushing(struct inode *inode, |
1337 | struct ceph_mds_session *session) | 1339 | struct ceph_mds_session *session) |
1338 | { | 1340 | { |
1339 | struct ceph_mds_client *mdsc = &ceph_client(inode->i_sb)->mdsc; | 1341 | struct ceph_mds_client *mdsc = &ceph_sb_to_client(inode->i_sb)->mdsc; |
1340 | struct ceph_inode_info *ci = ceph_inode(inode); | 1342 | struct ceph_inode_info *ci = ceph_inode(inode); |
1341 | int flushing; | 1343 | int flushing; |
1342 | 1344 | ||
@@ -1663,7 +1665,7 @@ ack: | |||
1663 | static int try_flush_caps(struct inode *inode, struct ceph_mds_session *session, | 1665 | static int try_flush_caps(struct inode *inode, struct ceph_mds_session *session, |
1664 | unsigned *flush_tid) | 1666 | unsigned *flush_tid) |
1665 | { | 1667 | { |
1666 | struct ceph_mds_client *mdsc = &ceph_client(inode->i_sb)->mdsc; | 1668 | struct ceph_mds_client *mdsc = &ceph_sb_to_client(inode->i_sb)->mdsc; |
1667 | struct ceph_inode_info *ci = ceph_inode(inode); | 1669 | struct ceph_inode_info *ci = ceph_inode(inode); |
1668 | int unlock_session = session ? 0 : 1; | 1670 | int unlock_session = session ? 0 : 1; |
1669 | int flushing = 0; | 1671 | int flushing = 0; |
@@ -1829,7 +1831,8 @@ int ceph_write_inode(struct inode *inode, struct writeback_control *wbc) | |||
1829 | err = wait_event_interruptible(ci->i_cap_wq, | 1831 | err = wait_event_interruptible(ci->i_cap_wq, |
1830 | caps_are_flushed(inode, flush_tid)); | 1832 | caps_are_flushed(inode, flush_tid)); |
1831 | } else { | 1833 | } else { |
1832 | struct ceph_mds_client *mdsc = &ceph_client(inode->i_sb)->mdsc; | 1834 | struct ceph_mds_client *mdsc = |
1835 | &ceph_sb_to_client(inode->i_sb)->mdsc; | ||
1833 | 1836 | ||
1834 | spin_lock(&inode->i_lock); | 1837 | spin_lock(&inode->i_lock); |
1835 | if (__ceph_caps_dirty(ci)) | 1838 | if (__ceph_caps_dirty(ci)) |
@@ -2411,7 +2414,7 @@ static void handle_cap_flush_ack(struct inode *inode, u64 flush_tid, | |||
2411 | __releases(inode->i_lock) | 2414 | __releases(inode->i_lock) |
2412 | { | 2415 | { |
2413 | struct ceph_inode_info *ci = ceph_inode(inode); | 2416 | struct ceph_inode_info *ci = ceph_inode(inode); |
2414 | struct ceph_mds_client *mdsc = &ceph_client(inode->i_sb)->mdsc; | 2417 | struct ceph_mds_client *mdsc = &ceph_sb_to_client(inode->i_sb)->mdsc; |
2415 | unsigned seq = le32_to_cpu(m->seq); | 2418 | unsigned seq = le32_to_cpu(m->seq); |
2416 | int dirty = le32_to_cpu(m->dirty); | 2419 | int dirty = le32_to_cpu(m->dirty); |
2417 | int cleaned = 0; | 2420 | int cleaned = 0; |
diff --git a/fs/ceph/dir.c b/fs/ceph/dir.c index 4b1a7a4bae0b..33feac75c532 100644 --- a/fs/ceph/dir.c +++ b/fs/ceph/dir.c | |||
@@ -478,7 +478,7 @@ static loff_t ceph_dir_llseek(struct file *file, loff_t offset, int origin) | |||
478 | struct dentry *ceph_finish_lookup(struct ceph_mds_request *req, | 478 | struct dentry *ceph_finish_lookup(struct ceph_mds_request *req, |
479 | struct dentry *dentry, int err) | 479 | struct dentry *dentry, int err) |
480 | { | 480 | { |
481 | struct ceph_client *client = ceph_client(dentry->d_sb); | 481 | struct ceph_client *client = ceph_sb_to_client(dentry->d_sb); |
482 | struct inode *parent = dentry->d_parent->d_inode; | 482 | struct inode *parent = dentry->d_parent->d_inode; |
483 | 483 | ||
484 | /* .snap dir? */ | 484 | /* .snap dir? */ |
@@ -1059,7 +1059,7 @@ static ssize_t ceph_read_dir(struct file *file, char __user *buf, size_t size, | |||
1059 | struct ceph_inode_info *ci = ceph_inode(inode); | 1059 | struct ceph_inode_info *ci = ceph_inode(inode); |
1060 | int left; | 1060 | int left; |
1061 | 1061 | ||
1062 | if (!ceph_test_opt(ceph_client(inode->i_sb), DIRSTAT)) | 1062 | if (!ceph_test_opt(ceph_sb_to_client(inode->i_sb), DIRSTAT)) |
1063 | return -EISDIR; | 1063 | return -EISDIR; |
1064 | 1064 | ||
1065 | if (!cf->dir_info) { | 1065 | if (!cf->dir_info) { |
@@ -1161,7 +1161,7 @@ void ceph_dentry_lru_add(struct dentry *dn) | |||
1161 | dout("dentry_lru_add %p %p '%.*s'\n", di, dn, | 1161 | dout("dentry_lru_add %p %p '%.*s'\n", di, dn, |
1162 | dn->d_name.len, dn->d_name.name); | 1162 | dn->d_name.len, dn->d_name.name); |
1163 | if (di) { | 1163 | if (di) { |
1164 | mdsc = &ceph_client(dn->d_sb)->mdsc; | 1164 | mdsc = &ceph_sb_to_client(dn->d_sb)->mdsc; |
1165 | spin_lock(&mdsc->dentry_lru_lock); | 1165 | spin_lock(&mdsc->dentry_lru_lock); |
1166 | list_add_tail(&di->lru, &mdsc->dentry_lru); | 1166 | list_add_tail(&di->lru, &mdsc->dentry_lru); |
1167 | mdsc->num_dentry++; | 1167 | mdsc->num_dentry++; |
@@ -1177,7 +1177,7 @@ void ceph_dentry_lru_touch(struct dentry *dn) | |||
1177 | dout("dentry_lru_touch %p %p '%.*s'\n", di, dn, | 1177 | dout("dentry_lru_touch %p %p '%.*s'\n", di, dn, |
1178 | dn->d_name.len, dn->d_name.name); | 1178 | dn->d_name.len, dn->d_name.name); |
1179 | if (di) { | 1179 | if (di) { |
1180 | mdsc = &ceph_client(dn->d_sb)->mdsc; | 1180 | mdsc = &ceph_sb_to_client(dn->d_sb)->mdsc; |
1181 | spin_lock(&mdsc->dentry_lru_lock); | 1181 | spin_lock(&mdsc->dentry_lru_lock); |
1182 | list_move_tail(&di->lru, &mdsc->dentry_lru); | 1182 | list_move_tail(&di->lru, &mdsc->dentry_lru); |
1183 | spin_unlock(&mdsc->dentry_lru_lock); | 1183 | spin_unlock(&mdsc->dentry_lru_lock); |
@@ -1192,7 +1192,7 @@ void ceph_dentry_lru_del(struct dentry *dn) | |||
1192 | dout("dentry_lru_del %p %p '%.*s'\n", di, dn, | 1192 | dout("dentry_lru_del %p %p '%.*s'\n", di, dn, |
1193 | dn->d_name.len, dn->d_name.name); | 1193 | dn->d_name.len, dn->d_name.name); |
1194 | if (di) { | 1194 | if (di) { |
1195 | mdsc = &ceph_client(dn->d_sb)->mdsc; | 1195 | mdsc = &ceph_sb_to_client(dn->d_sb)->mdsc; |
1196 | spin_lock(&mdsc->dentry_lru_lock); | 1196 | spin_lock(&mdsc->dentry_lru_lock); |
1197 | list_del_init(&di->lru); | 1197 | list_del_init(&di->lru); |
1198 | mdsc->num_dentry--; | 1198 | mdsc->num_dentry--; |
diff --git a/fs/ceph/export.c b/fs/ceph/export.c index 9d67572fb328..15683905a7b6 100644 --- a/fs/ceph/export.c +++ b/fs/ceph/export.c | |||
@@ -115,7 +115,7 @@ static struct dentry *__fh_to_dentry(struct super_block *sb, | |||
115 | static struct dentry *__cfh_to_dentry(struct super_block *sb, | 115 | static struct dentry *__cfh_to_dentry(struct super_block *sb, |
116 | struct ceph_nfs_confh *cfh) | 116 | struct ceph_nfs_confh *cfh) |
117 | { | 117 | { |
118 | struct ceph_mds_client *mdsc = &ceph_client(sb)->mdsc; | 118 | struct ceph_mds_client *mdsc = &ceph_sb_to_client(sb)->mdsc; |
119 | struct inode *inode; | 119 | struct inode *inode; |
120 | struct dentry *dentry; | 120 | struct dentry *dentry; |
121 | struct ceph_vino vino; | 121 | struct ceph_vino vino; |
diff --git a/fs/ceph/file.c b/fs/ceph/file.c index 6230c3de1f06..834d2b83834a 100644 --- a/fs/ceph/file.c +++ b/fs/ceph/file.c | |||
@@ -809,7 +809,7 @@ static ssize_t ceph_aio_write(struct kiocb *iocb, const struct iovec *iov, | |||
809 | struct file *file = iocb->ki_filp; | 809 | struct file *file = iocb->ki_filp; |
810 | struct inode *inode = file->f_dentry->d_inode; | 810 | struct inode *inode = file->f_dentry->d_inode; |
811 | struct ceph_inode_info *ci = ceph_inode(inode); | 811 | struct ceph_inode_info *ci = ceph_inode(inode); |
812 | struct ceph_osd_client *osdc = &ceph_client(inode->i_sb)->osdc; | 812 | struct ceph_osd_client *osdc = &ceph_sb_to_client(inode->i_sb)->osdc; |
813 | loff_t endoff = pos + iov->iov_len; | 813 | loff_t endoff = pos + iov->iov_len; |
814 | int got = 0; | 814 | int got = 0; |
815 | int ret, err; | 815 | int ret, err; |
diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c index 220a2aec0545..ef917232cf37 100644 --- a/fs/ceph/inode.c +++ b/fs/ceph/inode.c | |||
@@ -384,7 +384,7 @@ void ceph_destroy_inode(struct inode *inode) | |||
384 | */ | 384 | */ |
385 | if (ci->i_snap_realm) { | 385 | if (ci->i_snap_realm) { |
386 | struct ceph_mds_client *mdsc = | 386 | struct ceph_mds_client *mdsc = |
387 | &ceph_client(ci->vfs_inode.i_sb)->mdsc; | 387 | &ceph_sb_to_client(ci->vfs_inode.i_sb)->mdsc; |
388 | struct ceph_snap_realm *realm = ci->i_snap_realm; | 388 | struct ceph_snap_realm *realm = ci->i_snap_realm; |
389 | 389 | ||
390 | dout(" dropping residual ref to snap realm %p\n", realm); | 390 | dout(" dropping residual ref to snap realm %p\n", realm); |
@@ -623,7 +623,7 @@ static int fill_inode(struct inode *inode, | |||
623 | 623 | ||
624 | inode->i_mapping->a_ops = &ceph_aops; | 624 | inode->i_mapping->a_ops = &ceph_aops; |
625 | inode->i_mapping->backing_dev_info = | 625 | inode->i_mapping->backing_dev_info = |
626 | &ceph_client(inode->i_sb)->backing_dev_info; | 626 | &ceph_sb_to_client(inode->i_sb)->backing_dev_info; |
627 | 627 | ||
628 | switch (inode->i_mode & S_IFMT) { | 628 | switch (inode->i_mode & S_IFMT) { |
629 | case S_IFIFO: | 629 | case S_IFIFO: |
@@ -681,7 +681,7 @@ static int fill_inode(struct inode *inode, | |||
681 | } | 681 | } |
682 | 682 | ||
683 | /* it may be better to set st_size in getattr instead? */ | 683 | /* it may be better to set st_size in getattr instead? */ |
684 | if (ceph_test_opt(ceph_client(inode->i_sb), RBYTES)) | 684 | if (ceph_test_opt(ceph_sb_to_client(inode->i_sb), RBYTES)) |
685 | inode->i_size = ci->i_rbytes; | 685 | inode->i_size = ci->i_rbytes; |
686 | break; | 686 | break; |
687 | default: | 687 | default: |
@@ -1438,7 +1438,7 @@ void ceph_queue_vmtruncate(struct inode *inode) | |||
1438 | { | 1438 | { |
1439 | struct ceph_inode_info *ci = ceph_inode(inode); | 1439 | struct ceph_inode_info *ci = ceph_inode(inode); |
1440 | 1440 | ||
1441 | if (queue_work(ceph_client(inode->i_sb)->trunc_wq, | 1441 | if (queue_work(ceph_sb_to_client(inode->i_sb)->trunc_wq, |
1442 | &ci->i_vmtruncate_work)) { | 1442 | &ci->i_vmtruncate_work)) { |
1443 | dout("ceph_queue_vmtruncate %p\n", inode); | 1443 | dout("ceph_queue_vmtruncate %p\n", inode); |
1444 | igrab(inode); | 1444 | igrab(inode); |
@@ -1527,7 +1527,7 @@ int ceph_setattr(struct dentry *dentry, struct iattr *attr) | |||
1527 | struct inode *parent_inode = dentry->d_parent->d_inode; | 1527 | struct inode *parent_inode = dentry->d_parent->d_inode; |
1528 | const unsigned int ia_valid = attr->ia_valid; | 1528 | const unsigned int ia_valid = attr->ia_valid; |
1529 | struct ceph_mds_request *req; | 1529 | struct ceph_mds_request *req; |
1530 | struct ceph_mds_client *mdsc = &ceph_client(dentry->d_sb)->mdsc; | 1530 | struct ceph_mds_client *mdsc = &ceph_sb_to_client(dentry->d_sb)->mdsc; |
1531 | int issued; | 1531 | int issued; |
1532 | int release = 0, dirtied = 0; | 1532 | int release = 0, dirtied = 0; |
1533 | int mask = 0; | 1533 | int mask = 0; |
diff --git a/fs/ceph/ioctl.c b/fs/ceph/ioctl.c index 8a5bcae62846..d085f07756b4 100644 --- a/fs/ceph/ioctl.c +++ b/fs/ceph/ioctl.c | |||
@@ -98,7 +98,7 @@ static long ceph_ioctl_get_dataloc(struct file *file, void __user *arg) | |||
98 | struct ceph_ioctl_dataloc dl; | 98 | struct ceph_ioctl_dataloc dl; |
99 | struct inode *inode = file->f_dentry->d_inode; | 99 | struct inode *inode = file->f_dentry->d_inode; |
100 | struct ceph_inode_info *ci = ceph_inode(inode); | 100 | struct ceph_inode_info *ci = ceph_inode(inode); |
101 | struct ceph_osd_client *osdc = &ceph_client(inode->i_sb)->osdc; | 101 | struct ceph_osd_client *osdc = &ceph_sb_to_client(inode->i_sb)->osdc; |
102 | u64 len = 1, olen; | 102 | u64 len = 1, olen; |
103 | u64 tmp; | 103 | u64 tmp; |
104 | struct ceph_object_layout ol; | 104 | struct ceph_object_layout ol; |
diff --git a/fs/ceph/snap.c b/fs/ceph/snap.c index d5114db70453..c0b26b6badba 100644 --- a/fs/ceph/snap.c +++ b/fs/ceph/snap.c | |||
@@ -512,7 +512,7 @@ int __ceph_finish_cap_snap(struct ceph_inode_info *ci, | |||
512 | struct ceph_cap_snap *capsnap) | 512 | struct ceph_cap_snap *capsnap) |
513 | { | 513 | { |
514 | struct inode *inode = &ci->vfs_inode; | 514 | struct inode *inode = &ci->vfs_inode; |
515 | struct ceph_mds_client *mdsc = &ceph_client(inode->i_sb)->mdsc; | 515 | struct ceph_mds_client *mdsc = &ceph_sb_to_client(inode->i_sb)->mdsc; |
516 | 516 | ||
517 | BUG_ON(capsnap->writing); | 517 | BUG_ON(capsnap->writing); |
518 | capsnap->size = inode->i_size; | 518 | capsnap->size = inode->i_size; |
diff --git a/fs/ceph/super.c b/fs/ceph/super.c index 110857ba9269..93ad169a6ae1 100644 --- a/fs/ceph/super.c +++ b/fs/ceph/super.c | |||
@@ -107,8 +107,8 @@ static int ceph_statfs(struct dentry *dentry, struct kstatfs *buf) | |||
107 | static int ceph_syncfs(struct super_block *sb, int wait) | 107 | static int ceph_syncfs(struct super_block *sb, int wait) |
108 | { | 108 | { |
109 | dout("sync_fs %d\n", wait); | 109 | dout("sync_fs %d\n", wait); |
110 | ceph_osdc_sync(&ceph_client(sb)->osdc); | 110 | ceph_osdc_sync(&ceph_sb_to_client(sb)->osdc); |
111 | ceph_mdsc_sync(&ceph_client(sb)->mdsc); | 111 | ceph_mdsc_sync(&ceph_sb_to_client(sb)->mdsc); |
112 | dout("sync_fs %d done\n", wait); | 112 | dout("sync_fs %d done\n", wait); |
113 | return 0; | 113 | return 0; |
114 | } | 114 | } |
@@ -932,9 +932,9 @@ static int ceph_get_sb(struct file_system_type *fs_type, | |||
932 | goto out; | 932 | goto out; |
933 | } | 933 | } |
934 | 934 | ||
935 | if (ceph_client(sb) != client) { | 935 | if (ceph_sb_to_client(sb) != client) { |
936 | ceph_destroy_client(client); | 936 | ceph_destroy_client(client); |
937 | client = ceph_client(sb); | 937 | client = ceph_sb_to_client(sb); |
938 | dout("get_sb got existing client %p\n", client); | 938 | dout("get_sb got existing client %p\n", client); |
939 | } else { | 939 | } else { |
940 | dout("get_sb using new client %p\n", client); | 940 | dout("get_sb using new client %p\n", client); |
diff --git a/fs/ceph/super.h b/fs/ceph/super.h index cfe3b0834d54..51b3ff238454 100644 --- a/fs/ceph/super.h +++ b/fs/ceph/super.h | |||
@@ -160,12 +160,6 @@ struct ceph_client { | |||
160 | #endif | 160 | #endif |
161 | }; | 161 | }; |
162 | 162 | ||
163 | static inline struct ceph_client *ceph_client(struct super_block *sb) | ||
164 | { | ||
165 | return sb->s_fs_info; | ||
166 | } | ||
167 | |||
168 | |||
169 | /* | 163 | /* |
170 | * File i/o capability. This tracks shared state with the metadata | 164 | * File i/o capability. This tracks shared state with the metadata |
171 | * server that allows us to cache or writeback attributes or to read | 165 | * server that allows us to cache or writeback attributes or to read |
diff --git a/fs/ceph/xattr.c b/fs/ceph/xattr.c index d940d14f6922..3b4c2620030a 100644 --- a/fs/ceph/xattr.c +++ b/fs/ceph/xattr.c | |||
@@ -616,7 +616,7 @@ out: | |||
616 | static int ceph_sync_setxattr(struct dentry *dentry, const char *name, | 616 | static int ceph_sync_setxattr(struct dentry *dentry, const char *name, |
617 | const char *value, size_t size, int flags) | 617 | const char *value, size_t size, int flags) |
618 | { | 618 | { |
619 | struct ceph_client *client = ceph_client(dentry->d_sb); | 619 | struct ceph_client *client = ceph_sb_to_client(dentry->d_sb); |
620 | struct inode *inode = dentry->d_inode; | 620 | struct inode *inode = dentry->d_inode; |
621 | struct ceph_inode_info *ci = ceph_inode(inode); | 621 | struct ceph_inode_info *ci = ceph_inode(inode); |
622 | struct inode *parent_inode = dentry->d_parent->d_inode; | 622 | struct inode *parent_inode = dentry->d_parent->d_inode; |
@@ -773,7 +773,7 @@ out: | |||
773 | 773 | ||
774 | static int ceph_send_removexattr(struct dentry *dentry, const char *name) | 774 | static int ceph_send_removexattr(struct dentry *dentry, const char *name) |
775 | { | 775 | { |
776 | struct ceph_client *client = ceph_client(dentry->d_sb); | 776 | struct ceph_client *client = ceph_sb_to_client(dentry->d_sb); |
777 | struct ceph_mds_client *mdsc = &client->mdsc; | 777 | struct ceph_mds_client *mdsc = &client->mdsc; |
778 | struct inode *inode = dentry->d_inode; | 778 | struct inode *inode = dentry->d_inode; |
779 | struct inode *parent_inode = dentry->d_parent->d_inode; | 779 | struct inode *parent_inode = dentry->d_parent->d_inode; |