This topic was translated by AI and is currently in queue for revision by our editors. Alibaba Cloud does not guarantee the accuracy of AI-translated content. Request expedited revision

Ossfs 2.0 overview

Updated at: 2025-03-28 08:26

ossfs 2.0 is a client specifically designed for high-performance access to OSS (Object Storage Service) through mounting. It provides excellent sequential read and write capabilities, fully leveraging the high bandwidth advantages of OSS.

Scenarios

ossfs 2.0 supports new compute-intensive workloads such as AI training, inference, and autonomous driving. These workloads typically involve sequential and random reading, sequential (append-only) writing, without requiring complete POSIX semantics.

Operating environment

ossfs 2.0 is developed based on FUSE (Filesystem in Userspace). It currently supports x86_64 architecture and Alibaba Cloud Linux systems with kernel versions 3.10 or later.

Operating system

System version

System architecture

Kernel version

Download link

Installation tutorial

Operating system

System version

System architecture

Kernel version

Download link

Installation tutorial

Alibaba Cloud Linux

Alibaba Cloud Linux (2 edition)

x86_64

4.19

ossfs2_2.0.0beta_linux_x86_64.rpm

Alibaba Cloud Linux system

Alibaba Cloud Linux (3 edition)

x86_64

5.10

Limits

  • Permission requirements: Ensure that the AccessKey has full permissions for the target bucket or prefix-related resources. Otherwise, mounting might fail or functions might not work properly.

  • Storage class limitations: Does not support mounting buckets with Archive Storage, Cold Archive, or Deep Cold Archive storage classes.

  • Filename limitations: Maximum filename length is 255 characters (following Linux restrictions). Files or directories in OSS that exceed this limit will not be visible in the mount point.

  • File reading limitations: Newly written files will only be uploaded to OSS after the file is closed. Reading a file that is still being written and not yet closed might cause errors.

  • File writing limitations: Random writes and concurrent writes to the same file are not supported. By default, writes create non-appendable OSS objects. The default part size for writing is 8388608 bytes (8 MiB), which means the maximum supported file size for writing is 83886080000 bytes (78.125 GiB). The part size can be configured using the mount option upload_buffer_size.

  • File rename operations (non-atomic)

    • Files: First copied and then the remote file is deleted.

    • Directories: All files are copied first, then the source files are deleted in batch. Directory renaming has a default limit of 2 million descendant files. This limit can be configured using the mount option rename_dir_limit.

  • Concurrent write consistency: Data consistency cannot be guaranteed when multiple clients mount the same bucket and write to the same file simultaneously.

  • POSIX API compatibility: Partially compatible. For details, see POSIX API support.

Function introduction

Features

  • Provides basic POSIX compatibility, focusing on leveraging OSS server-side read and write capabilities.

  • Offers efficient sequential read and write capabilities for large files through end-to-end read and write path optimization.

  • Provides efficient concurrent loading capabilities for small files through effective metadata management.

Posix API support

The following table shows the POSIX API support comparison between ossfs 1.0 and ossfs 2.0.

Feature category

Operation/Feature

ossfs 1.0

ossfs 2.0

Feature category

Operation/Feature

ossfs 1.0

ossfs 2.0

Basic file operations

open

Supported

Supported

flush

Supported

Supported

close

Supported

Supported

File read/write

read

Supported

Supported

write

Supports random writes (requires disk cache)

Only supports sequential writes (no disk cache required)

truncate

Supported (can adjust file size)

Only supports emptying files

File meta operations

create

Supported

Supported

unlink

Supported

Supported

rename

Supported

Supported

Directory operations

mkdir

Supported

Supported

readdir

Supported

Supported

rmdir

Supported

Supported

Permissions and attributes

getattr

Supported

Supported

chmod

Supported (operation does not report errors, but settings do not take effect)

Supported (operation does not report errors, but settings do not take effect)

chown

Supported (operation does not report errors, but settings do not take effect)

Supported (operation does not report errors, but settings do not take effect)

utimes

Supported

Supported

Extended features

setxattr

Supported

Not supported

symlink

Supported

Not supported

lock

Not supported

Not supported

Further references

  • On this page (1)
  • Scenarios
  • Operating environment
  • Limits
  • Function introduction
  • Features
  • Posix API support
  • Further references
Feedback