[squeak-dev] [ANN] Filesystem 1.0

Colin Putney cputney at wiresong.ca
Sat Nov 21 05:55:42 UTC 2009


On 20-Nov-09, at 9:05 PM, Eliot Miranda wrote:

> I wonder how useful that distinction is.  Remember in unix different  
> filesystems can occur within the same namespace, e.g. mounting  
> something on /usr or /home or /mnt etc.  Even though the Windows  
> drive letters do map to different file systems they are still a  
> single namespace.  Yes there will be operations that will fail  
> across file systems (rename) but there will still be operations  
> within the same filesystem that will fail (e.g. copy to a write- 
> protected directory entry).

I think the distinction is useful in practice. In unix, yes, you can  
have separate filesystems mounted inside the global root. But that's a  
pretty low-level detail. Unless he uses some pretty obscure commands,  
the mount points are hidden. But on Windows, the separate filesystem  
are presented to the user. For example, each drive has it's own  
current directory. You can use a path like C:plonk\feep and it'll be  
resolved relative to the current directory on C:. There's also the  
notion of the "current" drive," which is meaningless on Unix, but  
pretty basic on Windows.

> If FSReference can be done without and added as a whistle for  
> special purpose use then all the better.  Something minimal,  
> effective and easy to use is the sweet spot.

FSReference wasn't created for dealing with multiple filesystems on  
Windows; I find it quite useful on the Mac. It's sugar, sure.  
Collapsing two objects into one may seem like small gain, but it  
actually makes things a lot simpler... YMMV.

> BTW, one thing that always frustrated me about the VW implementation  
> was not being able to proceed through certain exceptions.  The  
> classic example is implementing find in the presence of unreadable  
> directories where you want to be able to proceed across the read  
> protect rather than aborting the entire find.  i.e. there's some  
> utility on a path such as allChildrenDo: upon which is built find  
> like facilities.  At the find client level one wants to be able to  
> wrap an exception handler around the allChildrenDo: invocation that  
> will e.g. report errors to the transcript but proceed without  
> aborting.

Ah, interesting. I'll look into that too.

Colin





More information about the Squeak-dev mailing list