@@ -1455,6 +1455,7 @@ int nvme_create_ctrl(struct nvme_global_ctx *ctx,
14551455 if (!c )
14561456 return - ENOMEM ;
14571457
1458+ c -> ctx = ctx ;
14581459 c -> hdl = NULL ;
14591460 nvmf_default_config (& c -> cfg );
14601461 list_head_init (& c -> namespaces );
@@ -2771,7 +2772,8 @@ static void nvme_ns_set_generic_name(struct nvme_ns *n, const char *name)
27712772 n -> generic_name = strdup (generic_name );
27722773}
27732774
2774- int nvme_ns_open (const char * sys_path , const char * name , nvme_ns_t * ns )
2775+ static int nvme_ns_open (struct nvme_global_ctx * ctx , const char * sys_path ,
2776+ const char * name , nvme_ns_t * ns )
27752777{
27762778 int ret ;
27772779 struct nvme_ns * n ;
@@ -2808,6 +2810,7 @@ int nvme_ns_open(const char *sys_path, const char *name, nvme_ns_t *ns)
28082810 } else
28092811 head -> sysfs_dir = NULL ;
28102812
2813+ n -> ctx = ctx ;
28112814 n -> head = head ;
28122815 n -> hdl = NULL ;
28132816 n -> name = strdup (name );
@@ -2858,7 +2861,8 @@ static char *nvme_ns_generic_to_blkdev(const char *generic)
28582861 return strdup (blkdev );
28592862}
28602863
2861- static int __nvme_scan_namespace (const char * sysfs_dir , const char * name , nvme_ns_t * ns )
2864+ static int __nvme_scan_namespace (struct nvme_global_ctx * ctx ,
2865+ const char * sysfs_dir , const char * name , nvme_ns_t * ns )
28622866{
28632867 _cleanup_free_ char * blkdev = NULL ;
28642868 _cleanup_free_ char * path = NULL ;
@@ -2873,7 +2877,7 @@ static int __nvme_scan_namespace(const char *sysfs_dir, const char *name, nvme_n
28732877 if (ret < 0 )
28742878 return - ENOMEM ;
28752879
2876- ret = nvme_ns_open (path , blkdev , & n );
2880+ ret = nvme_ns_open (ctx , path , blkdev , & n );
28772881 if (ret )
28782882 return ret ;
28792883
@@ -2884,9 +2888,10 @@ static int __nvme_scan_namespace(const char *sysfs_dir, const char *name, nvme_n
28842888 return 0 ;
28852889}
28862890
2887- int nvme_scan_namespace (const char * name , nvme_ns_t * ns )
2891+ int nvme_scan_namespace (struct nvme_global_ctx * ctx , const char * name ,
2892+ nvme_ns_t * ns )
28882893{
2889- return __nvme_scan_namespace (nvme_ns_sysfs_dir (), name , ns );
2894+ return __nvme_scan_namespace (ctx , nvme_ns_sysfs_dir (), name , ns );
28902895}
28912896
28922897
@@ -2966,7 +2971,7 @@ static int nvme_ctrl_scan_namespace(struct nvme_global_ctx *ctx, struct nvme_ctr
29662971 nvme_msg (ctx , LOG_DEBUG , "no subsystem for %s\n" , name );
29672972 return - EINVAL ;
29682973 }
2969- ret = __nvme_scan_namespace (c -> sysfs_dir , name , & n );
2974+ ret = __nvme_scan_namespace (ctx , c -> sysfs_dir , name , & n );
29702975 if (ret ) {
29712976 nvme_msg (ctx , LOG_DEBUG , "failed to scan namespace %s\n" , name );
29722977 return ret ;
@@ -2992,7 +2997,7 @@ static int nvme_subsystem_scan_namespace(struct nvme_global_ctx *ctx, nvme_subsy
29922997
29932998 nvme_msg (ctx , LOG_DEBUG , "scan subsystem %s namespace %s\n" ,
29942999 s -> name , name );
2995- ret = __nvme_scan_namespace (s -> sysfs_dir , name , & n );
3000+ ret = __nvme_scan_namespace (ctx , s -> sysfs_dir , name , & n );
29963001 if (ret ) {
29973002 nvme_msg (ctx , LOG_DEBUG , "failed to scan namespace %s\n" , name );
29983003 return ret ;
0 commit comments