The following are exceptions to Google Cloud Managed Lustre's POSIX compliance:
atime
updates: By default,atime
is enabled in Lustre, but for performance reasons, its updates might be deferred. This means that the access time of a file might not be updated immediately after every read operation.flock
/lockf
: These refer to two main file-locking APIs:flock(2)
andfcntl(2)
.flock
: This is a BSD-style, whole-file advisory lock that is not defined by POSIX. Lustre fully supports BSD-styleflock
semantics across the cluster by default.fcntl
: This is the POSIX-defined locking API, supporting byte-range locks. Lustre's implementation offcntl
locks is nearly POSIX-compliant and works as expected for most applications. However, sincefcntl
was originally designed for local filesystems, no distributed file system can 100% match all of POSIX'sfcntl
requirements, including Lustre. For example,fcntl()
specifies that locks must be released immediately when the owning process exits, but Lustre lock release may be delayed if the client crashes.
See the Lustre FAQ for details.