Subject
[MVL] 공유디스크의 볼륨을 복수개로 구성한 환경에서 MVL이 잘 관리 할 수 있는지 test
APPLIES TO:
MCCS 3.1
SYMPTOMS
공유디스크의 볼륨이 하나일 경우는 lock/unlock, monitor 가 잘 되나
여러개에서 계속적으로 커널드라이버로 요청할 경우
여러개의 볼륨을 잘 관리하는지 test가 필요
CAUSE
2010.04.09 16:03:37 ~ 2010.04.12 10:33:38 테스트 결과
총 330,388 transaction 발생시 1,998 에러 발생 (0.6%)
온라인에러 - 111 회
오프라인 에러 - 1887 회
가장 빈번하게 사용하는 isMounted 함수를 kernel 에 요청하지 않고 바로 user단에서 처리되게끔 변경하여 부하를 많이 줄였음.
user단의 FSCTL_DISMOUNT_VOLUME 명령을 내릴 시에는 dismount 시키며 SpyFastIoDetachDevice() 함수를 호출하게 된다.
SpyFastIoDetachDevice() 안에 detach와 함께 디스크의 list 구조체에서 삭제가 이루어 지는데 간헐적으로 이것을 호출하지 않는다.
이로 인해서 vollock/status 에서 중복된 볼륨이 발생한다. 삭제 후에도 삭제가 되지 않고 나중에 추가될때는 추가가 되어 버리기 때문이다.
SOLUTION
multi vol 에 대해서는 완전 수정은 안되었지만 버그 발생 비율을 낮추는 선에서 resolve 시킴
Fixed MCCS 3.2