2011-03-12 3 views
0

ext3에서 저널링 구현을위한 소스 코드를보고 있었고 handle_t, transaction_tjournal_t 유형을 발견했습니다.핸들, 거래 및 저널

은 프로세스에 의해 수행되는 단일 원자 갱신을 나타냅니다. transaction_t은 원자 적 업데이트의 복합 세트를 나타내며 journal_t은 단일 파일 시스템에 대한 모든 저널링 정보를 유지 관리합니다.

나는 다음과 같은 의문이 : -

  1. 방법 디스크 상호 작용의 집합 여러 트랜잭션으로 그룹화를?
  2. 핸들 및 거래의 예를 들어주세요.

답변

1

몇 가지 시나리오를 설명하는 예는 거의 없습니다.

가. 동일한 파일 시스템에서 하나의 파일을 다른 위치로 이동합니다. 여기에는 여러 가지 작업이 있습니다. a. 새 디렉토리 파일에 항목을 입력하십시오. b. 이전 파일에서 항목 삭제 이 A은 트랜잭션이고 a,b은 핸들입니다.

B. 파일에 쓰기 관련된 작업은 a입니다. 변경된 블록의 내용을 변경합니다. b. inode에서 마지막으로 수정 한 시간을 변경합니다. 여기에 B은 거래이고 a,b은 핸들입니다.