Vietnamese (machine translation)

Lưu ý

Mục đích của file này là để độc giả tiếng Việt có thể đọc và hiểu tài liệu nhân kernel dễ dàng hơn, không phải để tạo ra một nhánh tài liệu riêng. Nếu bạn có bất kỳ nhận xét hoặc cập nhật nào cho file này, vui lòng thử cập nhật file tiếng Anh gốc trước. Nếu bạn thấy có sự khác biệt giữa bản dịch và bản gốc, hoặc có vấn đề về bản dịch, vui lòng gửi góp ý hoặc patch cho người dịch của file này, hoặc nhờ người bảo trì và người review tài liệu tiếng Việt giúp đỡ.

Bản gốc:

FUSE I/O Modes

Người dịch:

Google Translate (machine translation)

Phiên bản gốc:

8541d8f725c6

Cảnh báo

Tài liệu này được dịch tự động bằng máy và chưa được review bởi người dịch. Nội dung có thể không chính xác hoặc khó hiểu ở một số chỗ. Khi có sự khác biệt với bản gốc, bản gốc luôn là chuẩn. Bản dịch chất lượng cao (được review) được đặt trong thư mục vi_VN/.

2. Chế độ I/O FUSE

Fuse hỗ trợ các chế độ I/O sau:

  • trực tiếp-io

  • được lưu vào bộ nhớ đệm + viết qua + bộ đệm ghi lại

Chế độ direct-io có thể được chọn bằng cờ FOPEN_DIRECT_IO trong FUSE_OPEN trả lời.

Ở chế độ direct-io, bộ đệm trang hoàn toàn bị bỏ qua để đọc và ghi. Không có việc đọc trước diễn ra. Mmap chia sẻ bị tắt theo mặc định. Để cho phép chia sẻ mmap, cờ FUSE_DIRECT_IO_ALLOW_MMAP có thể được bật trong phản hồi FUSE_INIT.

Trong chế độ lưu đệm, các lần đọc có thể được đáp ứng từ bộ đệm trang và dữ liệu có thể được được hạt nhân đọc trước để lấp đầy bộ đệm. Bộ đệm luôn được giữ nhất quán sau khi ghi vào tập tin. Tất cả các chế độ mmap đều được hỗ trợ.

Chế độ được lưu trong bộ nhớ đệm có hai chế độ phụ kiểm soát cách xử lý ghi. các chế độ ghi là mặc định và được hỗ trợ trên tất cả các hạt nhân. các chế độ bộ đệm ghi lại có thể được chọn bằng cờ FUSE_WRITEBACK_CACHE trong FUSE_INIT trả lời.

Trong chế độ ghi qua, mỗi lần ghi sẽ được gửi ngay lập tức tới không gian người dùng dưới dạng một hoặc nhiều các yêu cầu WRITE, cũng như cập nhật bất kỳ trang nào được lưu trong bộ nhớ đệm (và bộ nhớ đệm trước đó các trang không được lưu vào bộ nhớ cache nhưng được viết đầy đủ). Không có yêu cầu READ nào được gửi để ghi, vì vậy khi một trang không được lưu vào bộ đệm được viết một phần, trang đó sẽ bị loại bỏ.

Ở chế độ bộ đệm ghi lại (được bật bởi cờ FUSE_WRITEBACK_CACHE), ghi vào chỉ bộ đệm, điều đó có nghĩa là tòa nhà ghi (2) thường có thể hoàn thành rất nhanh chóng. Các trang bẩn được viết lại một cách ngầm định (viết lại nền hoặc trang lấy lại áp lực bộ nhớ) hoặc một cách rõ ràng (được gọi bằng close(2), fsync(2) và khi tham chiếu cuối cùng của tệp được phát hành trên munmap(2)). Chế độ này giả định rằng tất cả các thay đổi đối với hệ thống tập tin đều đi qua mô-đun hạt nhân FUSE (các thuộc tính size và atime/ctime/mtime được kernel cập nhật), vì vậy nó thường không phù hợp với các hệ thống tập tin mạng. Nếu một phần trang được được viết thì trước tiên trang này cần được đọc từ không gian người dùng. Điều này có nghĩa là ngay cả đối với các tệp được mở cho O_WRONLY, có thể các yêu cầu READ sẽ được được tạo ra bởi hạt nhân.