Merge tag '5.19-rc-ksmbd-server-fixes' of git://git.samba.org/ksmbd
[linux-2.6-block.git] / include / linux / blk-cgroup.h
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
31e4c28d
VG
2#ifndef _BLK_CGROUP_H
3#define _BLK_CGROUP_H
4/*
5 * Common Block IO controller cgroup interface
6 *
7 * Based on ideas and code from CFQ, CFS and BFQ:
8 * Copyright (C) 2003 Jens Axboe <axboe@kernel.dk>
9 *
10 * Copyright (C) 2008 Fabio Checconi <fabio@gandalf.sssup.it>
11 * Paolo Valente <paolo.valente@unimore.it>
12 *
13 * Copyright (C) 2009 Vivek Goyal <vgoyal@redhat.com>
14 * Nauman Rafique <nauman@google.com>
15 */
16
c97ab271
CH
17#include <linux/types.h>
18
19struct bio;
20struct cgroup_subsys_state;
21struct request_queue;
31e4c28d 22
d2bcbeab
MK
23#define FC_APPID_LEN 129
24
f48ec1d7 25#ifdef CONFIG_BLK_CGROUP
496d5e75 26extern struct cgroup_subsys_state * const blkcg_root_css;
0fe061b9 27
672fdcf0
ML
28void blkcg_schedule_throttle(struct request_queue *q, bool use_memdelay);
29void blkcg_maybe_throttle_current(void);
216889aa 30bool blk_cgroup_congested(void);
397c9f46
CH
31void blkcg_pin_online(struct cgroup_subsys_state *blkcg_css);
32void blkcg_unpin_online(struct cgroup_subsys_state *blkcg_css);
dec223c9 33struct list_head *blkcg_get_cgwb_list(struct cgroup_subsys_state *css);
bbb1ebe7 34struct cgroup_subsys_state *bio_blkcg_css(struct bio *bio);
59b57717 35
36558c8a
TH
36#else /* CONFIG_BLK_CGROUP */
37
496d5e75
TH
38#define blkcg_root_css ((struct cgroup_subsys_state *)ERR_PTR(-EINVAL))
39
d09d8df3
JB
40static inline void blkcg_maybe_throttle_current(void) { }
41static inline bool blk_cgroup_congested(void) { return false; }
d09d8df3 42static inline void blkcg_schedule_throttle(struct request_queue *q, bool use_memdelay) { }
bbb1ebe7
CH
43static inline struct cgroup_subsys_state *bio_blkcg_css(struct bio *bio)
44{
45 return NULL;
46}
36558c8a 47#endif /* CONFIG_BLK_CGROUP */
d2bcbeab 48
db056284
CH
49int blkcg_set_fc_appid(char *app_id, u64 cgrp_id, size_t app_id_len);
50char *blkcg_get_fc_appid(struct bio *bio);
d2bcbeab 51
36558c8a 52#endif /* _BLK_CGROUP_H */