3 ms·
> Maybe ‘pd’ is something like ‘prepare directory’, constructing the dd/dotdot entry. I think this is on the right track - it looks like the write call is to t
by Pete_D 7y ago
> Maybe ‘pd’ is something like ‘prepare directory’, constructing the dd/dotdot entry.
I think this is on the right track - it looks like the write call is to the newly created .., with df being used to hold the file descriptor.
- kazinator 7y agoBut the program appears to fail if dotdot can't be opened for reading, and it appears to scan through it doing reads first. Then it closes and does a creat, which is expected to succeed also. I'm suspecting that at this stage of development, open may have been used for reading and creat for writing (including to an existing file).
- kps 7y agoFrom TFS¹, creat() on an existing file truncates it (i.e. to length zero, as O_TRUNC), and only the superuser can do this to a directory. open() has read/write flag bits as now. I am leaning toward Pete_D's ‘pack directory’ idea. ¹ https://github.com/DoctorWkt/pdp7-unix/blob/e94417092a2980e758fd536a3d9f59fb168d5e54/src/sys/s2.s#L239 https://github.com/DoctorWkt/pdp7-unix/blob/e94417092a2980e7...