All of lore.kernel.org
 help / color / mirror / Atom feed
* [LTP] [PATCH] controllers/cpuacct: Fix deleting directories errors
@ 2021-09-15  9:50 ` Dai Shili
  2021-09-15 10:50     ` Petr Vorel
  0 siblings, 1 reply; 3+ messages in thread
From: Dai Shili @ 2021-09-15  9:50 UTC (permalink / raw)
  To: ltp

To remove a directory hierarchy on a normal file system you can use rm command to
remove all files from each subdirectory and then remove the parent directories.
But a cgroup which doesn't have any children and is associated only with zombie processes
is considered empty and can not be removed by rm.
The following errors will be reported.

cpuacct 1 TINFO: removing created directories
rm: cannot remove '/sys/fs/cgroup/cpu,cpuacct/ltp_cpuacct/cgroup.procs': Operation not permitted
rm: cannot remove '/sys/fs/cgroup/cpu,cpuacct/ltp_cpuacct/cpu.cfs_period_us': Operation not permitted
rm: cannot remove '/sys/fs/cgroup/cpu,cpuacct/ltp_cpuacct/cpu.stat': Operation not permitted
rm: cannot remove '/sys/fs/cgroup/cpu,cpuacct/ltp_cpuacct/cpuacct.usage_percpu_sys': Operation not permitted
rm: cannot remove '/sys/fs/cgroup/cpu,cpuacct/ltp_cpuacct/cpu.shares': Operation not permitted
rm: cannot remove '/sys/fs/cgroup/cpu,cpuacct/ltp_cpuacct/cpuacct.usage_percpu': Operation not permitted
rm: cannot remove '/sys/fs/cgroup/cpu,cpuacct/ltp_cpuacct/cpuacct.stat': Operation not permitted
rm: cannot remove '/sys/fs/cgroup/cpu,cpuacct/ltp_cpuacct/cpuacct.usage': Operation not permitted
rm: cannot remove '/sys/fs/cgroup/cpu,cpuacct/ltp_cpuacct/subgroup_1/cgroup.procs': Operation not permitted
rm: cannot remove '/sys/fs/cgroup/cpu,cpuacct/ltp_cpuacct/subgroup_1/cpu.cfs_period_us': Operation not permitted
rm: cannot remove '/sys/fs/cgroup/cpu,cpuacct/ltp_cpuacct/subgroup_1/cpu.stat': Operation not permitted
...

It's recommended to use rmdir command.

[1] http://blog.tinola.com/?e=21
[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/admin-guide/cgroup-v2.rst#n237

Reviewed-by: Yang Xu <xuyang2018.jy@fujitsu.com>
Signed-off-by: Dai Shili <daisl.fnst@fujitsu.com>
---
 testcases/kernel/controllers/cpuacct/cpuacct.sh | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/testcases/kernel/controllers/cpuacct/cpuacct.sh b/testcases/kernel/controllers/cpuacct/cpuacct.sh
index 99258c2..f526d0f 100755
--- a/testcases/kernel/controllers/cpuacct/cpuacct.sh
+++ b/testcases/kernel/controllers/cpuacct/cpuacct.sh
@@ -122,7 +122,10 @@ cleanup()
 
 	if [ "$testpath" ]; then
 		tst_res TINFO "removing created directories"
-		rm -rf $testpath
+		if [ -d "$testpath/subgroup_1" ]; then
+			rmdir $testpath/subgroup_*
+		fi
+			rmdir $testpath
 	fi
 
 	if [ "$mounted" -ne 1 ]; then
-- 
1.8.3.1


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [LTP] [PATCH] controllers/cpuacct: Fix deleting directories errors
@ 2021-09-15 10:50     ` Petr Vorel
  2021-09-15 11:21         ` Petr Vorel
  0 siblings, 1 reply; 3+ messages in thread
From: Petr Vorel @ 2021-09-15 10:50 UTC (permalink / raw)
  To: Dai Shili; +Cc: ltp

Hi Dai, Xu,

> To remove a directory hierarchy on a normal file system you can use rm command to
> remove all files from each subdirectory and then remove the parent directories.
> But a cgroup which doesn't have any children and is associated only with zombie processes
> is considered empty and can not be removed by rm.
> The following errors will be reported.

> cpuacct 1 TINFO: removing created directories
> rm: cannot remove '/sys/fs/cgroup/cpu,cpuacct/ltp_cpuacct/cgroup.procs': Operation not permitted
> rm: cannot remove '/sys/fs/cgroup/cpu,cpuacct/ltp_cpuacct/cpu.cfs_period_us': Operation not permitted
> rm: cannot remove '/sys/fs/cgroup/cpu,cpuacct/ltp_cpuacct/cpu.stat': Operation not permitted
> rm: cannot remove '/sys/fs/cgroup/cpu,cpuacct/ltp_cpuacct/cpuacct.usage_percpu_sys': Operation not permitted
> rm: cannot remove '/sys/fs/cgroup/cpu,cpuacct/ltp_cpuacct/cpu.shares': Operation not permitted
> rm: cannot remove '/sys/fs/cgroup/cpu,cpuacct/ltp_cpuacct/cpuacct.usage_percpu': Operation not permitted
> rm: cannot remove '/sys/fs/cgroup/cpu,cpuacct/ltp_cpuacct/cpuacct.stat': Operation not permitted
> rm: cannot remove '/sys/fs/cgroup/cpu,cpuacct/ltp_cpuacct/cpuacct.usage': Operation not permitted
> rm: cannot remove '/sys/fs/cgroup/cpu,cpuacct/ltp_cpuacct/subgroup_1/cgroup.procs': Operation not permitted
> rm: cannot remove '/sys/fs/cgroup/cpu,cpuacct/ltp_cpuacct/subgroup_1/cpu.cfs_period_us': Operation not permitted
> rm: cannot remove '/sys/fs/cgroup/cpu,cpuacct/ltp_cpuacct/subgroup_1/cpu.stat': Operation not permitted
> ...

> It's recommended to use rmdir command.

Sorry for introducing a regression and for correction.
I'll revert on your behalf commit d6cc08592 ("controllers/cpuacct: Simplify
deleting directories"), with your explanation.


Kind regards,
Petr


> [1] http://blog.tinola.com/?e=21
> [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/admin-guide/cgroup-v2.rst#n237

> Reviewed-by: Yang Xu <xuyang2018.jy@fujitsu.com>
> Signed-off-by: Dai Shili <daisl.fnst@fujitsu.com>
> ---
>  testcases/kernel/controllers/cpuacct/cpuacct.sh | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)

> diff --git a/testcases/kernel/controllers/cpuacct/cpuacct.sh b/testcases/kernel/controllers/cpuacct/cpuacct.sh
> index 99258c2..f526d0f 100755
> --- a/testcases/kernel/controllers/cpuacct/cpuacct.sh
> +++ b/testcases/kernel/controllers/cpuacct/cpuacct.sh
> @@ -122,7 +122,10 @@ cleanup()

>  	if [ "$testpath" ]; then
>  		tst_res TINFO "removing created directories"
> -		rm -rf $testpath
> +		if [ -d "$testpath/subgroup_1" ]; then
> +			rmdir $testpath/subgroup_*
> +		fi
> +			rmdir $testpath
>  	fi

>  	if [ "$mounted" -ne 1 ]; then

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [LTP] [PATCH] controllers/cpuacct: Fix deleting directories errors
@ 2021-09-15 11:21         ` Petr Vorel
  0 siblings, 0 replies; 3+ messages in thread
From: Petr Vorel @ 2021-09-15 11:21 UTC (permalink / raw)
  To: Dai Shili, ltp

Hi Dai, Xu,

...
> Sorry for introducing a regression and for correction.
> I'll revert on your behalf commit d6cc08592 ("controllers/cpuacct: Simplify
> deleting directories"), with your explanation.

FYI Merged!

Kind regards,
Petr

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-09-15 11:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-15  9:50 [LTP] [PATCH] controllers/cpuacct: Fix deleting directories errors Dai Shili
2021-09-15  9:50 ` Dai Shili
2021-09-15 10:50   ` Petr Vorel
2021-09-15 10:50     ` Petr Vorel
2021-09-15 11:21       ` Petr Vorel
2021-09-15 11:21         ` Petr Vorel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.