fd = fcache_open_file (child_entry, O_WRONLY | O_CREAT | O_TRUNC, 0666);
fd = fcache_open_file (child_entry, O_WRONLY);
create_file (FCacheEntry *dir_entry,	     const char *name, AFSStoreStatus *store_attr,	     VenusFid *child_fid, AFSFetchStatus *fetch_attr,	     CredCacheEntry *ce){    int ret = 0;    ConnCacheEntry *conn;    AFSFid OutFid;    FCacheEntry *child_entry;    AFSFetchStatus status;    AFSCallBack callback;    AFSVolSync volsync;    int fd;    assert (CheckLock(&dir_entry->lock) == -1);    conn = findconn (dir_entry, ce);    if (conn == NULL)	return ENETDOWN;    ret = RXAFS_CreateFile (conn->connection,			    &dir_entry->fid.fid,			    name,			    store_attr,			    &OutFid,			    fetch_attr,			    &status,			    &callback,			    &volsync);    if (ret) {	arla_warn (ADEBFCACHE, ret, "CreateFile");	goto out;    }    update_entry (dir_entry, &status, &callback, &volsync,		  rx_HostOf (rx_PeerOf (conn->connection)),		  ce->cred);    child_fid->Cell = dir_entry->fid.Cell;    child_fid->fid  = OutFid;    ret = fcache_get (&child_entry, *child_fid, ce);    if (ret) {	arla_warn (ADEBFCACHE, ret, "fcache_get");	goto out;    }    update_entry (child_entry, fetch_attr, NULL, NULL,		  rx_HostOf (rx_PeerOf (conn->connection)),		  ce->cred);    child_entry->flags.attrp = TRUE;    child_entry->flags.kernelp = TRUE;    fd = fcache_open_file (child_entry, O_WRONLY | O_CREAT | O_TRUNC, 0666);    if (fd < 0) {	ret = errno;	arla_warn (ADEBFCACHE, ret, "open cache file %u",		   (unsigned)child_entry->inode);	ReleaseWriteLock (&child_entry->lock);	goto out;    }    close (fd);    child_entry->flags.datap = TRUE;    child_entry->tokens |= XFS_ATTR_R | XFS_DATA_R | XFS_DATA_W;	    ReleaseWriteLock (&child_entry->lock);out:    conn_free (conn);    return ret;}