| ... | @@ -846,6 +846,9 @@ pub const OpenError = error{ | ... | @@ -846,6 +846,9 @@ pub const OpenError = error{ |
| 846 | /// The path already exists and the `O_CREAT` and `O_EXCL` flags were provided. | 846 | /// The path already exists and the `O_CREAT` and `O_EXCL` flags were provided. |
| 847 | PathAlreadyExists, | 847 | PathAlreadyExists, |
| 848 | DeviceBusy, | 848 | DeviceBusy, |
| | 849 | |
| | 850 | /// The underlying filesystem does not support file locks |
| | 851 | FileLocksNotSupported |
| 849 | } || UnexpectedError; | 852 | } || UnexpectedError; |
| 850 | | 853 | |
| 851 | /// Open and possibly create a file. Keeps trying if it gets interrupted. | 854 | /// Open and possibly create a file. Keeps trying if it gets interrupted. |
| ... | @@ -931,6 +934,7 @@ pub fn openatZ(dir_fd: fd_t, file_path: [*:0]const u8, flags: u32, mode: mode_t) | ... | @@ -931,6 +934,7 @@ pub fn openatZ(dir_fd: fd_t, file_path: [*:0]const u8, flags: u32, mode: mode_t) |
| 931 | EPERM => return error.AccessDenied, | 934 | EPERM => return error.AccessDenied, |
| 932 | EEXIST => return error.PathAlreadyExists, | 935 | EEXIST => return error.PathAlreadyExists, |
| 933 | EBUSY => return error.DeviceBusy, | 936 | EBUSY => return error.DeviceBusy, |
| | 937 | EOPNOTSUPP => return error.FileLocksNotSupported, |
| 934 | else => |err| return unexpectedErrno(err), | 938 | else => |err| return unexpectedErrno(err), |
| 935 | } | 939 | } |
| 936 | } | 940 | } |