カテゴリ:ソフト開発日誌
scanleylx を r1704b にバージョンアップした。不良ブロック回避処理がデグレードしていて、回避が上手くいかず処理が終わらなくなる問題が発生していた。これを修正した。
Free Pascal の system call error 取得処理がどうなっているのか正しく理解せずに修正をしたのが原因だ。言い訳をするなら、Free Pascal の方も問題有りだと思っている。libc 互換ユニットを廃止して baseunix, unix, pthreads などに再実装した。この変化を強制するほどのメリットがあったのだろうかと思う。追従する書き直しで、自分が混乱してしまった。 不良ブロック回避処理も大幅な見直しが必要かもしれない。背景をまとめず並べてみる。1 ドライブ 数 Tbyte に大容量化、再試行をしたところで救える見込みが無い SSD、最近のハードディスクは不良ブロックが広がりやすい傾向がありそうな感があること、Linux Kernel のエラー処理、BlockIO-SCSI-(S)ATA 変換処理... 一つ一つは何でもなさそうだな。 scankeylx の前身 MS-DOS で動く scankeyには検索開始点を指定できる機能が有った。自動的に不良ブロックを避けるアルゴリズムを実装した時点で廃止した機能だ。アルゴリズムを複雑にしないための機能選択だった。 いまのところ、どうするかは見通しは無い。 お気に入りの記事を「いいね!」で応援しよう
最終更新日
2017.04.29 00:22:33
コメント(0) | コメントを書く
[ソフト開発日誌] カテゴリの最新記事
|
|