Vitaliy Filippov
5248d7f324
Fix 2 bugs in NFS-RDMA allocator, add a test for both
...
1) alloc() could add the region start into freelist instead of its free part
2) free() was merging freed buffers incorrectly both forward and backward
2026-06-19 02:08:41 +03:00
Vitaliy Filippov
938ac09248
Fix small shared file extend-write potentially reading unallocated memory
2026-06-17 12:36:04 +03:00
Vitaliy Filippov
3becdbf5b9
Add bounds checks to prevent uint32 overflows in NFS/XDR
2026-06-17 12:04:50 +03:00
Vitaliy Filippov
ef0e61be1b
Split and mock etcd_state_client_t for testing
2026-06-13 19:56:06 +03:00
Vitaliy Filippov
26fb08d7da
Change st_cli to pointer
2026-06-13 19:56:06 +03:00
Vitaliy Filippov
7f718feaf6
Fix alloc in nfs_portmap
2026-06-10 01:02:30 +03:00
Vitaliy Filippov
c16f955a51
Limit the amount of incoming data for NFS clients to prevent choking on memory
2026-06-06 13:56:20 +03:00
Vitaliy Filippov
1a511acead
Do not ignore nfs_do_fsync result
2026-05-30 15:58:46 +03:00
Vitaliy Filippov
c9dfd0f67d
Fix possible buffer overflow in NFS-RDMA
2026-05-18 01:17:56 +03:00
Vitaliy Filippov
4fffe0f032
Fix vitastor-nfs trace option
2026-04-20 21:51:47 +03:00
Vitaliy Filippov
dd85315f22
Update CMake supported versions
2026-03-30 02:06:10 +03:00
Vitaliy Filippov
637684c579
Fix chmod/chown of empty NFS root directory
2026-03-03 02:05:37 +03:00
Vitaliy Filippov
21cf5c8815
Fix optimized RMW at non-zero shared inode offset too
2025-12-21 12:05:06 +03:00
Vitaliy Filippov
bd6af0db09
Remove unused end_pad
2025-12-21 02:39:06 +03:00
Vitaliy Filippov
8860101e99
Fix optimized RMW in shared inodes at zero offset after disabling skip
2025-12-21 02:22:34 +03:00
Vitaliy Filippov
9a02a592e3
Do not skip RMW at the end of the file - skipping it may lead to data corruption ( fix #116 )
2025-12-20 18:34:20 +03:00
Vitaliy Filippov
76c7c26d32
Fix broken inode removal again (ACCESS will now allow root access to such inodes)
2025-11-29 19:30:20 +03:00
Vitaliy Filippov
d6b8d921d6
Daemonize before forking in NFS proxy to fix OSD RDMA support ( fix #107 )
2025-11-09 01:07:11 +03:00
Vitaliy Filippov
89b76a87b6
Fix root access to VitastorFS files
2025-10-09 19:24:05 +03:00
ston3lu and Vitaliy Filippov
1ad6933953
Fix uninitialized variable in nfstime
...
https://github.com/vitalif/vitastor/pull/95
By submitting this pull request, I accept Vitastor CLA
2025-09-24 15:02:41 +03:00
ston3lu and Vitaliy Filippov
8a250f4fca
add proper handling of '.' and '..' in LOOKUP procedure
...
https://github.com/vitalif/vitastor/pull/95
By submitting this pull request, I accept Vitastor CLA
2025-09-24 15:02:41 +03:00
ston3lu and Vitaliy Filippov
94ddf20667
fix: refresh mtime after remove file
...
https://github.com/vitalif/vitastor/pull/95
By submitting this pull request, I accept Vitastor CLA
2025-09-24 15:02:41 +03:00
ston3lu and Vitaliy Filippov
5f18496c04
change delete operation to set for restoring direntry in nfs_kv_remove
...
https://github.com/vitalif/vitastor/pull/95
By submitting this pull request, I accept Vitastor CLA
2025-09-24 15:02:41 +03:00
Vitaliy Filippov
0be86a306d
Remove old liburing version support as it's now included
2025-08-24 16:55:58 +03:00
Vitaliy Filippov
fbf14fb0cb
Allow to enforce permissions at the server side
2025-08-24 16:20:19 +03:00
Vitaliy Filippov
fb1c3e00f4
Use default uid and gid from NFS AUTH_SYS when creating files
2025-08-24 16:03:40 +03:00
ston3lu and Vitaliy Filippov
d8332171e9
According to the NFSv3 protocol: Directory traversal should start with cookie '0' - "." entry as the first entry, cookie should be '0' - '.." entry as the second entry, cookie should be '1'
2025-08-24 14:44:48 +03:00
Vitaliy Filippov and Vitaliy Filippov
265127c1a7
Fix vitastor-nfs build without RDMA
2025-07-30 02:38:52 +03:00
Vitaliy Filippov
96b5a72630
Allow removal of bad direntries in VitastorFS (direntries referring non-existent inodes)
2025-05-01 01:14:23 +03:00
Vitaliy Filippov
ef80f121f6
Fix "duplicate inode during create" deletion in VitastorFS
2025-04-30 20:37:49 +03:00
Vitaliy Filippov
3cc0abfd81
Fix NFS total & free multiplied by extra 2
2025-04-12 19:09:26 +03:00
Vitaliy Filippov
5d2e28d4a9
Remove unused used_max_cqe from nfs_proxy_rdma
2025-03-30 02:13:24 +03:00
Vitaliy Filippov
819f1125ae
Support used_for_app instead of used_for_fs
2025-03-07 01:03:43 +03:00
Vitaliy Filippov
63b85b6bfb
Fix clang warnings/errors
2024-12-19 15:30:31 +03:00
Vitaliy Filippov
8a86c123c3
Allow to auto-select and print the port
2024-12-14 16:55:13 +03:00
Vitaliy Filippov
b856524e0c
Workaround for Linux bug: return post_op_attr for NFS-RDMA READ3
...
Linux NFS RDMA transport has a stupid bug - when the reply doesn't contain
post_op_attr, the data gets offsetted by 84 bytes (size of attributes) and
first 84 bytes are filled with probably random data.
2024-12-11 21:09:36 +03:00
Vitaliy Filippov
ae3ca7451f
Use per-connection RDMA device contexts
2024-12-11 21:09:36 +03:00
Vitaliy Filippov
1dbbb0c3f8
Implement NFS RDMA support
2024-12-11 21:09:36 +03:00
Vitaliy Filippov
76470686b3
Fix possibly incorrect linked list deserialization in NFS
2024-12-08 02:54:13 +03:00
Vitaliy Filippov
652ca631bb
Fix possible crash in nfs_block readdir
2024-12-01 18:04:49 +03:00
Vitaliy Filippov
a03508320e
Move json_is_true/json_is_false to json_util.cpp
2024-10-12 00:40:39 +03:00
Vitaliy Filippov
521e867b10
Run check_exit also on deferred stop. Now vitastor-nfs should finally always stop on umount
2024-08-11 00:05:20 +03:00
Vitaliy Filippov
333c54ebbf
Cleanup clients correctly during stop(). Was also affecting #67 , but could also reproduce during normal operation
2024-08-11 00:00:13 +03:00
Vitaliy Filippov
58d3da95c8
Fix github issue #67 by closing active NFS sockets before daemonize()
2024-08-10 20:13:37 +03:00
Vitaliy Filippov
b263d311ef
Use separate watch revisions for different watchers
2024-07-31 01:15:37 +03:00
Vitaliy Filippov
306a3db7f3
Rename VERSION define to VITASTOR_VERSION
2024-07-31 01:15:37 +03:00
Vitaliy Filippov
a4dfc220ab
Implement basic node.js binding (not published on npm yet)
2024-07-14 10:58:38 +03:00
Vitaliy Filippov
b4e9140755
Add defrag docs, fix trace message
2024-07-13 00:45:53 +03:00
Vitaliy Filippov
413959e75a
Prevent infinite loop in NFS - return EIO when an inode points to an incorrect volume position
2024-07-12 20:53:54 +03:00
Vitaliy Filippov
990c3ba7eb
Implement FS defragmentation
2024-07-12 16:11:35 +03:00