@@ -633,8 +633,6 @@ static void rbd_dev_remove_parent(struct rbd_device *rbd_dev);
633633
634634static int rbd_dev_refresh (struct rbd_device * rbd_dev );
635635static int rbd_dev_v2_header_onetime (struct rbd_device * rbd_dev );
636- static int rbd_dev_header_info (struct rbd_device * rbd_dev );
637- static int rbd_dev_v2_parent_info (struct rbd_device * rbd_dev );
638636static const char * rbd_dev_v2_snap_name (struct rbd_device * rbd_dev ,
639637 u64 snap_id );
640638static int _rbd_dev_v2_snap_size (struct rbd_device * rbd_dev , u64 snap_id ,
@@ -4931,39 +4929,6 @@ static void rbd_dev_update_size(struct rbd_device *rbd_dev)
49314929 }
49324930}
49334931
4934- static int rbd_dev_refresh (struct rbd_device * rbd_dev )
4935- {
4936- u64 mapping_size ;
4937- int ret ;
4938-
4939- down_write (& rbd_dev -> header_rwsem );
4940- mapping_size = rbd_dev -> mapping .size ;
4941-
4942- ret = rbd_dev_header_info (rbd_dev );
4943- if (ret )
4944- goto out ;
4945-
4946- /*
4947- * If there is a parent, see if it has disappeared due to the
4948- * mapped image getting flattened.
4949- */
4950- if (rbd_dev -> parent ) {
4951- ret = rbd_dev_v2_parent_info (rbd_dev );
4952- if (ret )
4953- goto out ;
4954- }
4955-
4956- rbd_assert (!rbd_is_snap (rbd_dev ));
4957- rbd_dev -> mapping .size = rbd_dev -> header .image_size ;
4958-
4959- out :
4960- up_write (& rbd_dev -> header_rwsem );
4961- if (!ret && mapping_size != rbd_dev -> mapping .size )
4962- rbd_dev_update_size (rbd_dev );
4963-
4964- return ret ;
4965- }
4966-
49674932static const struct blk_mq_ops rbd_mq_ops = {
49684933 .queue_rq = rbd_queue_rq ,
49694934};
@@ -7043,6 +7008,39 @@ static int rbd_dev_image_probe(struct rbd_device *rbd_dev, int depth)
70437008 return ret ;
70447009}
70457010
7011+ static int rbd_dev_refresh (struct rbd_device * rbd_dev )
7012+ {
7013+ u64 mapping_size ;
7014+ int ret ;
7015+
7016+ down_write (& rbd_dev -> header_rwsem );
7017+ mapping_size = rbd_dev -> mapping .size ;
7018+
7019+ ret = rbd_dev_header_info (rbd_dev );
7020+ if (ret )
7021+ goto out ;
7022+
7023+ /*
7024+ * If there is a parent, see if it has disappeared due to the
7025+ * mapped image getting flattened.
7026+ */
7027+ if (rbd_dev -> parent ) {
7028+ ret = rbd_dev_v2_parent_info (rbd_dev );
7029+ if (ret )
7030+ goto out ;
7031+ }
7032+
7033+ rbd_assert (!rbd_is_snap (rbd_dev ));
7034+ rbd_dev -> mapping .size = rbd_dev -> header .image_size ;
7035+
7036+ out :
7037+ up_write (& rbd_dev -> header_rwsem );
7038+ if (!ret && mapping_size != rbd_dev -> mapping .size )
7039+ rbd_dev_update_size (rbd_dev );
7040+
7041+ return ret ;
7042+ }
7043+
70467044static ssize_t do_rbd_add (const char * buf , size_t count )
70477045{
70487046 struct rbd_device * rbd_dev = NULL ;
0 commit comments