btrfs 읽기는 루프에서 수행됩니까, 아니면 처리량을 최대화하기 위해 수행됩니까?

btrfs 읽기는 루프에서 수행됩니까, 아니면 처리량을 최대화하기 위해 수행됩니까?

가능하다면 btrfs더 빠른 장치에서 데이터를 읽으 시겠습니까?

내 질문의 이유:

btrfsRust에서 회전하는 RAID 1이 있습니다 . 나는 이것을 사용하여 성능을 향상시키고 싶고 , 회전하는 Rust 장치보다 장치에서 읽는 것을 선호할 만큼 똑똑 bcache하다고 가정하고 드라이브 중 하나만 캐시하고 싶습니다(더 큰 캐시 적용 범위를 위해) .btrfsbcache

답변1

아니요, 현재 btrfs raid1은 프로세스의 pid를 기반으로 읽을 장치를 선택합니다(예: pid가 디스크 0에서 짝수 읽기인 경우, pid가 디스크 1에서 홀수 읽기인 경우).

어쨌든 이 문제는 최근 해결되었으며 새로운 읽기 전략을 추가하기 위해 새로운 프레임워크가 추가되었습니다.

이 작업은 아직 메인라인 커널에 병합되지 않았지만 곧 병합될 수도 있습니다.

관련 정보