X-Git-Url: https://arthur.barton.de/gitweb/?p=netatalk.git;a=blobdiff_plain;f=libatalk%2Fvfs%2Fea_sys.c;h=91e13e36ef69ea8074d7d23cd35e3b225ffeff02;hp=374248bc8a9e4696eedf28519aeeec5a80fa7761;hb=70e3fcd8744752d6de0b93d089f41c28dca30bde;hpb=ff117107526219d5ce89d5ff683eddd414e40293 diff --git a/libatalk/vfs/ea_sys.c b/libatalk/vfs/ea_sys.c index 374248bc..91e13e36 100644 --- a/libatalk/vfs/ea_sys.c +++ b/libatalk/vfs/ea_sys.c @@ -313,8 +313,13 @@ int sys_set_ea(VFS_FUNC_ARGS_EA_SET) LOG(log_debug, logtype_afpd, "sys_set_ea(\"%s/%s\", ea:'%s'): EA already exists", getcwdpath(), uname, attruname); return AFPERR_EXIST; + case ENOATTR: + case ENOENT: + if ((attr_flag & XATTR_REPLACE) && (vol->v_obj->afp_version >= 34)) + return AFPERR_NOITEM; + return AFPERR_MISC; default: - LOG(log_error, logtype_afpd, "sys_set_ea(\"%s/%s\", ea:'%s', size: %u, flags: %s|%s|%s): %s", + LOG(log_debug, logtype_afpd, "sys_set_ea(\"%s/%s\", ea:'%s', size: %u, flags: %s|%s|%s): %s", getcwdpath(), uname, attruname, attrsize, oflag & O_CREAT ? "XATTR_CREATE" : "-", oflag & O_TRUNC ? "XATTR_REPLACE" : "-",