2009/11/18 Ingo Weinhold <ingo_weinhold@xxxxxx> > > On 2009-11-18 at 04:05:59 [+0100], Michael Franz <mvfranz@xxxxxxxxx> > wrote: > > > > I was cleaning up my hard drive and found a pdf of 'Practical File System > > Design:The Be File System, Dominic Giampaolo'. [1] On page 174 it > discusses > > why BFS does not support hard links or why it does not implement link(). > > > > "The link() function is not implemented by BFS or any of the other file > > systems that currently exist on the BeOS. The primary reason for not im- > > plementing hard links is that at the time BFS was being written, the C++ > > user-level file API was not prepared to deal with them. There was no time > to > > modify the C++ API to offer support for them, and so we felt that it > would > > be better not to implement them in the file system (to avoid confusion > for > > programmers). The case is not closed, however, and should the need arise, > we > > can extend the C++ API to better support hard links and modify BFS to > > implement them." > > > > Is this the same reason Haiku's implementation of BFS does not support > hard > > links? > > Haiku's BFS implementation is on-disk compatible with Be's and to my > knowledge it's a limitation of the on-disk structure design that prevents > hard links from being possible. > > Not sure what exactly Dominic had in mind with "there was no time to > modify the C++ API to offer support for them". IMO the only thing needed is > the functionality to create them (e.g. a BDirectory::CreateLink()), which > would be trivial to implement. The POSIX link() function is implemented (in > BeOS and Haiku) and works as expected on file systems that support > hardlinks. > > CU, Ingo > > For what it's worth, it's probably time to avoid R5 compatibility on some things - I know it's not scheduled until R2 but sometimes I think Haiku is still cloning and old '90s OS... Just my 0.5 cents -- Some companies die Be's beauty lives forever in immortal rhyme