freenode/#mezzano - IRC Chatlog
Search
17:10:44
froggey
ok, I've got the filer issue figured out. as fittestbits__ pointed out the filer is incorrectly adding a :wild device component to the pathname when calling directory
17:10:55
froggey
this was a half-baked attempt to support hosts with multiple devices, separate devices should probably appear as distinct tabs, but there aren't any hosts that support devices so it doesn't matter in the end
17:11:12
froggey
a second issue is that the fat and ext4 implementations of directory-using-host are returning pathnames with this :wild device intact (returning wild pathnames like that from directory is a bug). the local & remote file systems always return pathnames with a nil device component
17:17:11
froggey
as for namestring parsing... I'm afraid that's a feature, deliberately quirky and occasionally annoying
17:17:29
froggey
it copied from the behaviour of the lisp machine, where namestrings kept the format of their original systems
17:17:42
froggey
that said, I'm not sure why fat & ext4 use > as the separator instead of \ and / respectively
17:18:28
fittestbits__
So, fat and ext4 directory-with host function should be changed to force the device to NIL rather than passing on the value from the argument to directory-with-host?
17:21:23
ebrasca
froggey: I talked with you about > , if rememver correctly it is because it is Genera style.
17:27:30
froggey
fittestbits__: right, though only if the device is :wild. since a wild device should obviously match against the nil device/no device
17:28:01
froggey
and other non-nil non-wild devices should not match anything, though this bit doesn't look like it's implemented in local/remote
17:28:28
froggey
ebrasca: that's why I picked > for local, which is intended to be the native file system
17:34:35
fittestbits__
I don't understand. The caller to d-u-h is passing in a pathname with device as :wild. Which d-u-h is keeping using the argument pathname as the default when constructing pathnames.
17:35:12
fittestbits__
So, if I force the device to be NIL when constructing the pathnames, I'll lose an actual device if one is passed in.
17:35:43
fittestbits__
So should d-u-h check for a :wild device explicitly and then override with NIL?
17:46:00
fittestbits__
Or maybe if d-u-h is called with :wild device, it should loop over all devices, which for FAT would be just the NIL device? Basically if device is :wild, create a new pathname with device NIL and use that for the defaults.
18:01:20
froggey
yes, that's what I was trying to get at. sorry for not being more clear (still afk)
20:42:38
froggey
fittestbits__: been thinking about sub-page-size physical allocation a bit, would a slab-style allocator work for USB? slab-style as in each pool only allocates one specific size of objects
20:52:07
fittestbits__
That's sort of what I implemented - when I create a buffer pool, I give it a set of block sizes. Then when I allocate a buffer a look for the smallest block size that's large enough to fit the buffer.
20:54:15
fittestbits__
I used sizes: 16 32 128 1024 and 4096 for USB 1 and 32 128 1024 and 4096 for USB 2.
21:06:22
froggey
doesn't quite match up with what I was thinking. each pool would have been for a single size, and code would have to know the appropriate pool to free to
22:43:32
ebrasca
fittestbits__: With this change I can read files with MED editor againg from Fat32 FS.