linux-2.6.33のNFS関連にバグ

linux-2.6.33 には、NFS関連にバグがあります。NFSを使っている人は 2.6.33 系は避けましょう。

以下、詳細。2.6.33 とか 2.6.33.3 で NFS をしばらく使っていると

$ /sbin/lsmod |grep nfs
nfsd                  218966  13 
exportfs                2914  1 nfsd
nfs                   240809  1 
lockd                  56531  2 nfsd,nfs
fscache                22437  1 nfs
auth_rpcgss            28071  2 nfsd,nfs
sunrpc                153716  1939 nfsd,nfs,lockd,auth_rpcgss

と、sunrpc の参照カウンタが単調増加する。(上記の例だと 1939 の部分。) つまりリークしている。

このバグが原因で、nfsサーバを二日ぐらい稼働させるとロードアベレージが30を越えるような残念な現象が起きていた。


2.6.33 だめじゃん。と言うことで、google で検索してみると、このバグはすでに linux-2.6.34-rc6 で修正されていた。

早速、linux-2.6.34-rc6にupdate。結果、

$ /sbin/lsmod |grep nfs
nfsd                  218907  13 
exportfs                2918  1 nfsd
nfs                   240466  1 
lockd                  56679  2 nfsd,nfs
fscache                22441  1 nfs
auth_rpcgss            28039  2 nfsd,nfs
sunrpc                152825  25 nfsd,nfs,lockd,auth_rpcgss

と正常動作に戻った。どうやら修正されている模様。


5/20追記

先日リリースされた linux-2.6.34 でも修正済みでした。正常に動作してます。