Hi Enrico,
The function works if I rewrite get_f_node() in the following way:
...
for(i = 0; i NFILES; i++)
...
if(f_nodes[i].f_count == 0)
...
return f_nodes[i];
...
This was the implementation present in the source tree four years ago.
The difference in the current
Hi Eric,
The difference in the current implementation is that we now
have a cache with two near fnodes in the kernel data
segment. That way, fewer far pointers are needed, but
several functions got more complicated. For example
get_f_node. The other difference is that
you use NFILES
Hi Enrico,
[after] dos_cd (C:\hello\world);
dos_open (C:\hello\world\my_file.txt, O_RDWR | O_CREAT, 0); [ok]
dos_open (my_file.txt, O_RDWR | O_CREAT, 0); [fails]
As discussed earlier, dos_open is a bit lowlevel if you look
at DosOpenSft, you will find that it calls truename. The truename