4.3. Ceph File System


journal import 中に無効なヘッダーがあってもセグメンテーション違反が発生しなくなった

以前は、cephfs-journal-tooljournal import の操作時にヘッダーをチェックしていませんでした。これにより、セグメンテーション違反が発生していました。

この修正により、journal import コマンドの実行時にヘッダーがチェックされ、ヘッダーが欠落していてもセグメンテーションエラーが発生しなくなりました。

Bugzilla:2303640

障害復旧中の cephfs-data-scan が期待通りに完了するように

以前は、障害復旧中に cephfs-data-scan が実行されても、バックトレースから欠落していたディレクトリーのフラグメントや、重複リンクが作成されないことがありました。その結果、ディレクトリーにアクセスできなくなったり、MDS がクラッシュしたりしました。

この修正により、cephfs-data-scan は、欠落しているディレクトリーフラグメントを適切に再作成し、重複したリンクを期待どおりに修正するようになりました。

Bugzilla:2343968

inode の無効化の操作が完了するまでの時間が短縮される

以前は、場合によって inode への参照が余分に取得され、その参照が解放されないまま残ることがありました。その結果、inode の無効化を必要とする操作はタイムアウトが経過するまで遅延され、非常に遅くなりました。

この修正により、余分な参照が回避され、これらの操作が不必要な遅延なしにはるかに速く完了できるようになります。

Bugzilla:2355691

NFS エクスポートディスクサイズより大きいスペースは割り当てられなくなる

以前は、ストレージブロックが割り当てられていない状態で空のファイルを作成できました。このような空のファイルが原因で、fallocate などのコマンドを使用して目的のファイルリージョンに書き込むときに書き込み操作が失敗する可能性があります。

この修正により、NFS マウントポイントでの fallocate コマンドが "Operation not supported" エラーで失敗し、ストレージブロックが割り当てられていない空のファイルは作成されなくなります。

Bugzilla:2301434

プロキシーデーモンのログが即時更新されるように

以前は、プロキシーデーモンからのログメッセージは glibc ライブラリーによってバッファリングされていたため、ログファイルの更新に遅延が発生していました。その結果、クラッシュが発生した場合、一部のログエントリーが失われる可能性があり、トラブルシューティングとデバッグが困難になります。

この修正により、メッセージは glibc バッファリングをバイパスしてログファイルに直接書き込まれるようになり、ログがすぐに表示されるようになります。

Bugzilla:2357488

OSD がいっぱいの状態で発生する非同期書き込みデッドロックが修正された

以前は、非同期書き込みが進行中で OSD がいっぱいになると、書き込みをキャンセルする通知がクライアントに送信されていました。書き込みがキャンセルされた後の呼び出しとキャンセルメソッドがいずれも、同じロックを取得しようとしました。その結果、デッドロックが発生し、OSD がいっぱいになった場合に、クライアントが無期限にハングする原因となりました。

この修正により、クライアントコードのデッドロックが解決されました。その結果、OSD がいっぱいのシナリオ中に非同期書き込みを行っても、クライアントがハングすることはなくなりました。

Bugzilla:2291163

CephFS 仮想拡張属性の removexattr サポートが拡張された

以前は、removexattr はすべての適切な Ceph 仮想拡張属性でサポートされていなかったため、拡張属性を削除しようとすると "No such attribute" エラーが発生して失敗していました。

この修正により、removexattr のサポートが拡張され、関連するすべての CephFS 仮想拡張属性に対応するようになりました。属性を削除する removexattr を適切に使用できるようになりました。ルートの inode のレイアウトを削除することもできます。このレイアウトを削除すると、設定がデフォルトのレイアウトに復元されます。

Bugzilla:2297166

fail コマンドの健全性警告チェック中に MDS と FS ID が検証されるように

以前は、ceph mds failceph fs fail コマンドの実行時に MDS ID と FS ID はチェックされませんでした。その結果、クラスター内の別のインスタンスで健全性の警告が発行された場合、正常な MDS または FS インスタンスに対してこれらのコマンドを実行すると、"permission denied" エラーが発生して失敗します。

この修正により、システムは健全性警告チェック中に MDS および FS ID を検証するようになりました。この変更により、クラスター内の他の MDS または FS インスタンスに健全性の警告が発行された場合でも、正常なインスタンスに対して ceph mds failceph fs fail コマンドが確実に成功するようになります。

Bugzilla:2328008

エラーマッピングで特定のエラーメッセージが表示されるように

以前は、エラーコードとユーザーメッセージのマッピングが間違っていたため、一般的なメッセージが表示されていました。その結果、発生したエラーの具体的な情報を確認できませんでした。

この修正により、マッピングが修正され、エラー固有のメッセージが表示されるようになり、エラーに関する詳細なフィードバックを確認できます。

Bugzilla:2359598

fscrypt が長いファイル名を復号化できるように

以前は、復号を行っても、暗号化された生のファイル名を保持する代替名が常に付与されるわけではありませんでした。その結果、長いファイル名が正しく復号化されず、不完全なディレクトリーエントリーデータが生成されました。

この修正により、復号化中に代替名が提供されるため、fscrypt は長いファイル名を適切に復号化できるようになりました。

Bugzilla:2362278

スナップショット名はプレーンテキストで保存されるように

以前は、fscrypt キーが存在するかどうかに関係なくスナップショットを作成できました。キーなしで mgr subvolume snapshot create コマンドを使用してスナップショットを作成した場合、作成中にスナップショット名が暗号化されませんでした。その結果、プレーンテキストの名前を復号化しようとすると、生成された出力の判読が不可能でした。

この修正により、スナップショット名は暗号化されずにプレーンテキストとして保存されます。この変更により、fscrypt キーが存在するかどうかに関係なく、スナップショット名が読み取りできる状態が保持されます。

Bugzilla:2362859

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat