From: Ralph Boehme Date: Wed, 5 Dec 2012 12:06:27 +0000 (+0100) Subject: Ensure CNID info is set in metadata X-Git-Url: https://arthur.barton.de/gitweb/?p=netatalk.git;a=commitdiff_plain;h=c998e57a52c29a5952385b818c1fcd0e6dd54059 Ensure CNID info is set in metadata --- diff --git a/etc/afpd/file.c b/etc/afpd/file.c index bc336a4e..8036c300 100644 --- a/etc/afpd/file.c +++ b/etc/afpd/file.c @@ -980,6 +980,12 @@ int setfilparams(const AFPObj *obj, struct vol *vol, isad = 0; } else if ((ad_get_MD_flags( adp ) & O_CREAT) ) { ad_setname(adp, path->m_name); + cnid_t id; + if ((id = get_id(vol, adp, &path->st, curdir->d_did, upath, strlen(upath))) == CNID_INVALID) { + LOG(log_error, logtype_afpd, "afp_createfile(\"%s\"): CNID error", upath); + return AFPERR_MISC; + } + (void)ad_setid(adp, path->st.st_dev, path->st.st_ino, id, curdir->d_did, vol->v_stamp); } bit = 0;