]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blobdiff - fs/ceph/super.c
mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros
[mirror_ubuntu-zesty-kernel.git] / fs / ceph / super.c
index ca4d5e8457f1e5340330bb225b4da84c88727dc5..f12d5e2955c223c35145bdf550d5669b823a14bc 100644 (file)
@@ -439,8 +439,8 @@ static int ceph_show_options(struct seq_file *m, struct dentry *root)
 
        if (fsopt->flags & CEPH_MOUNT_OPT_DIRSTAT)
                seq_puts(m, ",dirstat");
-       if ((fsopt->flags & CEPH_MOUNT_OPT_RBYTES) == 0)
-               seq_puts(m, ",norbytes");
+       if ((fsopt->flags & CEPH_MOUNT_OPT_RBYTES))
+               seq_puts(m, ",rbytes");
        if (fsopt->flags & CEPH_MOUNT_OPT_NOASYNCREADDIR)
                seq_puts(m, ",noasyncreaddir");
        if ((fsopt->flags & CEPH_MOUNT_OPT_DCACHE) == 0)
@@ -530,7 +530,7 @@ static struct ceph_fs_client *create_fs_client(struct ceph_mount_options *fsopt,
                goto fail;
        }
        fsc->client->extra_mon_dispatch = extra_mon_dispatch;
-       fsc->client->monc.want_mdsmap = 1;
+       ceph_monc_want_map(&fsc->client->monc, CEPH_SUB_MDSMAP, 0, true);
 
        fsc->mount_options = fsopt;
 
@@ -560,7 +560,7 @@ static struct ceph_fs_client *create_fs_client(struct ceph_mount_options *fsopt,
 
        /* set up mempools */
        err = -ENOMEM;
-       page_count = fsc->mount_options->wsize >> PAGE_CACHE_SHIFT;
+       page_count = fsc->mount_options->wsize >> PAGE_SHIFT;
        size = sizeof (struct page *) * (page_count ? page_count : 1);
        fsc->wb_pagevec_pool = mempool_create_kmalloc_pool(10, size);
        if (!fsc->wb_pagevec_pool)
@@ -793,22 +793,20 @@ static struct dentry *ceph_real_mount(struct ceph_fs_client *fsc,
        struct dentry *root;
        int first = 0;   /* first vfsmount for this super_block */
 
-       dout("mount start\n");
+       dout("mount start %p\n", fsc);
        mutex_lock(&fsc->client->mount_mutex);
 
-       err = __ceph_open_session(fsc->client, started);
-       if (err < 0)
-               goto out;
+       if (!fsc->sb->s_root) {
+               err = __ceph_open_session(fsc->client, started);
+               if (err < 0)
+                       goto out;
 
-       dout("mount opening root\n");
-       root = open_root_dentry(fsc, "", started);
-       if (IS_ERR(root)) {
-               err = PTR_ERR(root);
-               goto out;
-       }
-       if (fsc->sb->s_root) {
-               dput(root);
-       } else {
+               dout("mount opening root\n");
+               root = open_root_dentry(fsc, "", started);
+               if (IS_ERR(root)) {
+                       err = PTR_ERR(root);
+                       goto out;
+               }
                fsc->sb->s_root = root;
                first = 1;
 
@@ -818,6 +816,7 @@ static struct dentry *ceph_real_mount(struct ceph_fs_client *fsc,
        }
 
        if (path[0] == 0) {
+               root = fsc->sb->s_root;
                dget(root);
        } else {
                dout("mount opening base mountpoint\n");
@@ -833,16 +832,14 @@ static struct dentry *ceph_real_mount(struct ceph_fs_client *fsc,
        mutex_unlock(&fsc->client->mount_mutex);
        return root;
 
-out:
-       mutex_unlock(&fsc->client->mount_mutex);
-       return ERR_PTR(err);
-
 fail:
        if (first) {
                dput(fsc->sb->s_root);
                fsc->sb->s_root = NULL;
        }
-       goto out;
+out:
+       mutex_unlock(&fsc->client->mount_mutex);
+       return ERR_PTR(err);
 }
 
 static int ceph_set_super(struct super_block *s, void *data)
@@ -915,13 +912,13 @@ static int ceph_register_bdi(struct super_block *sb,
        int err;
 
        /* set ra_pages based on rasize mount option? */
-       if (fsc->mount_options->rasize >= PAGE_CACHE_SIZE)
+       if (fsc->mount_options->rasize >= PAGE_SIZE)
                fsc->backing_dev_info.ra_pages =
-                       (fsc->mount_options->rasize + PAGE_CACHE_SIZE - 1)
+                       (fsc->mount_options->rasize + PAGE_SIZE - 1)
                        >> PAGE_SHIFT;
        else
                fsc->backing_dev_info.ra_pages =
-                       VM_MAX_READAHEAD * 1024 / PAGE_CACHE_SIZE;
+                       VM_MAX_READAHEAD * 1024 / PAGE_SIZE;
 
        err = bdi_register(&fsc->backing_dev_info, NULL, "ceph-%ld",
                           atomic_long_inc_return(&bdi_seq));
@@ -1042,19 +1039,14 @@ static int __init init_ceph(void)
 
        ceph_flock_init();
        ceph_xattr_init();
-       ret = ceph_snap_init();
-       if (ret)
-               goto out_xattr;
        ret = register_filesystem(&ceph_fs_type);
        if (ret)
-               goto out_snap;
+               goto out_xattr;
 
        pr_info("loaded (mds proto %d)\n", CEPH_MDSC_PROTOCOL);
 
        return 0;
 
-out_snap:
-       ceph_snap_exit();
 out_xattr:
        ceph_xattr_exit();
        destroy_caches();
@@ -1066,7 +1058,6 @@ static void __exit exit_ceph(void)
 {
        dout("exit_ceph\n");
        unregister_filesystem(&ceph_fs_type);
-       ceph_snap_exit();
        ceph_xattr_exit();
        destroy_caches();
 }