- vfs
- can we use dentry_path(), if it gets merged into mainline?
- io / osd client
+ - writepages should do io on more than 14 pages at a time!
- carry wrbuffer/rdcache caps until data is flushed
- this should make the utimes bit kick in
- invalidate cache pages?
return ERR_PTR(err);
}
+void ceph_umount_start(struct ceph_client *cl)
+{
+ ceph_mdsc_stop(&cl->mdsc);
+}
+
void ceph_destroy_client(struct ceph_client *cl)
{
dout(10, "destroy_client %p\n", cl);
/* unmount */
/* ... */
- ceph_mdsc_stop(&cl->mdsc);
-
ceph_messenger_destroy(cl->msgr);
put_client_counter();
kfree(cl);
static void ceph_put_super(struct super_block *s)
{
dout(30, "ceph_put_super\n");
+ ceph_umount_start(ceph_client(s));
return;
}
{
struct ceph_client *client = ceph_sb_to_client(s);
dout(1, "kill_sb %p\n", s);
+ kill_anon_super(s); /* will call put_super after sb is r/o */
ceph_destroy_client(client);
- kill_anon_super(s);
}
extern int ceph_mount(struct ceph_client *client,
struct ceph_mount_args *args,
struct vfsmount *mnt);
+extern void ceph_umount_start(struct ceph_client *cl);
extern const char *ceph_msg_type_name(int type);