On Mon, Jun 3, 2024 at 2:39 PM Chao Yu <chao@xxxxxxxxxx> wrote:
Hi Chao,
On 2024/5/31 17:10, Zhiguo Niu wrote:
Use new Macro IOPRIO_PRIO_LEVEL to get ckpt thread ioprio data(level),
it is more accurate and consisten with the way setting ckpt thread
ioprio(IOPRIO_PRIO_VALUE(class, data)).
Signed-off-by: Zhiguo Niu <zhiguo.niu@xxxxxxxxxx>
---
fs/f2fs/sysfs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c
index 72676c5..55d46da 100644
--- a/fs/f2fs/sysfs.c
+++ b/fs/f2fs/sysfs.c
@@ -340,7 +340,7 @@ static ssize_t f2fs_sbi_show(struct f2fs_attr *a,
if (!strcmp(a->attr.name, "ckpt_thread_ioprio")) {
struct ckpt_req_control *cprc = &sbi->cprc_info;
int class = IOPRIO_PRIO_CLASS(cprc->ckpt_thread_ioprio);
- int data = IOPRIO_PRIO_DATA(cprc->ckpt_thread_ioprio);
+ int data = IOPRIO_PRIO_LEVEL(cprc->ckpt_thread_ioprio);
So, can you please use 'level' to instead 'data' in f2fs_sbi_show() and
__sbi_store()?
IOPRIO_PRIO_DATA in the new kernel version includes two parts: level and hint.
In __sbi_store, " IOPRIO_PRIO_VALUE(class, data)" is used to set ckpt
iopriority,
and it will pass default hint value, we just need to keep class /level right.
#define IOPRIO_PRIO_VALUE(prioclass, priolevel) \
ioprio_value(prioclass, priolevel, IOPRIO_HINT_NONE)
so i think this part is not needed to modify.
thanks!
Thanks,
if (class != IOPRIO_CLASS_RT && class != IOPRIO_CLASS_BE)
return -EINVAL;