shiftraodd
1e2412e502
fix: enforce XATTR_REPLACE semantics in setxattr ( #10059 )
...
* 修复weedfs_xattr.go 中 XATTR_REPLACE 语义缺失
* mount: fix XATTR_CREATE/XATTR_REPLACE flag semantics in setxattr
XATTR_CREATE fell through into the XATTR_REPLACE branch: creating a new
attribute hit the empty-oldData guard and returned ENODATA instead of
creating it, while creating over an existing attribute silently succeeded
without the EEXIST that setxattr(2) requires. Drop the fallthrough chain
so CREATE returns EEXIST when the attribute already exists, REPLACE
returns ENODATA when it is missing, and otherwise the value is written.
Test existence via the map lookup so an attribute with an empty value is
still treated as present.
---------
Co-authored-by: 王郁文 <wangyuwen@cmict.chinamobile.com >
Co-authored-by: Chris Lu <chris.lu@gmail.com >
2026-06-23 01:31:14 -07:00
..
2026-06-19 09:19:35 -07:00
2026-05-06 15:26:56 -07:00
2026-02-20 18:42:00 -08:00
2026-04-16 15:51:13 -07:00
2026-04-20 00:31:37 -07:00
2026-04-20 00:31:37 -07:00
2026-05-18 01:02:58 -07:00
2026-06-16 16:47:59 -07:00
2026-06-16 16:47:59 -07:00
2026-03-23 13:35:16 -07:00
2026-04-08 15:55:06 -07:00
2026-03-30 18:25:11 -07:00
2026-03-30 18:25:11 -07:00
2026-03-07 09:19:40 -08:00
2026-04-13 18:40:57 -07:00
2026-01-07 13:06:08 -08:00
2026-06-16 16:47:59 -07:00
2026-03-24 11:43:25 -07:00
2026-04-20 00:31:37 -07:00
2026-06-16 09:16:24 -07:00
2026-06-16 09:16:24 -07:00
2026-04-16 00:44:24 -07:00
2026-04-18 20:03:34 -07:00
2026-04-18 20:03:34 -07:00
2026-04-18 21:42:36 -07:00
2026-04-18 21:42:36 -07:00
2026-04-18 21:42:36 -07:00
2026-04-18 20:18:38 -07:00
2026-04-18 20:18:38 -07:00
2026-04-18 20:18:38 -07:00
2026-04-19 00:53:12 -07:00
2026-05-24 23:49:41 -07:00
2026-04-18 20:18:38 -07:00
2026-04-19 00:53:12 -07:00
2026-04-18 20:03:45 -07:00
2026-04-18 20:03:45 -07:00
2026-04-18 20:03:45 -07:00
2026-04-18 20:03:45 -07:00
2026-05-01 19:51:27 -07:00
2026-05-01 19:51:27 -07:00
2026-04-03 16:04:27 -07:00
2026-06-18 17:38:28 -07:00
2026-06-18 17:38:28 -07:00
2026-06-18 17:38:28 -07:00
2026-03-25 20:06:34 -07:00
2026-01-06 10:50:54 -08:00
2026-01-06 10:50:54 -08:00
2026-01-06 10:50:54 -08:00
2026-05-24 23:49:41 -07:00
2026-05-24 23:49:41 -07:00
2026-04-16 00:44:24 -07:00
2026-04-23 19:17:35 -07:00
2026-04-23 19:17:35 -07:00
2026-03-29 13:33:17 -07:00
2026-03-29 13:33:17 -07:00
2026-04-13 22:39:50 -07:00
2026-06-02 14:43:46 -07:00
2026-04-16 11:37:52 -07:00
2026-05-24 23:56:37 -07:00
2026-05-24 23:56:37 -07:00
2026-01-06 10:50:54 -08:00
2026-06-18 17:38:28 -07:00
2026-04-23 19:17:35 -07:00
2026-01-06 10:50:54 -08:00
2026-04-16 03:33:08 -07:00
2026-05-24 23:56:37 -07:00
2026-05-08 12:37:23 -07:00
2026-04-10 09:52:16 -07:00
2026-06-02 14:43:46 -07:00
2026-01-07 13:06:08 -08:00
2026-04-23 19:17:35 -07:00
2026-05-08 12:37:23 -07:00
2026-05-19 20:47:52 -07:00
2026-05-24 23:56:37 -07:00
2026-05-25 01:02:45 -07:00
2026-01-07 13:06:08 -08:00
2025-12-17 01:14:01 -08:00
2026-03-29 13:33:17 -07:00
2026-04-23 19:17:35 -07:00
2026-04-10 16:19:09 -07:00
2026-03-25 20:06:34 -07:00
2026-04-10 13:05:48 -07:00
2026-04-23 19:17:35 -07:00
2026-03-24 11:43:41 -07:00
2026-04-15 14:06:06 -07:00
2026-06-19 10:29:28 -07:00
2026-01-06 10:50:54 -08:00
2026-04-28 23:54:35 -07:00
2026-06-23 01:31:14 -07:00
2026-06-16 14:59:13 -07:00
2026-06-01 15:11:02 -07:00
2026-04-23 19:17:35 -07:00
2026-04-23 19:17:35 -07:00