[過去ログ] /**ファイルシステム総合スレ その7**/ (955レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
88
(1): 2007/03/20(火)13:41 ID:J8vIycR5(2/2) AAS
find / -exec fuser {} ';'も調べたい
89
(1): 2007/03/20(火)14:27 ID:w+2ZTJtq(1/2) AAS
rwでremountしてからroでremountするまでの間に、何かのプログラムが実行されたんじゃね?
90
(2): 2007/03/20(火)18:04 ID:YBt0Z9W0(1) AAS
スクリプト内でremountに失敗

mountコマンドがデバイスをつかんだまま

remountに再び失敗

違うかな?
91: 80 2007/03/20(火)21:52 ID:9XkrolDx(4/9) AAS
>>87
無問題です。以下のようにしてあからさまにwriteでファイルを開かないと"busy"とはなりません。

# mount -o remount,rw /
# cd /
# cat > hoge
^Z
[1]+ Stopped cat >hoge
# mount -o remount,ro /
mount; / is busy
# kill %1
省4
92: ◆P39B8if24g 2007/03/20(火)22:16 ID:6hd4y+2s(1/2) AAS
てす
93: ◆P39B8if24g 2007/03/20(火)22:18 ID:6hd4y+2s(2/2) AAS
てす
94
(1): 80 2007/03/20(火)22:23 ID:9XkrolDx(5/9) AAS
>>88
シリアルコンソールごしにネットワーク、全てのサービスを停止。40弱しかプロセスが走ってない状態
(けどremount,roはやっぱりbusy)でやってみました。
/dev, /procと他パーティションの/var以下を除いた結果が以下です。

/: 1r 1c 2r 2c 3r 3c 4r 4c 5r 5c c
/bin/bash: 5924e 6938e
/bin/sh: 5924e 6938e
/bin/login: 26670e
/bin/su: 6937e
/lib/ld-linux.so.2: 1m 2739m 4649m 5924m 6937m 6938m 26670m
省11
95: 80 2007/03/20(火)22:24 ID:9XkrolDx(6/9) AAS
続き

/lib/security/pam_rootok.so: 6937m
/lib/security/pam_unix.so: 6937m 26670m
/lib/security/pam_limits.so: 6937m 26670m
/lib/security/pam_deny.so: 6937m 26670m
/lib/security/pam_unix_auth.so: 6937m 26670m
/lib/security/pam_unix_passwd.so: 6937m 26670m
/lib/security/pam_unix_acct.so: 6937m 26670m
/lib/security/pam_env.so: 6937m 26670m
/lib/security/pam_unix_session.so: 6937m 26670m
省18
96: 80 2007/03/20(火)22:25 ID:9XkrolDx(7/9) AAS
最後
/sbin/init: 1e
/sbin/klogd: 2393e
/sbin/syslogd: 2389e
/sbin/fuser: 7154e
/sbin/telinit: 1e
/usr/bin/find: 2739e
/usr/lib/libcrack.so.2: 6937m 26670m
/usr/lib/libglib-2.0.so.0: 26670m
/usr/lib/locale/locale-archive: 2476m 2739m 5924m 6938m 17391m
省6
97
(1): 80 2007/03/20(火)22:30 ID:9XkrolDx(8/9) AAS
>>94
あれ、/:の出力が切れてますね。如何が全てです。

/: 1r 1c 2r 2c 3r 3c 4r 4c
5r 5c 6r 6c 44r 44c 47r 47c 48r 48c 49r
49c 50r 50c 196r 196c 292r 292c 294r 294c 295r 295c
312r 312c 1341r 1341c 1757r 1757c 1902r 1902c 1903r 1903c 1905r
1905c 2389r 2389c 2393r 2393c 2476r 2567r 2567c 2568r 2568c 2569r
2569c 2570r 2570c 2571r 2571c 2572r 2572c 2739r 2739c 2740r 5924r
6937r 6938r 26670r 27648r 27648c
98
(1): 80 2007/03/20(火)23:06 ID:9XkrolDx(9/9) AAS
>>89 可能性としてはありそうです。しかしその結果、なぜ今の状態になってしまったのかが謎です。
>>90どう見てもmountコマンド自体は終了してますが、カーネル内部的に「つかんだ」ままになっている
のでしょうか?

さて、そろそろソースを読まねばという感じです。ちなみにCentOS4.4の2.6.9カーネルです。
99
(2): 2007/03/20(火)23:45 ID:w+2ZTJtq(2/2) AAS
>>97
> 無問題です。以下のようにしてあからさまにwriteでファイルを開かないと"busy"とはなりません。

あー、それならwriteで書き込まれたデータがまだディスクに書かれてない状態ですな。
まずはremount前にsyncを実行しましょう。
それでもダメな場合は、数秒待ってから再度sync->remountしてみてください。

私のところはFreeBSDだけど、shellスクリプト内でumountする時に以下のようにしています。

echo " unmount"
/bin/sync

/bin/sleep 60
/sbin/umount ${MNT}
省7
100: 2007/03/21(水)00:17 ID:S9uQBvMx(1) AAS
外部リンク:linuxfs.pbwiki.com
101: 2007/03/21(水)01:02 ID:DJG3OGOa(1/7) AAS
>>99
これだけ長時間バッファがフラッシュされないなんてありかな?
102: 80 2007/03/21(水)01:17 ID:E4OzVxjT(1/6) AAS
>>99
syncもだめでした。それにしてもこの状態(busy)で安定したまま一日以上過ぎてますので。

ちょっとコードを読んで見ました。mountコールのエラーパスはこうなるようです。

|sys_mount (fs/namespace.c)
|-do_mount
|--path_lookup(fs/namei.c)
|---link_path_walk
|----__link_path_walk
| ごちょごちょして良く分からんがたぶんEBUSYは返さない?
|--security_sb_mount(include/linux/security.h)
省12
103
(2): 80 2007/03/21(水)01:19 ID:E4OzVxjT(2/6) AAS
続き。ここで跳ねられてる? "pending delete"のファイルってlsofとかでも見れませんでしたっけ?

|----fs_may_remount_ro(struct super_block *sb) (fs/file_table.c)
|{
| struct list_head *p;
|
| /* Check that no files are currently opened for writing. */
| file_list_lock();
| list_for_each(p, &sb->s_files) {
| struct file *file = list_entry(p, struct file, f_list);
| struct inode *inode = file->f_dentry->d_inode;
省15
104: 90 2007/03/21(水)02:58 ID:DJG3OGOa(2/7) AAS
>>98
別に根拠は無いです。
ファイルはつかまれてなさそうなので、デバイスをつかまれてないかなと思った。
105
(1): 2007/03/21(水)03:24 ID:DJG3OGOa(3/7) AAS
rwでremountしてもやはりbusyになるんだろうか?
106
(1): 2007/03/21(水)03:31 ID:DJG3OGOa(4/7) AAS
dmesgの結果や/var/log/messagesの内容も知りたい。
107
(1): 80 2007/03/21(水)03:54 ID:E4OzVxjT(3/6) AAS
>>105
いえ、それはOKです。けどrwをrwにremountしてもスルーされてるだけかもしれませんね。
>>106
mountコマンドを入力したときにはとくにどちらにも新たな出力は見られません。先ほど見た
エラーパスにも特にその周辺で何かを吐き出すコードは見られませんでした。また両方とも
デバイス名sdaでgrepして見ましたが、起動時の普通のメッセージ以外に特に最近異常を示す
メッセージは見受けられません。他に何か探すべきものがありましたらご指摘キボンヌ。

そろそろ上に挙げたコードにデバッグコードを埋め込んでカーネル再構築を試みます。
1-
あと 848 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.021s