@@ -105,7 +105,7 @@ static ssize_t sprint_schemes(struct damon_ctx *c, char *buf, ssize_t len)
105
105
106
106
damon_for_each_scheme (s , c ) {
107
107
rc = scnprintf (& buf [written ], len - written ,
108
- "%lu %lu %u %u %u %u %d %lu %lu %lu %u %u %u %lu %lu\n" ,
108
+ "%lu %lu %u %u %u %u %d %lu %lu %lu %u %u %u %d %lu %lu %lu %lu % lu %lu\n" ,
109
109
s -> min_sz_region , s -> max_sz_region ,
110
110
s -> min_nr_accesses , s -> max_nr_accesses ,
111
111
s -> min_age_region , s -> max_age_region ,
@@ -115,6 +115,8 @@ static ssize_t sprint_schemes(struct damon_ctx *c, char *buf, ssize_t len)
115
115
s -> quota .weight_sz ,
116
116
s -> quota .weight_nr_accesses ,
117
117
s -> quota .weight_age ,
118
+ s -> wmarks .metric , s -> wmarks .interval ,
119
+ s -> wmarks .high , s -> wmarks .mid , s -> wmarks .low ,
118
120
s -> stat_count , s -> stat_sz );
119
121
if (!rc )
120
122
return - ENOMEM ;
@@ -195,18 +197,18 @@ static struct damos **str_to_schemes(const char *str, ssize_t len,
195
197
* nr_schemes = 0 ;
196
198
while (pos < len && * nr_schemes < max_nr_schemes ) {
197
199
struct damos_quota quota = {};
198
- struct damos_watermarks wmarks = {
199
- .metric = DAMOS_WMARK_NONE ,
200
- };
200
+ struct damos_watermarks wmarks ;
201
201
202
202
ret = sscanf (& str [pos ],
203
- "%lu %lu %u %u %u %u %u %lu %lu %lu %u %u %u%n" ,
203
+ "%lu %lu %u %u %u %u %u %lu %lu %lu %u %u %u %u %lu %lu %lu %lu %n" ,
204
204
& min_sz , & max_sz , & min_nr_a , & max_nr_a ,
205
205
& min_age , & max_age , & action , & quota .ms ,
206
206
& quota .sz , & quota .reset_interval ,
207
207
& quota .weight_sz , & quota .weight_nr_accesses ,
208
- & quota .weight_age , & parsed );
209
- if (ret != 13 )
208
+ & quota .weight_age , & wmarks .metric ,
209
+ & wmarks .interval , & wmarks .high , & wmarks .mid ,
210
+ & wmarks .low , & parsed );
211
+ if (ret != 18 )
210
212
break ;
211
213
if (!damos_action_valid (action )) {
212
214
pr_err ("wrong action %d\n" , action );
0 commit comments