From owner-freebsd-hackers Tue Dec 23 08:14:35 1997 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.7/8.8.7) id IAA17136 for hackers-outgoing; Tue, 23 Dec 1997 08:14:35 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from watermarkgroup.com (luoqi.watermarkgroup.com [207.202.73.170]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id IAA16688 for ; Tue, 23 Dec 1997 08:09:24 -0800 (PST) (envelope-from luoqi@watermarkgroup.com) Received: (from luoqi@localhost) by watermarkgroup.com (8.8.8/8.8.7) id LAA01641; Tue, 23 Dec 1997 11:07:31 -0500 (EST) (envelope-from luoqi) Date: Tue, 23 Dec 1997 11:07:31 -0500 (EST) From: Luoqi Chen Message-Id: <199712231607.LAA01641@watermarkgroup.com> To: dima@tejblum.dnttm.rssi.ru Subject: Re: msdosfs win95 long file name support Cc: hackers@FreeBSD.ORG Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk > > I wrote: > > > > > > Their long file name support is not very well designed too. For instance, > > > if we are to create a file with long file name, we need to find a unique > > > 8.3 name. The logical place is to do that is in the lookup code, where we > > > traverse the whole directory. NetBSD's code instead does that in vnops code, > > > which means that you need to go through the directory TWICE. This is a > > > Bad Thing(TM) if the directory is very large (say, windows/system :) > > > > Oh, indeed, your way seems much better than the NetBSD's. Congratulations. > > On second thought... After 'touch AAAAA~1' and 'touch AA~99999' you will > unable to create any long filename started with 'aa'. I am not sure if it is a > Good Thing(TM). > > (Also, my windows/system is not very large. It is only 1 cluster in length :) Dima, don't be so cynical. I think technically my solution is better, there's still room for improvement though. The problem you mentioned could be easily remedied by a bitmap. I didn't do this because I wanted to focus on more important issues. After those are working correctly, then I can deal with lesser issues like this one. There is another feature I programmed in which is (arguably) quite desirable. It allows you to change a filename to one that differs only by the case of some of the letters. For example, mv README Readme. You cannot do this in NetBSD's code (I didn't try this, just by reading their code, so I could be wrong). Of course, you can always do, mv README r; mv r Readme. > > Dima > > -lq