문제

두 개의 스크립트가 있다고 가정합니다.첫 번째 파일은 일부 파일을 디렉토리에 넣으면 두 번째 파일이 잠시 동안 디렉토리를 확인하고 파일을 처리합니다.내가 염려하는 상황은 두 번째 스크립트가 잠시 부분적으로 옮겨지는 파일의 처리를 시작할 때입니다.XFS 파일 시스템에서 실제 생활 에서이 일이 발생할 수 있습니까?

도움이 되었습니까?

해결책

파일을 이동중인 위치에 따라 다릅니다.단일 파일 시스템 내의 MV는 원자입니다. 그렇지 않으면 원자형이 아닌 복사본 (원본 파일의 삭제)이 아니며 언급 한 경쟁 조건의 종류가 발생하기 쉽습니다.

fwiw, 이것은 정상적인 POSIX 의미, XFS에 특별한 것은 아닙니다.

다른 팁

경쟁 조건은 XFS 파일 시스템에서 귀하의 경우에 발생하지 않습니다.그러나 XFS는 유닉스 파일 시스템과 달리 유연한 잠금 체계를 사용하여 단일 스레드 된 inode 잠금과 대조적으로 유연한 잠금 체계를 사용하여 여러 프로세스를 한 번에 한 번에 읽고 쓸 수 있습니다.XFS는 여러 프로세스에 의해 동일한 지역에서 쓰기를 직렬화하는 것을 처리합니다.

XFS는 file.direct I / O에 액세스하기 위해 직접 I / O를 사용합니다. 응용 프로그램이 버퍼 캐시에 캐시되지 않도록 데이터를 지정할 수 있습니다.

일반, 버퍼링 된 I / O를 사용할 때 여러 독자가 동시에 파일에 액세스 할 수 있지만 한 번에 파일에 액세스 할 수 있습니다.Direct I / O를 사용할 때 여러 독자 및 작성자가 파일에 동시에 액세스 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top