osi_LogSaveString(afsd_logp,cellname),
osi_LogSaveString(afsd_logp,volume), rw ? "rw" : "ro");
if (cellname[0] == '.') {
- if (!cm_GetCell_Gen(&cellname[1], &fullname[1], CM_FLAG_CREATE))
+ if (!cm_GetCell_Gen(&cellname[1], fullname, CM_FLAG_CREATE))
return -1;
- fullname[0]='.';
} else {
if (!cm_GetCell_Gen(cellname, fullname, CM_FLAG_CREATE))
return -1;
else { /* nonexistent dir on freelance root, so add it */
osi_Log1(afsd_logp,"cm_Lookup adding mount for non-existent directory: %s",
osi_LogSaveString(afsd_logp,namep));
- code = cm_FreelanceAddMount(namep, namep, "root.cell.", 0, &rock.fid);
+ code = cm_FreelanceAddMount(namep, namep, "root.cell.", namep[0] == '.', &rock.fid);
if (code < 0) { /* add mount point failed, so give up */
if (flags & CM_FLAG_CHECKPATH)
return CM_ERROR_NOSUCHPATH;