Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Partially resolves #267 #441

Merged
merged 1 commit into from
Mar 23, 2021
Merged

Conversation

Medowhill
Copy link
Collaborator

#267 을 부분적으로 해결하는 PR입니다. 다음 파일에 있는 kernel_builder 호출을 없앴습니다.

  • fs/path.rs
    • Path::rootItable::root로 옮김. 이에 따라 ProcsBuilder::user_proc_init이 init 프로세스의 초기 cwd를 인자로 받음.
    • Path::nameiPath::nameiparent&Itable을 인자로 받음.
  • fs/log.rs
    • Log의 대부분 메서드가 &Disk를 인자로 받음.
  • fs/inode.rs (partial)
    • InodeGuard::dirlinkInodeGuard::dirlookup&Itable을 인자로 받음.
  • file.rs (partial)
    • FileType::Devicemajoru16 대신 &Devsw를 가짐.
    • File::write&FileSystem을 인자로 받음.
  • sysfile.rs
    • create을 전역 함수에서 Kernel의 메서드로 바꿈.
  • pipe.rs
    • AllocatedPipe::allocKernel::allocate_pipe로 옮김.
    • AllocatedPipe::closePage를 직접 free하는 대신 그냥 반환.

'b: 'a일 때 Rc<'b, T, S>Rc<'a, T, S>의 서브타입으로 취급하기 위해 arena.rsnarrow_lifetime을 정의했습니다. 알아서 서브타입으로 간주가 되면 좋겠는데, 이유는 잘 모르겠지만 그렇게는 되지 않습니다. 실질적으로 narrow_lifetime이 하는 일이 없으므로 최적화가 잘 된다면 overhead를 추가하지는 않을 것 같습니다.

@Medowhill
Copy link
Collaborator Author

Log&Sleepablelock<Disk>를 가지고 있도록 수정했습니다. 이로 인해 LogFileSystem에 lifetime parameter가 추가되었습니다.

@Medowhill Medowhill requested a review from jeehoonkang March 22, 2021 06:39
Copy link
Member

@jeehoonkang jeehoonkang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

꼼꼼하게 작업해주셔서 감사합니다! 몇몇 사소한 코멘트 남겼습니다. 조만간 머지할 수 있으리라 기대합니다.

@jeehoonkang
Copy link
Member

bors retry

@jeehoonkang
Copy link
Member

bors ping

1 similar comment
@jeehoonkang
Copy link
Member

bors ping

@jeehoonkang
Copy link
Member

bors try

kaist-cp-bors bot added a commit that referenced this pull request Mar 22, 2021
@kaist-cp-bors
Copy link
Contributor

kaist-cp-bors bot commented Mar 22, 2021

try

Build succeeded:

* fs/path.rs
* fs/log.rs
* fs/inode.rs (partial)
* file.rs (partial)
* sysfile.rs
* pipe.rs
Copy link
Member

@jeehoonkang jeehoonkang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bors r+

@kaist-cp-bors
Copy link
Contributor

kaist-cp-bors bot commented Mar 23, 2021

Build succeeded:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants