이게 무슨 에러 메시지인지요

손정수의 이미지

하드 디스크를 read 하려고 합니다.
그런데 버퍼 헤더의 b_size (블록 사이즈의 크기를 결정하는 필드) 필드에 변수를 넣으면 가장 아래와 같은 에러가 납니다.

bh->b_size = size; //size는 application에서 인자로 512로 받고 있습니다.

반면, 다음과 같이 하면 에러가 안 납니다. ... 이게 무슨 조화 입니까?

b_size = 512;

에러 메세지는 다음과 같습니다.

Apr 12 16:17:24 com kernel: hdb: status error: status=0x58 { DriveReady SeekComplete DataRequest }
Apr 12 16:17:24 com kernel: hdb: drive not ready for command

누구 이 에러 메세지가 무슨 메세지 인지 아시는 분 계시면 가르쳐 주세요

withlhw의 이미지

손정수 wrote:
하드 디스크를 read 하려고 합니다.
그런데 버퍼 헤더의 b_size (블록 사이즈의 크기를 결정하는 필드) 필드에 변수를 넣으면 가장 아래와 같은 에러가 납니다.
bh->b_size = size; //size는 application에서 인자로 512로 받고 있습니다.

반면, 다음과 같이 하면 에러가 안 납니다. ... 이게 무슨 조화 입니까?

b_size = 512;

에러 메세지는 다음과 같습니다.

Apr 12 16:17:24 com kernel: hdb: status error: status=0x58 { DriveReady SeekComplete DataRequest }
Apr 12 16:17:24 com kernel: hdb: drive not ready for command

누구 이 에러 메세지가 무슨 메세지 인지 아시는 분 계시면 가르쳐 주세요

음.. 어떻게 보면 간단할 수가 있습니다.

먼저 과연 그 size값이 512인지 확인해 보세요..