the size of a symlink should be the length of its target, some tools like bsdtar seem to actually rely on this information for allocating buffers..
Signed-off-by: Fabian Grünbichler <f.gruenbich...@proxmox.com> --- Notes: should apply to master and stable-bookworm, and can IMHO go into both.. src/pmxcfs/cfs-plug-link.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/pmxcfs/cfs-plug-link.c b/src/pmxcfs/cfs-plug-link.c index d4eedfc..573db4d 100644 --- a/src/pmxcfs/cfs-plug-link.c +++ b/src/pmxcfs/cfs-plug-link.c @@ -55,8 +55,16 @@ static int cfs_plug_link_getattr(cfs_plug_t *plug, const char *path, struct stat cfs_debug("enter cfs_plug_link_getattr %s", path); + int ret = -EACCES; + + cfs_plug_link_t *lnk = (cfs_plug_link_t *)plug; + if (!lnk->symlink) { + goto ret; + } + memset(stbuf, 0, sizeof(struct stat)); + stbuf->st_size = strlen(lnk->symlink); if (cfs_is_quorate()) { stbuf->st_mode = S_IFLNK | 0777; } else { @@ -65,7 +73,10 @@ static int cfs_plug_link_getattr(cfs_plug_t *plug, const char *path, struct stat stbuf->st_nlink = 1; - return 0; + ret = 0; + +ret: + return ret; } static int cfs_plug_link_readlink(cfs_plug_t *plug, const char *path, char *buf, size_t max) { -- 2.39.5 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel