15
15
16
16
static void rtrs_srv_release (struct kobject * kobj )
17
17
{
18
- struct rtrs_srv_sess * sess ;
18
+ struct rtrs_srv_path * srv_path ;
19
19
20
- sess = container_of (kobj , struct rtrs_srv_sess , kobj );
21
- kfree (sess );
20
+ srv_path = container_of (kobj , struct rtrs_srv_path , kobj );
21
+ kfree (srv_path );
22
22
}
23
23
24
24
static struct kobj_type ktype = {
@@ -36,24 +36,25 @@ static ssize_t rtrs_srv_disconnect_store(struct kobject *kobj,
36
36
struct kobj_attribute * attr ,
37
37
const char * buf , size_t count )
38
38
{
39
- struct rtrs_srv_sess * sess ;
39
+ struct rtrs_srv_path * srv_path ;
40
40
struct rtrs_path * s ;
41
41
char str [MAXHOSTNAMELEN ];
42
42
43
- sess = container_of (kobj , struct rtrs_srv_sess , kobj );
44
- s = & sess -> s ;
43
+ srv_path = container_of (kobj , struct rtrs_srv_path , kobj );
44
+ s = & srv_path -> s ;
45
45
if (!sysfs_streq (buf , "1" )) {
46
46
rtrs_err (s , "%s: invalid value: '%s'\n" ,
47
47
attr -> attr .name , buf );
48
48
return - EINVAL ;
49
49
}
50
50
51
- sockaddr_to_str ((struct sockaddr * )& sess -> s .dst_addr , str , sizeof (str ));
51
+ sockaddr_to_str ((struct sockaddr * )& srv_path -> s .dst_addr , str ,
52
+ sizeof (str ));
52
53
53
54
rtrs_info (s , "disconnect for path %s requested\n" , str );
54
55
/* first remove sysfs itself to avoid deadlock */
55
- sysfs_remove_file_self (& sess -> kobj , & attr -> attr );
56
- close_sess ( sess );
56
+ sysfs_remove_file_self (& srv_path -> kobj , & attr -> attr );
57
+ close_path ( srv_path );
57
58
58
59
return count ;
59
60
}
@@ -66,11 +67,11 @@ static ssize_t rtrs_srv_hca_port_show(struct kobject *kobj,
66
67
struct kobj_attribute * attr ,
67
68
char * page )
68
69
{
69
- struct rtrs_srv_sess * sess ;
70
+ struct rtrs_srv_path * srv_path ;
70
71
struct rtrs_con * usr_con ;
71
72
72
- sess = container_of (kobj , typeof (* sess ), kobj );
73
- usr_con = sess -> s .con [0 ];
73
+ srv_path = container_of (kobj , typeof (* srv_path ), kobj );
74
+ usr_con = srv_path -> s .con [0 ];
74
75
75
76
return sysfs_emit (page , "%u\n" , usr_con -> cm_id -> port_num );
76
77
}
@@ -82,11 +83,11 @@ static ssize_t rtrs_srv_hca_name_show(struct kobject *kobj,
82
83
struct kobj_attribute * attr ,
83
84
char * page )
84
85
{
85
- struct rtrs_srv_sess * sess ;
86
+ struct rtrs_srv_path * srv_path ;
86
87
87
- sess = container_of (kobj , struct rtrs_srv_sess , kobj );
88
+ srv_path = container_of (kobj , struct rtrs_srv_path , kobj );
88
89
89
- return sysfs_emit (page , "%s\n" , sess -> s .dev -> ib_dev -> name );
90
+ return sysfs_emit (page , "%s\n" , srv_path -> s .dev -> ib_dev -> name );
90
91
}
91
92
92
93
static struct kobj_attribute rtrs_srv_hca_name_attr =
@@ -96,11 +97,11 @@ static ssize_t rtrs_srv_src_addr_show(struct kobject *kobj,
96
97
struct kobj_attribute * attr ,
97
98
char * page )
98
99
{
99
- struct rtrs_srv_sess * sess ;
100
+ struct rtrs_srv_path * srv_path ;
100
101
int cnt ;
101
102
102
- sess = container_of (kobj , struct rtrs_srv_sess , kobj );
103
- cnt = sockaddr_to_str ((struct sockaddr * )& sess -> s .dst_addr ,
103
+ srv_path = container_of (kobj , struct rtrs_srv_path , kobj );
104
+ cnt = sockaddr_to_str ((struct sockaddr * )& srv_path -> s .dst_addr ,
104
105
page , PAGE_SIZE );
105
106
return cnt + sysfs_emit_at (page , cnt , "\n" );
106
107
}
@@ -112,11 +113,11 @@ static ssize_t rtrs_srv_dst_addr_show(struct kobject *kobj,
112
113
struct kobj_attribute * attr ,
113
114
char * page )
114
115
{
115
- struct rtrs_srv_sess * sess ;
116
+ struct rtrs_srv_path * srv_path ;
116
117
int len ;
117
118
118
- sess = container_of (kobj , struct rtrs_srv_sess , kobj );
119
- len = sockaddr_to_str ((struct sockaddr * )& sess -> s .src_addr , page ,
119
+ srv_path = container_of (kobj , struct rtrs_srv_path , kobj );
120
+ len = sockaddr_to_str ((struct sockaddr * )& srv_path -> s .src_addr , page ,
120
121
PAGE_SIZE );
121
122
len += sysfs_emit_at (page , len , "\n" );
122
123
return len ;
@@ -125,7 +126,7 @@ static ssize_t rtrs_srv_dst_addr_show(struct kobject *kobj,
125
126
static struct kobj_attribute rtrs_srv_dst_addr_attr =
126
127
__ATTR (dst_addr , 0444 , rtrs_srv_dst_addr_show , NULL );
127
128
128
- static struct attribute * rtrs_srv_sess_attrs [] = {
129
+ static struct attribute * rtrs_srv_path_attrs [] = {
129
130
& rtrs_srv_hca_name_attr .attr ,
130
131
& rtrs_srv_hca_port_attr .attr ,
131
132
& rtrs_srv_src_addr_attr .attr ,
@@ -134,8 +135,8 @@ static struct attribute *rtrs_srv_sess_attrs[] = {
134
135
NULL ,
135
136
};
136
137
137
- static const struct attribute_group rtrs_srv_sess_attr_group = {
138
- .attrs = rtrs_srv_sess_attrs ,
138
+ static const struct attribute_group rtrs_srv_path_attr_group = {
139
+ .attrs = rtrs_srv_path_attrs ,
139
140
};
140
141
141
142
STAT_ATTR (struct rtrs_srv_stats , rdma ,
@@ -151,9 +152,9 @@ static const struct attribute_group rtrs_srv_stats_attr_group = {
151
152
.attrs = rtrs_srv_stats_attrs ,
152
153
};
153
154
154
- static int rtrs_srv_create_once_sysfs_root_folders (struct rtrs_srv_sess * sess )
155
+ static int rtrs_srv_create_once_sysfs_root_folders (struct rtrs_srv_path * srv_path )
155
156
{
156
- struct rtrs_srv * srv = sess -> srv ;
157
+ struct rtrs_srv * srv = srv_path -> srv ;
157
158
int err = 0 ;
158
159
159
160
mutex_lock (& srv -> paths_mutex );
@@ -164,7 +165,7 @@ static int rtrs_srv_create_once_sysfs_root_folders(struct rtrs_srv_sess *sess)
164
165
goto unlock ;
165
166
}
166
167
srv -> dev .class = rtrs_dev_class ;
167
- err = dev_set_name (& srv -> dev , "%s" , sess -> s .sessname );
168
+ err = dev_set_name (& srv -> dev , "%s" , srv_path -> s .sessname );
168
169
if (err )
169
170
goto unlock ;
170
171
@@ -196,9 +197,9 @@ static int rtrs_srv_create_once_sysfs_root_folders(struct rtrs_srv_sess *sess)
196
197
}
197
198
198
199
static void
199
- rtrs_srv_destroy_once_sysfs_root_folders (struct rtrs_srv_sess * sess )
200
+ rtrs_srv_destroy_once_sysfs_root_folders (struct rtrs_srv_path * srv_path )
200
201
{
201
- struct rtrs_srv * srv = sess -> srv ;
202
+ struct rtrs_srv * srv = srv_path -> srv ;
202
203
203
204
mutex_lock (& srv -> paths_mutex );
204
205
if (!-- srv -> dev_ref ) {
@@ -213,7 +214,7 @@ rtrs_srv_destroy_once_sysfs_root_folders(struct rtrs_srv_sess *sess)
213
214
}
214
215
}
215
216
216
- static void rtrs_srv_sess_stats_release (struct kobject * kobj )
217
+ static void rtrs_srv_path_stats_release (struct kobject * kobj )
217
218
{
218
219
struct rtrs_srv_stats * stats ;
219
220
@@ -224,22 +225,22 @@ static void rtrs_srv_sess_stats_release(struct kobject *kobj)
224
225
225
226
static struct kobj_type ktype_stats = {
226
227
.sysfs_ops = & kobj_sysfs_ops ,
227
- .release = rtrs_srv_sess_stats_release ,
228
+ .release = rtrs_srv_path_stats_release ,
228
229
};
229
230
230
- static int rtrs_srv_create_stats_files (struct rtrs_srv_sess * sess )
231
+ static int rtrs_srv_create_stats_files (struct rtrs_srv_path * srv_path )
231
232
{
232
233
int err ;
233
- struct rtrs_path * s = & sess -> s ;
234
+ struct rtrs_path * s = & srv_path -> s ;
234
235
235
- err = kobject_init_and_add (& sess -> stats -> kobj_stats , & ktype_stats ,
236
- & sess -> kobj , "stats" );
236
+ err = kobject_init_and_add (& srv_path -> stats -> kobj_stats , & ktype_stats ,
237
+ & srv_path -> kobj , "stats" );
237
238
if (err ) {
238
239
rtrs_err (s , "kobject_init_and_add(): %d\n" , err );
239
- kobject_put (& sess -> stats -> kobj_stats );
240
+ kobject_put (& srv_path -> stats -> kobj_stats );
240
241
return err ;
241
242
}
242
- err = sysfs_create_group (& sess -> stats -> kobj_stats ,
243
+ err = sysfs_create_group (& srv_path -> stats -> kobj_stats ,
243
244
& rtrs_srv_stats_attr_group );
244
245
if (err ) {
245
246
rtrs_err (s , "sysfs_create_group(): %d\n" , err );
@@ -249,64 +250,64 @@ static int rtrs_srv_create_stats_files(struct rtrs_srv_sess *sess)
249
250
return 0 ;
250
251
251
252
err :
252
- kobject_del (& sess -> stats -> kobj_stats );
253
- kobject_put (& sess -> stats -> kobj_stats );
253
+ kobject_del (& srv_path -> stats -> kobj_stats );
254
+ kobject_put (& srv_path -> stats -> kobj_stats );
254
255
255
256
return err ;
256
257
}
257
258
258
- int rtrs_srv_create_sess_files (struct rtrs_srv_sess * sess )
259
+ int rtrs_srv_create_path_files (struct rtrs_srv_path * srv_path )
259
260
{
260
- struct rtrs_srv * srv = sess -> srv ;
261
- struct rtrs_path * s = & sess -> s ;
261
+ struct rtrs_srv * srv = srv_path -> srv ;
262
+ struct rtrs_path * s = & srv_path -> s ;
262
263
char str [NAME_MAX ];
263
264
int err ;
264
265
struct rtrs_addr path = {
265
- .src = & sess -> s .dst_addr ,
266
- .dst = & sess -> s .src_addr ,
266
+ .src = & srv_path -> s .dst_addr ,
267
+ .dst = & srv_path -> s .src_addr ,
267
268
};
268
269
269
270
rtrs_addr_to_str (& path , str , sizeof (str ));
270
- err = rtrs_srv_create_once_sysfs_root_folders (sess );
271
+ err = rtrs_srv_create_once_sysfs_root_folders (srv_path );
271
272
if (err )
272
273
return err ;
273
274
274
- err = kobject_init_and_add (& sess -> kobj , & ktype , srv -> kobj_paths ,
275
+ err = kobject_init_and_add (& srv_path -> kobj , & ktype , srv -> kobj_paths ,
275
276
"%s" , str );
276
277
if (err ) {
277
278
rtrs_err (s , "kobject_init_and_add(): %d\n" , err );
278
279
goto destroy_root ;
279
280
}
280
- err = sysfs_create_group (& sess -> kobj , & rtrs_srv_sess_attr_group );
281
+ err = sysfs_create_group (& srv_path -> kobj , & rtrs_srv_path_attr_group );
281
282
if (err ) {
282
283
rtrs_err (s , "sysfs_create_group(): %d\n" , err );
283
284
goto put_kobj ;
284
285
}
285
- err = rtrs_srv_create_stats_files (sess );
286
+ err = rtrs_srv_create_stats_files (srv_path );
286
287
if (err )
287
288
goto remove_group ;
288
289
289
290
return 0 ;
290
291
291
292
remove_group :
292
- sysfs_remove_group (& sess -> kobj , & rtrs_srv_sess_attr_group );
293
+ sysfs_remove_group (& srv_path -> kobj , & rtrs_srv_path_attr_group );
293
294
put_kobj :
294
- kobject_del (& sess -> kobj );
295
+ kobject_del (& srv_path -> kobj );
295
296
destroy_root :
296
- kobject_put (& sess -> kobj );
297
- rtrs_srv_destroy_once_sysfs_root_folders (sess );
297
+ kobject_put (& srv_path -> kobj );
298
+ rtrs_srv_destroy_once_sysfs_root_folders (srv_path );
298
299
299
300
return err ;
300
301
}
301
302
302
- void rtrs_srv_destroy_sess_files (struct rtrs_srv_sess * sess )
303
+ void rtrs_srv_destroy_path_files (struct rtrs_srv_path * srv_path )
303
304
{
304
- if (sess -> kobj .state_in_sysfs ) {
305
- kobject_del (& sess -> stats -> kobj_stats );
306
- kobject_put (& sess -> stats -> kobj_stats );
307
- sysfs_remove_group (& sess -> kobj , & rtrs_srv_sess_attr_group );
308
- kobject_put (& sess -> kobj );
305
+ if (srv_path -> kobj .state_in_sysfs ) {
306
+ kobject_del (& srv_path -> stats -> kobj_stats );
307
+ kobject_put (& srv_path -> stats -> kobj_stats );
308
+ sysfs_remove_group (& srv_path -> kobj , & rtrs_srv_path_attr_group );
309
+ kobject_put (& srv_path -> kobj );
309
310
310
- rtrs_srv_destroy_once_sysfs_root_folders (sess );
311
+ rtrs_srv_destroy_once_sysfs_root_folders (srv_path );
311
312
}
312
313
}
0 commit comments