The patch titled cgroup files: convert res_counter_write() to be a cgroups write_string() handler has been removed from the -mm tree. Its filename was memrlimit-setup-the-memrlimit-controller-cgroup-files-convert-res_counter_write-to-be-a-cgroups-write_string-handler-memrlimitcgroup.patch This patch was dropped because it was folded into memrlimit-setup-the-memrlimit-controller.patch The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: cgroup files: convert res_counter_write() to be a cgroups write_string() handler From: Paul Menage <menage@xxxxxxxxxx> Currently res_counter_write() is a raw file handler even though it's ultimately taking a number, since in some cases it wants to pre-process the string when converting it to a number. This patch converts res_counter_write() from a raw file handler to a write_string() handler; this allows some of the boilerplate copying/locking/checking to be removed, and simplies the cleanup path, since these functions are now performed by the cgroups framework. Signed-off-by: Paul Menage <menage@xxxxxxxxxx> Cc: Balbir Singh <balbir@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/memrlimitcgroup.c | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff -puN mm/memrlimitcgroup.c~memrlimit-setup-the-memrlimit-controller-cgroup-files-convert-res_counter_write-to-be-a-cgroups-write_string-handler-memrlimitcgroup mm/memrlimitcgroup.c --- a/mm/memrlimitcgroup.c~memrlimit-setup-the-memrlimit-controller-cgroup-files-convert-res_counter_write-to-be-a-cgroups-write_string-handler-memrlimitcgroup +++ a/mm/memrlimitcgroup.c @@ -86,25 +86,12 @@ static u64 memrlimit_cgroup_read(struct cft->private); } -static int memrlimit_cgroup_write_strategy(char *buf, unsigned long long *tmp) -{ - *tmp = memparse(buf, &buf); - if (*buf != '\0') - return -EINVAL; - - *tmp = PAGE_ALIGN(*tmp); - return 0; -} - -static ssize_t memrlimit_cgroup_write(struct cgroup *cgrp, struct cftype *cft, - struct file *file, - const char __user *userbuf, - size_t nbytes, - loff_t *ppos) +static int memrlimit_cgroup_write(struct cgroup *cgrp, struct cftype *cft, + const char *buffer) { return res_counter_write(&memrlimit_cgroup_from_cgrp(cgrp)->as_res, - cft->private, userbuf, nbytes, ppos, - memrlimit_cgroup_write_strategy); + cft->private, buffer, + res_counter_memparse_write_strategy); } static struct cftype memrlimit_cgroup_files[] = { @@ -116,7 +103,7 @@ static struct cftype memrlimit_cgroup_fi { .name = "limit_in_bytes", .private = RES_LIMIT, - .write = memrlimit_cgroup_write, + .write_string = memrlimit_cgroup_write, .read_u64 = memrlimit_cgroup_read, }, { _ Patches currently in -mm which might be from menage@xxxxxxxxxx are origin.patch call_usermodehelper-increase-reliability.patch cgroup-use-read-lock-to-guard-find_existing_css_set.patch mark-res_counter_charge_locked-with-__must_check.patch cgroup-list_for_each-cleanup-v2.patch cgroup-anotate-two-variables-with-__read_mostly.patch cgroup-files-clean-up-whitespace-in-struct-cftype.patch cgroup-files-add-write_string-cgroup-control-file-method.patch cgroup-files-move-the-release_agent-file-to-use-typed-handlers.patch cgroups-misc-cleanups-to-write_string-patchset.patch cgroup-files-move-notify_on_release-file-to-separate-write-handler.patch cgroup-files-turn-attach_task_by_pid-directly-into-a-cgroup-write-handler.patch cgroup-files-remove-cpuset_common_file_write.patch cgroup-files-convert-devcgroup_access_write-into-a-cgroup-write_string-handler.patch cgroup-files-convert-res_counter_write-to-be-a-cgroups-write_string-handler.patch cgroup_clone-use-pid-of-newly-created-task-for-new-cgroup.patch devcgroup-relax-white-list-protection-down-to-rcu.patch devcgroup-code-cleanup.patch memcg-remove-refcnt-from-page_cgroup.patch memcg-helper-function-for-relcaim-from-shmem.patch memcg-add-hints-for-branch.patch memcg-remove-a-redundant-check.patch res_counter-limit-change-support-ebusy.patch memcg-limit-change-shrink-usage.patch memrlimit-add-memrlimit-controller-documentation.patch memrlimit-setup-the-memrlimit-controller.patch memrlimit-setup-the-memrlimit-controller-cgroup-files-convert-res_counter_write-to-be-a-cgroups-write_string-handler-memrlimitcgroup.patch memrlimit-setup-the-memrlimit-controller-memrlimit-correct-mremap-and-move_vma-accounting.patch memrlimit-cgroup-mm-owner-callback-changes-to-add-task-info.patch memrlimit-cgroup-mm-owner-callback-changes-to-add-task-info-memrlimit-fix-mmap_sem-deadlock.patch memrlimit-cgroup-mm-owner-callback-changes-to-add-task-info-memrlimit-fix-sleep-inside-sleeplock-in-mm_update_next_owner.patch memrlimit-add-memrlimit-controller-accounting-and-control.patch memrlimit-add-memrlimit-controller-accounting-and-control-memrlimit-improve-fork-and-error-handling.patch memrlimit-improve-error-handling.patch memrlimit-improve-error-handling-update.patch memrlimit-handle-attach_task-failure-add-can_attach-callback.patch memrlimit-handle-attach_task-failure-add-can_attach-callback-update.patch cpusets-update-tasks-cpus_allowed-and-mems_allowed-after-cpu-node-offline-online.patch cpuset-avoid-unnecessary-sched-domains-rebuilding.patch cpuset-dont-pass-empty-cpumasks-to-partition_sched_domains.patch cpuset-code-cleanup-for-started_after.patch cpuset-two-minor-code-cleanups.patch workqueues-make-get_online_cpus-useable-for-work-func.patch workqueues-make-get_online_cpus-useable-for-work-func-fix.patch s390-topology-dont-use-kthread-for-arch_reinit_sched_domains.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html