ret.res = -1 ; ret.error = EPERM ;
ret.res   = -1; ret.error = error;
cm_close (VenusFid fid, int flag, CredCacheEntry* ce){    FCacheEntry *entry;    Result ret;    int error;    error = fcache_get (&entry, fid, ce);    if (error) {	ret.res = -1;	ret.error = error;	return ret;    }    if (flag & XFS_WRITE) {	error = write_data (entry, ce);	if (error) {	    ReleaseWriteLock (&entry->lock);	    arla_warn (ADEBCM, error, "writing back file");	    ret.res = -1 ;	    ret.error = EPERM ;	    return ret;	}    }    log_operation ("close (%ld,%lu,%lu,%lu) %d\n",	     fid.Cell, fid.fid.Volume, fid.fid.Vnode, fid.fid.Unique,	     flag);    ReleaseWriteLock (&entry->lock);    ret.res = 0;    return ret;}