Hi Tejun,

On 17.11.2012 04:31, Tejun Heo wrote:
-static int write_classid(struct cgroup *cgrp, struct cftype *cft, u64 value)
+static int write_classid(struct cgroup *cgrp, struct cftype *cft,
+                        const char *buf)
  {
+       struct cgroup_cls_state *cs = cgrp_cls_state(cgrp);
+       s64 v;
+
+       if (sscanf(buf, "%lld", &v) != 1)
+               return -EINVAL;
+

This changes the user API slightly. cgroup_write_u64() uses simple_stroull() to parse the string. simple_stroull() allows to use either 0x1234 or 1234 as input. sscanf() will only handle the later type of input.

I noticed this because my test script stopped working:

   mkdir /sys/fs/cgroup/net_cls/a
   echo 0x100002 > /sys/fs/cgroup/net_cls/a/net_cls.classid # 10:2

   tc qdisc add dev $DEV root handle 10: htb
   tc class add dev $DEV parent 10: classid 10:2 htb rate 1mbit
   tc qdisc add dev $DEV parent 10:2 handle 20: sfq perturb 10

I am not completely sure if my setup is 100% correct, but at least
it seems to make something :)

cheers,
daniel

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to