libceph: clean up ceph_osdc_start_request prototype
authorJeff Layton <jlayton@kernel.org>
Thu, 30 Jun 2022 20:21:50 +0000 (16:21 -0400)
committerIlya Dryomov <idryomov@gmail.com>
Wed, 3 Aug 2022 12:05:39 +0000 (14:05 +0200)
This function always returns 0, and ignores the nofail boolean. Drop the
nofail argument, make the function void return and fix up the callers.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
drivers/block/rbd.c
fs/ceph/addr.c
fs/ceph/file.c
include/linux/ceph/osd_client.h
net/ceph/osd_client.c

index ef9bc62..b4580b7 100644 (file)
@@ -1297,7 +1297,7 @@ static void rbd_osd_submit(struct ceph_osd_request *osd_req)
        dout("%s osd_req %p for obj_req %p objno %llu %llu~%llu\n",
             __func__, osd_req, obj_req, obj_req->ex.oe_objno,
             obj_req->ex.oe_off, obj_req->ex.oe_len);
-       ceph_osdc_start_request(osd_req->r_osdc, osd_req, false);
+       ceph_osdc_start_request(osd_req->r_osdc, osd_req);
 }
 
 /*
@@ -2081,7 +2081,7 @@ static int rbd_object_map_update(struct rbd_obj_request *obj_req, u64 snap_id,
        if (ret)
                return ret;
 
-       ceph_osdc_start_request(osdc, req, false);
+       ceph_osdc_start_request(osdc, req);
        return 0;
 }
 
@@ -4768,7 +4768,7 @@ static int rbd_obj_read_sync(struct rbd_device *rbd_dev,
        if (ret)
                goto out_req;
 
-       ceph_osdc_start_request(osdc, req, false);
+       ceph_osdc_start_request(osdc, req);
        ret = ceph_osdc_wait_request(osdc, req);
        if (ret >= 0)
                ceph_copy_from_page_vector(pages, buf, 0, ret);
index de12715..ec76e77 100644 (file)
@@ -337,6 +337,7 @@ static void ceph_netfs_issue_read(struct netfs_io_subrequest *subreq)
        /* should always give us a page-aligned read */
        WARN_ON_ONCE(page_off);
        len = err;
+       err = 0;
 
        osd_req_op_extent_osd_data_pages(req, 0, pages, len, 0, false, false);
        req->r_callback = finish_netfs_read;
@@ -344,9 +345,7 @@ static void ceph_netfs_issue_read(struct netfs_io_subrequest *subreq)
        req->r_inode = inode;
        ihold(inode);
 
-       err = ceph_osdc_start_request(req->r_osdc, req, false);
-       if (err)
-               iput(inode);
+       ceph_osdc_start_request(req->r_osdc, req);
 out:
        ceph_osdc_put_request(req);
        if (err)
@@ -620,9 +619,8 @@ static int writepage_nounlock(struct page *page, struct writeback_control *wbc)
        dout("writepage %llu~%llu (%llu bytes)\n", page_off, len, len);
 
        req->r_mtime = inode->i_mtime;
-       err = ceph_osdc_start_request(osdc, req, true);
-       if (!err)
-               err = ceph_osdc_wait_request(osdc, req);
+       ceph_osdc_start_request(osdc, req);
+       err = ceph_osdc_wait_request(osdc, req);
 
        ceph_update_write_metrics(&fsc->mdsc->metric, req->r_start_latency,
                                  req->r_end_latency, len, err);
@@ -1150,8 +1148,7 @@ new_request:
                }
 
                req->r_mtime = inode->i_mtime;
-               rc = ceph_osdc_start_request(&fsc->client->osdc, req, true);
-               BUG_ON(rc);
+               ceph_osdc_start_request(&fsc->client->osdc, req);
                req = NULL;
 
                wbc->nr_to_write -= i;
@@ -1692,9 +1689,8 @@ int ceph_uninline_data(struct file *file)
        }
 
        req->r_mtime = inode->i_mtime;
-       err = ceph_osdc_start_request(&fsc->client->osdc, req, false);
-       if (!err)
-               err = ceph_osdc_wait_request(&fsc->client->osdc, req);
+       ceph_osdc_start_request(&fsc->client->osdc, req);
+       err = ceph_osdc_wait_request(&fsc->client->osdc, req);
        ceph_osdc_put_request(req);
        if (err < 0)
                goto out_unlock;
@@ -1735,9 +1731,8 @@ int ceph_uninline_data(struct file *file)
        }
 
        req->r_mtime = inode->i_mtime;
-       err = ceph_osdc_start_request(&fsc->client->osdc, req, false);
-       if (!err)
-               err = ceph_osdc_wait_request(&fsc->client->osdc, req);
+       ceph_osdc_start_request(&fsc->client->osdc, req);
+       err = ceph_osdc_wait_request(&fsc->client->osdc, req);
 
        ceph_update_write_metrics(&fsc->mdsc->metric, req->r_start_latency,
                                  req->r_end_latency, len, err);
@@ -1908,15 +1903,13 @@ static int __ceph_pool_perm_get(struct ceph_inode_info *ci,
 
        osd_req_op_raw_data_in_pages(rd_req, 0, pages, PAGE_SIZE,
                                     0, false, true);
-       err = ceph_osdc_start_request(&fsc->client->osdc, rd_req, false);
+       ceph_osdc_start_request(&fsc->client->osdc, rd_req);
 
        wr_req->r_mtime = ci->netfs.inode.i_mtime;
-       err2 = ceph_osdc_start_request(&fsc->client->osdc, wr_req, false);
+       ceph_osdc_start_request(&fsc->client->osdc, wr_req);
 
-       if (!err)
-               err = ceph_osdc_wait_request(&fsc->client->osdc, rd_req);
-       if (!err2)
-               err2 = ceph_osdc_wait_request(&fsc->client->osdc, wr_req);
+       err = ceph_osdc_wait_request(&fsc->client->osdc, rd_req);
+       err2 = ceph_osdc_wait_request(&fsc->client->osdc, wr_req);
 
        if (err >= 0 || err == -ENOENT)
                have |= POOL_READ;
index b4e9784..c3caa9b 100644 (file)
@@ -985,9 +985,8 @@ static ssize_t ceph_sync_read(struct kiocb *iocb, struct iov_iter *to,
 
                osd_req_op_extent_osd_data_pages(req, 0, pages, len, page_off,
                                                 false, false);
-               ret = ceph_osdc_start_request(osdc, req, false);
-               if (!ret)
-                       ret = ceph_osdc_wait_request(osdc, req);
+               ceph_osdc_start_request(osdc, req);
+               ret = ceph_osdc_wait_request(osdc, req);
 
                ceph_update_read_metrics(&fsc->mdsc->metric,
                                         req->r_start_latency,
@@ -1250,7 +1249,7 @@ static void ceph_aio_retry_work(struct work_struct *work)
        req->r_inode = inode;
        req->r_priv = aio_req;
 
-       ret = ceph_osdc_start_request(req->r_osdc, req, false);
+       ceph_osdc_start_request(req->r_osdc, req);
 out:
        if (ret < 0) {
                req->r_result = ret;
@@ -1387,9 +1386,8 @@ ceph_direct_read_write(struct kiocb *iocb, struct iov_iter *iter,
                        continue;
                }
 
-               ret = ceph_osdc_start_request(req->r_osdc, req, false);
-               if (!ret)
-                       ret = ceph_osdc_wait_request(&fsc->client->osdc, req);
+               ceph_osdc_start_request(req->r_osdc, req);
+               ret = ceph_osdc_wait_request(&fsc->client->osdc, req);
 
                if (write)
                        ceph_update_write_metrics(metric, req->r_start_latency,
@@ -1452,8 +1450,7 @@ ceph_direct_read_write(struct kiocb *iocb, struct iov_iter *iter,
                                               r_private_item);
                        list_del_init(&req->r_private_item);
                        if (ret >= 0)
-                               ret = ceph_osdc_start_request(req->r_osdc,
-                                                             req, false);
+                               ceph_osdc_start_request(req->r_osdc, req);
                        if (ret < 0) {
                                req->r_result = ret;
                                ceph_aio_complete_req(req);
@@ -1566,9 +1563,8 @@ ceph_sync_write(struct kiocb *iocb, struct iov_iter *from, loff_t pos,
                                                false, true);
 
                req->r_mtime = mtime;
-               ret = ceph_osdc_start_request(&fsc->client->osdc, req, false);
-               if (!ret)
-                       ret = ceph_osdc_wait_request(&fsc->client->osdc, req);
+               ceph_osdc_start_request(&fsc->client->osdc, req);
+               ret = ceph_osdc_wait_request(&fsc->client->osdc, req);
 
                ceph_update_write_metrics(&fsc->mdsc->metric, req->r_start_latency,
                                          req->r_end_latency, len, ret);
@@ -2032,12 +2028,10 @@ static int ceph_zero_partial_object(struct inode *inode,
        }
 
        req->r_mtime = inode->i_mtime;
-       ret = ceph_osdc_start_request(&fsc->client->osdc, req, false);
-       if (!ret) {
-               ret = ceph_osdc_wait_request(&fsc->client->osdc, req);
-               if (ret == -ENOENT)
-                       ret = 0;
-       }
+       ceph_osdc_start_request(&fsc->client->osdc, req);
+       ret = ceph_osdc_wait_request(&fsc->client->osdc, req);
+       if (ret == -ENOENT)
+               ret = 0;
        ceph_osdc_put_request(req);
 
 out:
@@ -2339,7 +2333,7 @@ static ssize_t ceph_do_objects_copy(struct ceph_inode_info *src_ci, u64 *src_off
                if (IS_ERR(req))
                        ret = PTR_ERR(req);
                else {
-                       ceph_osdc_start_request(osdc, req, false);
+                       ceph_osdc_start_request(osdc, req);
                        ret = ceph_osdc_wait_request(osdc, req);
                        ceph_update_copyfrom_metrics(&fsc->mdsc->metric,
                                                     req->r_start_latency,
index cba8a6f..fb6be72 100644 (file)
@@ -507,9 +507,8 @@ extern struct ceph_osd_request *ceph_osdc_new_request(struct ceph_osd_client *,
 extern void ceph_osdc_get_request(struct ceph_osd_request *req);
 extern void ceph_osdc_put_request(struct ceph_osd_request *req);
 
-extern int ceph_osdc_start_request(struct ceph_osd_client *osdc,
-                                  struct ceph_osd_request *req,
-                                  bool nofail);
+void ceph_osdc_start_request(struct ceph_osd_client *osdc,
+                            struct ceph_osd_request *req);
 extern void ceph_osdc_cancel_request(struct ceph_osd_request *req);
 extern int ceph_osdc_wait_request(struct ceph_osd_client *osdc,
                                  struct ceph_osd_request *req);
index 9d82bb4..87b883c 100644 (file)
@@ -4578,15 +4578,12 @@ bad:
 /*
  * Register request, send initial attempt.
  */
-int ceph_osdc_start_request(struct ceph_osd_client *osdc,
-                           struct ceph_osd_request *req,
-                           bool nofail)
+void ceph_osdc_start_request(struct ceph_osd_client *osdc,
+                            struct ceph_osd_request *req)
 {
        down_read(&osdc->lock);
        submit_request(req, false);
        up_read(&osdc->lock);
-
-       return 0;
 }
 EXPORT_SYMBOL(ceph_osdc_start_request);
 
@@ -4756,7 +4753,7 @@ int ceph_osdc_unwatch(struct ceph_osd_client *osdc,
        if (ret)
                goto out_put_req;
 
-       ceph_osdc_start_request(osdc, req, false);
+       ceph_osdc_start_request(osdc, req);
        linger_cancel(lreq);
        linger_put(lreq);
        ret = wait_request_timeout(req, opts->mount_timeout);
@@ -4827,7 +4824,7 @@ int ceph_osdc_notify_ack(struct ceph_osd_client *osdc,
        if (ret)
                goto out_put_req;
 
-       ceph_osdc_start_request(osdc, req, false);
+       ceph_osdc_start_request(osdc, req);
        ret = ceph_osdc_wait_request(osdc, req);
 
 out_put_req:
@@ -5043,7 +5040,7 @@ int ceph_osdc_list_watchers(struct ceph_osd_client *osdc,
        if (ret)
                goto out_put_req;
 
-       ceph_osdc_start_request(osdc, req, false);
+       ceph_osdc_start_request(osdc, req);
        ret = ceph_osdc_wait_request(osdc, req);
        if (ret >= 0) {
                void *p = page_address(pages[0]);
@@ -5120,7 +5117,7 @@ int ceph_osdc_call(struct ceph_osd_client *osdc,
        if (ret)
                goto out_put_req;
 
-       ceph_osdc_start_request(osdc, req, false);
+       ceph_osdc_start_request(osdc, req);
        ret = ceph_osdc_wait_request(osdc, req);
        if (ret >= 0) {
                ret = req->r_ops[0].rval;