linux:kernel:cgroup:マウントオプション

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
linux:kernel:cgroup:マウントオプション [2013/04/25 08:49] – [xattr] tenforwardlinux:kernel:cgroup:マウントオプション [2013/04/25 11:01] (現在) – [release_agent=] tenforward
行 10: 行 10:
 ^ clone_children | cpu_set サブシステムだけで有効.子グループを作成したら親グループの設定を継承(コピー)する | ^ clone_children | cpu_set サブシステムだけで有効.子グループを作成したら親グループの設定を継承(コピー)する |
 ^ xattr | 拡張ファイル属性サポートでマウント | ^ xattr | 拡張ファイル属性サポートでマウント |
 +^ release_agent= | release_agent ファイルに書き込む実行ファイルのパス |
 ^ name= | マウントした階層構造を後で名前でマウントできるように名前を付ける.もしくは既にある名前と同じ階層構造をマウントする | ^ name= | マウントした階層構造を後で名前でマウントできるように名前を付ける.もしくは既にある名前と同じ階層構造をマウントする |
  
行 158: 行 159:
 trusted.test="test" trusted.test="test"
  
 +root@plamo50:/cgroup# getfattr -d tasks 
 +root@plamo50:/cgroup# 
 +</code>
 +
 +xattr の名前空間としては security.* と trusted.* だけが許可されているようです.getattr -d コマンドが何も返さないですね.
 +
 +許可する名前空間は kernel/cgroup.c 内で
 +
 +<code c>
 +static bool is_valid_xattr(const char *name)
 +{
 + if (!strncmp(name, XATTR_TRUSTED_PREFIX, XATTR_TRUSTED_PREFIX_LEN) ||
 +     !strncmp(name, XATTR_SECURITY_PREFIX, XATTR_SECURITY_PREFIX_LEN))
 + return true;
 + return false;
 +}
 +</code>
 +
 +===== release_agent= =====
 +<code>
 +root@plamo50:/# mount -t cgroup -o cpu,release_agent=/test.sh cgroup /cgroup
 +root@plamo50:/# cd cgroup/
 +root@plamo50:/cgroup# cat release_agent 
 +/test.sh
 +root@plamo50:/cgroup# cat notify_on_release 
 +0
 +root@plamo50:/cgroup# echo 1 > notify_on_release 
 +root@plamo50:/cgroup# cat notify_on_release 
 +1
 +root@plamo50:/cgroup# mkdir test01
 +root@plamo50:/cgroup# echo 2810 > test01/tasks 
 +root@plamo50:/cgroup# cat test01/tasks 
 +2810
 +root@plamo50:/cgroup# cat test01/tasks 
 +root@plamo50:/cgroup# tail -n 1 /var/log/syslog
 +Apr 25 19:59:49 plamo50 logger: Release!!Release!!
 +</code>
 +
 +/test.sh は
 +<code bash>
 +#!/bin/bash
 +/bin/logger "Release!!Release!!"
 </code> </code>
  • linux/kernel/cgroup/マウントオプション.1366879761.txt.gz
  • 最終更新: 2013/04/25 08:49
  • by tenforward