さすがはLinux

(コメント: 0)

あるプログラムをCentOS 7に対応させる作業の中、quotaの扱いで「やはりLinux」と思う挙動がありました。ユーあーのquotaを調べるために、

  1. ユーザーのホームディレクトリを取得: getpwnam(3)
  2. マウントされているファイルシステムの情報を取得: getmntinfo(3)
  3. 得られたマウント情報からquotaが有効かどうか確認
  4. ホームディレクトリのあるデバイス番号と、マウントしているデバイス番号が一致しているものを選択

として、ホームディレクトリのあるデバイスファイルを得た上で、quotactl(2)でquotaの情報を得ています。(若干、細かいところは省略しています。)

ここで、3.のところでCentOS 6やUbuntu 12では得られたquotaを使用するようにてマウントしているかどうかが、CentOS 7のXFSでは取得できません。(何てこった!)

さらに、quotaそのものもXFS専用の指定が用意されています。一応、それを使用しなくてもユーザーやグループのquotaの情報は取得できていますが、XFSだけのプロジェクトのquotaは専用の方でないとダメそうです。つまり、新しいファイルシステムをサポートするのは良いのだけど、カーネルやシステムコールといったレベルでは全然まとめられていません。

あー、さすがLinuxでした。

戻る

コメント

コメントを追加

1と4を加算してください。

Copyright © 2011-2024 Takahiro Kambe all rights reserved.