OpenBSD における GEFS:早期プレビュー

2026/09/16 2:12

OpenBSD における GEFS:早期プレビュー

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

GEFS ファイルシステムは、9front で元々開発され、現在は OpenBSD への移植が進行中の、実験的なクラッシュ耐性のあるコピオンライ्तファイルシステムです。現在の状態では、重要エラー処理ルーチンのコメントアウト(元のアプローチが OpenBSD の標準を満たさないため)、同時マウントを妨げる並行性のバグ、スナップショット管理ツールなどの重要な機能の欠如といった理由から、本番環境での使用には不適合です。移植は抽象化層なしの直接コードコピーに依存しており、9front からの特定のバックポートを必要とし、スーパーブロック書き込み順序に関する不明なリスクを抱えています。まだ開発が残されており、完全な regres テストスイート、NFS ハーック、ハードリンク/Kqueue 用のファイル単位の refcount ファイル、そして遅いファイル削除への修正が含まれます。現在では仮想化された 9front 環境の起動が一部のツールのアクセス方法として唯一の方法ですが、機能追加に伴ってこのセットアップは進化していくでしょう。コードベースは大幅に拡大し、リポジトリは Upstream の変更を反映するために force-pushing を受け入れるため、作者のサーバーを過負荷にしないよう、OpenBSD のソースをまずクローンし、その後 GEFS ブランチから更新を取得するようユーザーに推奨されます。

本文

OpenBSD 向け GEFS の初期プレビューリリース

重要: このコードは直ちにソースツリーへの統合対象ではありません。

これは何ですか?

EuroBSD で知られる通り、著者は現在、OpenBSD 上で動作する**GEFS(クリッシュ安全なスナップショット機能とコピーオンライートを備えたファイルシステム)**のプレビュー版を開発中です。

  • 状態: 概ね未完成で不具合があり、諸問題が多い状態です。
  • 利用可否:現時点では本番環境での使用には適しておりません。特にエラー発生時にはデータ損失の可能性があります。
  • 開発状況: 一部例外を除き、残りの問題は比較的理解可能になりつつあり、検証・ご指摘いただける段階まで達しました。

詳細は以下の PDF を参照ください:

現状のコード量: カーネル内では 9,000 行未満ですが、機能不足のため将来的に増える可能性があります。

ポーティング戦略

Plan 9 と OpenBSD の間でのデータ構造や複雑な部分のコードを同期しつつ、実装面はコピー&ペーストによる移植を行っています。

  • 目標: 両環境でコードが互換性("rhyme")を保ち、修正結果を共有しやすくすることです。
  • アプローチ:
    • 各環境の要件の違いから、そのままコードを流用することは現実的ではありません
    • 抽象化レイヤーを追加しようとすることも逆効果と考えます。

現在の課題(主要項目)

残りの大きな課題は以下の通りです:

  • 一貫性プロトコル:
    • スーパーブロックへの書き込みが、スナップショット内のすべての書き込みより後に行わなければならない点。
    • ディスクに Actual された後の書き込みであれば安全ですが、Plan 9 側からバックポート可能な書き込み順序に関する修正が必要です。
  • エラー処理と移植による「脳损伤」:
    • エラー処理部分は大部分がコメントアウトされています。
    • OpenBSD では Plan 9 で採用したアプローチは不適切ため、各パスを慎重に検証・再実装する必要があります。
    • 同時複数マウントを妨げるグローバル変数の使用などの問題も存在します。
  • ユーザースペースツール:
    • VM 内で 9front を起動して作成/fsck を行う方法は長期的には望ましくありません。
    • スナップショット管理や関連する IOCTL も含みます。
  • POSIX 準拠に関する細かな点:
    • 由来した環境は POSIX 準拠ではなかったため、要件を完全に満たしていない箇所があります。
  • テストスイートの不足:
    • Plan 9 側には小規模なスイートがありますが、OpenBSD 側にはまだありません。
  • ハードリンク:
    • 実装自体は簡単ですが、各ファイルに対して参照カウンタファイルを必要とします。
  • kqueue:
    • 同様に実装は容易ですが、ファイル単位での参照カウントが必要です。
  • NFS:
    • 動作させるには厄介なフックが必要で、追加に必要な条件がまだ明確ではありません。
  • その他の欠落部分:
    • ブートローダーサポート、ブート環境の追加、クォータ設定など不足しています。
    • 特にクォータは重要で、LLVM が /usr/obj の大きな領域を割り当てずに継続できるようにするためにも必要です。

他にも見落としがあるかもしれません。KNF(Kernel Naming Convention)の修正には現在取り組んでおらず、コードに触れるたびに順次移行を進めていく方針です。 アップストリームへの統合に近い段階になるまで、可能な限り元々のコードに忠実な状態を維持することを優先します。

また、9front と OpenBSD の依存関係とは独立した非致命的な問題(例:大ファイルの削除が遅いなど)も存在し、改善案を持っておりつつあります。

入手方法

単一のパッチとして以下からダウンロード可能です: GEFS.diff

Git リポジトリへのアクセス方法: サーバー容量が極めて限られているため、新規クローンからのアクセスではすぐに負荷がかかります。GitHub から初期リポジトリを取得し、その後に更新のみをフェッチする方式を採用しています。

# まず、別の場所から上流リポジトリのコピーを取得
git clone https://github.com/openbsd/src
cd src

# 次に、私のサーバーを追加し、差分だけを取得
git remote add gefs git://shithub.us/ori/openbsd
git fetch gefs
git checkout -b gefs gefs/gefs

注意: OpenBSD の最新状態に合わせるために時折リベースと強制プッシュを行うことがあります。その際、コミット ID が変化する可能性があります。

同じ日のほかのニュース

一覧に戻る →

2026/09/16 4:25

「System One モデルと Jev」の紹介

## Japanese Translation: TypeSafe AI は、即座で誤りのない自動意思決定のために設計された画期的な「System One」モデルである **Jev** を発表しました。従来の言語モデルが単なるテキスト文字列を生成するのに対し、Jev は型安全構造化値を出力し、データの一貫性を確保しながらハルシネーションを排除します。このアーキテクチャ変更は並列サンプラにより支えられており、すべての応答を同時に処理して結果を 70ms から 500ms の範囲で提供可能にしています。これにより既存のツールと比較して最大 200 倍高速化されながら、著しく低いコスト(入力トークンあたり約 0.042 ドルで出力コストはほぼゼロ)を実現しています。システムは、標準的なアライメント手法に依存せず、検証可能な報酬を最優先する「Calibrated Decisions」用の強化学習を用いた専門的なトレーニングを受けました。 カハニーマンの快思考といった認知科学の概念に触発された Jev は、現在のフロンティアモデルと対比して顕著な効率性でベンチマークされています。Jev は、高速ゲームインタラクションや迅速なビッグデータ処理といったリアルタイムアプリケーションを可能にしており、既存のツールに対して最大 200 倍高速化されながらコストは大幅に削減されています。その結果、リアルタイムインテリジェンスに依存する業界では、一貫した信頼スコアと近乎ゼロのレイテンシを提供するシステムへの転換が期待でき、これにより現在の大規模言語モデル展開におけるボトルネックを効果的に解決します。

2026/09/15 21:31

Show HN: 鳥の声に反応して、19 世紀の挿絵風に描く電子ペーパーフレーム

## Japanese Translation: 「Fugleramme」プロジェクトは、ノルウェー・ベルゲンの厨房の窓を、ローカル AI と歴史的自然史のアートを組み合わせることでリアルタイムデジタルバードウォッチングキオスクへと変えます。BirdNET-Go を使用してデバイス上で鳴き声を検出し、公有ドメインソースからの手切りされた 1800 年代の図版として一致結果を Inky Impression e-ink パネルに表示します(アート作品は AI で生成されておらず、一部のものは補正されています)。800 枚以上の切り抜きがあり、400 種以上をカバーし、主にスキャンディナヴィア、英国、中欧の種を対象とし、より広いカバレッジが計画されています。検出された種は背景除去処理され、体格サイズに合わせたテクスチャ付きページに配置され、空のスロットには裸の枝が表示されます。システムは Raspberry Pi 5(推奨)、Inky Impression 13.3 インチディスプレイ、マイク、A4 フレームでローカルで動作しますが、Web キオスクまたは Docker(`ghcr.io/arnegiacomo/fugleramme`)または `install.sh` を通じても動作します。また、ローカルまたはリモートの BirdNET-Go インスタンスをターゲットとすることも可能です。現在は初期開発段階であり、コミュニティからの貢献(修正、ドキュメント、アート作品)を歓迎しており、バグ報告には Discussions を使用し、コード・アート・ドキュメントの変更には PR を使用します。WWF のポスター(Axel Thorenfeldt 氏)や AvianVisitors に着想を得た Fugleramme は、アクセシブルなハードウェアが厳選された公有ドメインのアートを通じて複雑なオーディオデータを可視化する方法を示しています。コードは MIT ライセンス、検出および画像は適切な CC ライセンス(適用可能な場合、非商用制限を含む)の下にあります。 ## Text to translate: The "Fugleramme" project turns a kitchen window in Bergen, Norway, into a real-time digital bird-watching kiosk by combining local AI with historical natural history art. Using BirdNET-Go, it detects bird calls on-device and displays matches as hand-cut 1800s illustrations from public-domain sources on an Inky Impression e-ink panel; no artwork is AI-generated (some is retouched). Over 800 cut-outs cover more than 400 species, primarily Scandinavian, British, and central European, with broader coverage planned. Detected species are background-removed and packed onto a textured page sized by body mass; empty slots show a bare perch. The system runs locally on a Raspberry Pi 5 (recommended), an Inky Impression 13.3" display, a microphone, and an A4 frame, but can also run as a web-only kiosk or via Docker (`ghcr.io/arnegiacomo/fugleramme`) or `install.sh`. It supports pointing at local or remote BirdNET-Go instances. Currently in early development, the project invites community contributions (fixes, docs, artwork) and uses Discussions for bug reports while PRs are for code/art/docs changes. Inspired by a WWF poster by Axel Thorenfeldt and AvianVisitors, Fugleramme demonstrates how accessible hardware can visualize complex audio data through curated public-domain art, with code under MIT and detection/images under appropriate CC licenses (including non-commercial constraints where applicable).

2026/09/16 6:07

ドイツのライネメタルが戦術システム接続用武器プロトコルのオープンソース化を発表

## Japanese Translation: The onboardapi ライブラリは、Object Management Group (OMG) から Data Distribution Service (DDS) によるデータ交換の標準化を通じて、センサーシステムとソフトウェア間の通信を簡素化します。ddkit ツールキットを基盤とし、この C++ ベースのソリューションは OMG の XTypes および XCDR2 エンコーディングを活用してシームレスな相互運用性を確保し、データモデルが進化するに連れて完全な後方互換性を保証します。Java、Python、C#、および .NET 向けのラッパーを通じて多言語統合をサポートし、クライアント/サービスアーキテクチャに関するドキュメント、セットアップガイド、コード例、変更ログ、 browsable データモデルインターフェースを含む豊富なリソースを提供します。このライブラリは、堅牢なクロスプラットフォーム接続を維持することでスケール可能な産業用アプリケーションを可能にします。そのインターフェースは EPL v2.0 ライセンスに基づき、ランタイムライブラリは EULA-RME-SDK-1.0 ライセンスに従います。 ## Text to translate: The onboardapi library streamlines communication between sensor systems and software by standardizing data exchange through the Data Distribution Service (DDS) from the Object Management Group (OMG). Built on the ddkit toolkit, this C++-based solution ensures seamless interoperability via OMG's XTypes and XCDR2 encoding, guaranteeing full backward compatibility as the data model evolves. It supports multi-language integration through wrappers for Java, Python, C#, and .NET, with extensive resources including documentation on Client/Service architecture, setup guides, code examples, a changelog, and browsable Data Model interfaces. The library facilitates scalable industrial applications by maintaining robust cross-platform connectivity; its interfaces are licensed under EPL v2.0, while runtime libraries adhere to the EULA-RME-SDK-1.0 license.