No need to have these helpers inline. Also remove the stubs and just use an IS_ENABLED for the get side (the set side already is only built conditionlly).
Showing the changes to include (1 of 4 files). Show all
Unified · Split
| @@ -218,61 +218,7 @@ static inline struct blkcg *bio_blkcg(struct bio *bio) { return NULL; } · 217 unmodified lines | |||
| 218 | 218 | ||
| 219 | #endif /* CONFIG_BLK_CGROUP */ | 219 | #endif /* CONFIG_BLK_CGROUP */ |
| 220 | 220 | ||
| 221 | #ifdef CONFIG_BLK_CGROUP_FC_APPID | 221 | int blkcg_set_fc_appid(char *app_id, u64 cgrp_id, size_t app_id_len); |
| 222 | /* | 222 | char *blkcg_get_fc_appid(struct bio *bio); |
| 223 | * Sets the fc_app_id field associted to blkcg | ||
| 224 | * @app_id: application identifier | ||
| 225 | * @cgrp_id: cgroup id | ||
| 226 | * @app_id_len: size of application identifier | ||
| 227 | */ | ||
| 228 | static inline int blkcg_set_fc_appid(char *app_id, u64 cgrp_id, size_t app_id_len) | ||
| 229 | { | ||
| 230 | struct cgroup *cgrp; | ||
| 231 | struct cgroup_subsys_state *css; | ||
| 232 | struct blkcg *blkcg; | ||
| 233 | int ret = 0; | ||
| 234 | |||
| 235 | if (app_id_len > FC_APPID_LEN) | ||
| 236 | return -EINVAL; | ||
| 237 | |||
| 238 | cgrp = cgroup_get_from_id(cgrp_id); | ||
| 239 | if (!cgrp) | ||
| 240 | return -ENOENT; | ||
| 241 | css = cgroup_get_e_css(cgrp, &io_cgrp_subsys); | ||
| 242 | if (!css) { | ||
| 243 | ret = -ENOENT; | ||
| 244 | goto out_cgrp_put; | ||
| 245 | } | ||
| 246 | blkcg = css_to_blkcg(css); | ||
| 247 | /* | ||
| 248 | * There is a slight race condition on setting the appid. | ||
| 249 | * Worst case an I/O may not find the right id. | ||
| 250 | * This is no different from the I/O we let pass while obtaining | ||
| 251 | * the vmid from the fabric. | ||
| 252 | * Adding the overhead of a lock is not necessary. | ||
| 253 | */ | ||
| 254 | strlcpy(blkcg->fc_app_id, app_id, app_id_len); | ||
| 255 | css_put(css); | ||
| 256 | out_cgrp_put: | ||
| 257 | cgroup_put(cgrp); | ||
| 258 | return ret; | ||
| 259 | } | ||
| 260 | 223 | ||
| 261 | /** | ||
| 262 | * blkcg_get_fc_appid - get the fc app identifier associated with a bio | ||
| 263 | * @bio: target bio | ||
| 264 | * | ||
| 265 | * On success return the fc_app_id, on failure return NULL | ||
| 266 | */ | ||
| 267 | static inline char *blkcg_get_fc_appid(struct bio *bio) | ||
| 268 | { | ||
| 269 | if (bio && bio->bi_blkg && | ||
| 270 | (bio->bi_blkg->blkcg->fc_app_id[0] != '\0')) | ||
| 271 | return bio->bi_blkg->blkcg->fc_app_id; | ||
| 272 | return NULL; | ||
| 273 | } | ||
| 274 | #else | ||
| 275 | static inline int blkcg_set_fc_appid(char *buf, u64 id, size_t len) { return -EINVAL; } | ||
| 276 | static inline char *blkcg_get_fc_appid(struct bio *bio) { return NULL; } | ||
| 277 | #endif /*CONFIG_BLK_CGROUP_FC_APPID*/ | ||
| 278 | #endif /* _BLK_CGROUP_H */ | 224 | #endif /* _BLK_CGROUP_H */ |