summaryrefslogtreecommitdiffstats
path: root/drivers/block/rbd.c
diff options
context:
space:
mode:
authorIlya Dryomov <idryomov@gmail.com>2016-09-12 08:44:45 -0400
committerIlya Dryomov <idryomov@gmail.com>2016-10-03 10:13:47 -0400
commit058aa9919147da9f088a96982a19ea0864139dc8 (patch)
treec8b7ac20433f952336aa3aabf62f79dba17cbcd2 /drivers/block/rbd.c
parent980917fc6ec94cb614fd79e6a124689e700f9d97 (diff)
rbd: clean up asserts in rbd_img_obj_request_submit() helpers
Assert once in rbd_img_obj_request_submit(). Signed-off-by: Ilya Dryomov <idryomov@gmail.com> Reviewed-by: Alex Elder <elder@linaro.org> Reviewed-by: David Disseldorp <ddiss@suse.de>
Diffstat (limited to 'drivers/block/rbd.c')
-rw-r--r--drivers/block/rbd.c30
1 files changed, 10 insertions, 20 deletions
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
index 5c422402e408..fb7f86d123ea 100644
--- a/drivers/block/rbd.c
+++ b/drivers/block/rbd.c
@@ -2747,21 +2747,14 @@ out_err:
2747 */ 2747 */
2748static int rbd_img_obj_parent_read_full(struct rbd_obj_request *obj_request) 2748static int rbd_img_obj_parent_read_full(struct rbd_obj_request *obj_request)
2749{ 2749{
2750 struct rbd_img_request *img_request = NULL; 2750 struct rbd_device *rbd_dev = obj_request->img_request->rbd_dev;
2751 struct rbd_img_request *parent_request = NULL; 2751 struct rbd_img_request *parent_request = NULL;
2752 struct rbd_device *rbd_dev;
2753 u64 img_offset; 2752 u64 img_offset;
2754 u64 length; 2753 u64 length;
2755 struct page **pages = NULL; 2754 struct page **pages = NULL;
2756 u32 page_count; 2755 u32 page_count;
2757 int result; 2756 int result;
2758 2757
2759 rbd_assert(obj_request_img_data_test(obj_request));
2760 rbd_assert(obj_request_type_valid(obj_request->type));
2761
2762 img_request = obj_request->img_request;
2763 rbd_assert(img_request != NULL);
2764 rbd_dev = img_request->rbd_dev;
2765 rbd_assert(rbd_dev->parent != NULL); 2758 rbd_assert(rbd_dev->parent != NULL);
2766 2759
2767 /* 2760 /*
@@ -2802,10 +2795,11 @@ static int rbd_img_obj_parent_read_full(struct rbd_obj_request *obj_request)
2802 result = rbd_img_request_fill(parent_request, OBJ_REQUEST_PAGES, pages); 2795 result = rbd_img_request_fill(parent_request, OBJ_REQUEST_PAGES, pages);
2803 if (result) 2796 if (result)
2804 goto out_err; 2797 goto out_err;
2798
2805 parent_request->copyup_pages = pages; 2799 parent_request->copyup_pages = pages;
2806 parent_request->copyup_page_count = page_count; 2800 parent_request->copyup_page_count = page_count;
2807
2808 parent_request->callback = rbd_img_obj_parent_read_full_callback; 2801 parent_request->callback = rbd_img_obj_parent_read_full_callback;
2802
2809 result = rbd_img_request_submit(parent_request); 2803 result = rbd_img_request_submit(parent_request);
2810 if (!result) 2804 if (!result)
2811 return 0; 2805 return 0;
@@ -2891,8 +2885,8 @@ out:
2891 2885
2892static int rbd_img_obj_exists_submit(struct rbd_obj_request *obj_request) 2886static int rbd_img_obj_exists_submit(struct rbd_obj_request *obj_request)
2893{ 2887{
2888 struct rbd_device *rbd_dev = obj_request->img_request->rbd_dev;
2894 struct rbd_obj_request *stat_request; 2889 struct rbd_obj_request *stat_request;
2895 struct rbd_device *rbd_dev;
2896 struct page **pages = NULL; 2890 struct page **pages = NULL;
2897 u32 page_count; 2891 u32 page_count;
2898 size_t size; 2892 size_t size;
@@ -2923,8 +2917,6 @@ static int rbd_img_obj_exists_submit(struct rbd_obj_request *obj_request)
2923 stat_request->pages = pages; 2917 stat_request->pages = pages;
2924 stat_request->page_count = page_count; 2918 stat_request->page_count = page_count;
2925 2919
2926 rbd_assert(obj_request->img_request);
2927 rbd_dev = obj_request->img_request->rbd_dev;
2928 stat_request->osd_req = rbd_osd_req_create(rbd_dev, OBJ_OP_READ, 1, 2920 stat_request->osd_req = rbd_osd_req_create(rbd_dev, OBJ_OP_READ, 1,
2929 stat_request); 2921 stat_request);
2930 if (!stat_request->osd_req) 2922 if (!stat_request->osd_req)
@@ -2948,14 +2940,8 @@ out:
2948 2940
2949static bool img_obj_request_simple(struct rbd_obj_request *obj_request) 2941static bool img_obj_request_simple(struct rbd_obj_request *obj_request)
2950{ 2942{
2951 struct rbd_img_request *img_request; 2943 struct rbd_img_request *img_request = obj_request->img_request;
2952 struct rbd_device *rbd_dev; 2944 struct rbd_device *rbd_dev = img_request->rbd_dev;
2953
2954 rbd_assert(obj_request_img_data_test(obj_request));
2955
2956 img_request = obj_request->img_request;
2957 rbd_assert(img_request);
2958 rbd_dev = img_request->rbd_dev;
2959 2945
2960 /* Reads */ 2946 /* Reads */
2961 if (!img_request_write_test(img_request) && 2947 if (!img_request_write_test(img_request) &&
@@ -2994,6 +2980,10 @@ static bool img_obj_request_simple(struct rbd_obj_request *obj_request)
2994 2980
2995static int rbd_img_obj_request_submit(struct rbd_obj_request *obj_request) 2981static int rbd_img_obj_request_submit(struct rbd_obj_request *obj_request)
2996{ 2982{
2983 rbd_assert(obj_request_img_data_test(obj_request));
2984 rbd_assert(obj_request_type_valid(obj_request->type));
2985 rbd_assert(obj_request->img_request);
2986
2997 if (img_obj_request_simple(obj_request)) { 2987 if (img_obj_request_simple(obj_request)) {
2998 rbd_obj_request_submit(obj_request); 2988 rbd_obj_request_submit(obj_request);
2999 return 0; 2989 return 0;