diff options
author | Tejun Heo <tj@kernel.org> | 2014-05-13 12:16:21 -0400 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2014-05-13 12:16:21 -0400 |
commit | 451af504df0c62f695a69b83c250486e77c66378 (patch) | |
tree | f89879cf3f88e9da346d8bd3fa1ae192a280d772 /net/core/netprio_cgroup.c | |
parent | b41686401e501430ffe93b575ef7959d2ecc6f2e (diff) |
cgroup: replace cftype->write_string() with cftype->write()
Convert all cftype->write_string() users to the new cftype->write()
which maps directly to kernfs write operation and has full access to
kernfs and cgroup contexts. The conversions are mostly mechanical.
* @css and @cft are accessed using of_css() and of_cft() accessors
respectively instead of being specified as arguments.
* Should return @nbytes on success instead of 0.
* @buf is not trimmed automatically. Trim if necessary. Note that
blkcg and netprio don't need this as the parsers already handle
whitespaces.
cftype->write_string() has no user left after the conversions and
removed.
While at it, remove unnecessary local variable @p in
cgroup_subtree_control_write() and stale comment about
CGROUP_LOCAL_BUFFER_SIZE in cgroup_freezer.c.
This patch doesn't introduce any visible behavior changes.
v2: netprio was missing from conversion. Converted.
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Aristeu Rozanski <arozansk@redhat.com>
Acked-by: Vivek Goyal <vgoyal@redhat.com>
Acked-by: Li Zefan <lizefan@huawei.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Michal Hocko <mhocko@suse.cz>
Cc: Neil Horman <nhorman@tuxdriver.com>
Cc: "David S. Miller" <davem@davemloft.net>
Diffstat (limited to 'net/core/netprio_cgroup.c')
-rw-r--r-- | net/core/netprio_cgroup.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/net/core/netprio_cgroup.c b/net/core/netprio_cgroup.c index 3825f669147b..b990cefd906b 100644 --- a/net/core/netprio_cgroup.c +++ b/net/core/netprio_cgroup.c | |||
@@ -185,15 +185,15 @@ static int read_priomap(struct seq_file *sf, void *v) | |||
185 | return 0; | 185 | return 0; |
186 | } | 186 | } |
187 | 187 | ||
188 | static int write_priomap(struct cgroup_subsys_state *css, struct cftype *cft, | 188 | static ssize_t write_priomap(struct kernfs_open_file *of, |
189 | char *buffer) | 189 | char *buf, size_t nbytes, loff_t off) |
190 | { | 190 | { |
191 | char devname[IFNAMSIZ + 1]; | 191 | char devname[IFNAMSIZ + 1]; |
192 | struct net_device *dev; | 192 | struct net_device *dev; |
193 | u32 prio; | 193 | u32 prio; |
194 | int ret; | 194 | int ret; |
195 | 195 | ||
196 | if (sscanf(buffer, "%"__stringify(IFNAMSIZ)"s %u", devname, &prio) != 2) | 196 | if (sscanf(buf, "%"__stringify(IFNAMSIZ)"s %u", devname, &prio) != 2) |
197 | return -EINVAL; | 197 | return -EINVAL; |
198 | 198 | ||
199 | dev = dev_get_by_name(&init_net, devname); | 199 | dev = dev_get_by_name(&init_net, devname); |
@@ -202,11 +202,11 @@ static int write_priomap(struct cgroup_subsys_state *css, struct cftype *cft, | |||
202 | 202 | ||
203 | rtnl_lock(); | 203 | rtnl_lock(); |
204 | 204 | ||
205 | ret = netprio_set_prio(css, dev, prio); | 205 | ret = netprio_set_prio(of_css(of), dev, prio); |
206 | 206 | ||
207 | rtnl_unlock(); | 207 | rtnl_unlock(); |
208 | dev_put(dev); | 208 | dev_put(dev); |
209 | return ret; | 209 | return ret ?: nbytes; |
210 | } | 210 | } |
211 | 211 | ||
212 | static int update_netprio(const void *v, struct file *file, unsigned n) | 212 | static int update_netprio(const void *v, struct file *file, unsigned n) |
@@ -239,7 +239,7 @@ static struct cftype ss_files[] = { | |||
239 | { | 239 | { |
240 | .name = "ifpriomap", | 240 | .name = "ifpriomap", |
241 | .seq_show = read_priomap, | 241 | .seq_show = read_priomap, |
242 | .write_string = write_priomap, | 242 | .write = write_priomap, |
243 | }, | 243 | }, |
244 | { } /* terminate */ | 244 | { } /* terminate */ |
245 | }; | 245 | }; |