Newsgroups: comp.os.minix
From: torva...@klaava.Helsinki.FI (Linus Torvalds)
Date: Wed, 23 Dec 1992 13:13:13 GMT
Local: Wed, Dec 23 1992 8:13 am
Subject: Re: Long filenames
In article <a75d0...@mtlookitthat.chi.il.us> chan...@mtlookitthat.chi.il.us (Chris Hanson) writes: The problem shouldn't be so much the kernel as all the binaries you are >Hi! Can anyone point me to some info (or tell me themselves) on how to >implement long filenames for minix? [I know someone's done it -- one >of the dudes in the 'MINIX vs LINUX' discussion mentioned it.] I'm >thinking that 30 chars or 62 chars shouldn't be that hard (we'd be >keeping a dir_entry at an even multiple of 16 bytes), but I know it'll >involve more than just recompiling the kernel with MAX_NAME changed. using: changing the directory structure will break everything that reads directory entries - this includes important binaries like 'ls' (obviously), the shell (for filename globbing, name completion etc), 'make', etc. >Will I need to make new filesystems and move everything to them? Or is I'd go for the compatability hack: creating a new filesystem from >a compatibility hack (such as puting an optional fstype flag or a >different magic number in a device's superblock to tell whether it has >long or standard pathnames) trivial? scratch for the new kernel is simply too painful (as well as making debugging pretty mcuh impossible... much easier to start off with just one partition with the extended setup, and test out all the new binaries on that one first). I'd also suggest you add a "readdir()" system call while you are at it, which checks the magic number and returns the correct type of directory entry. That way binaries compiled to use it will be able to function correctly on both the new and old type of filesystem. There are a couple of alternatives you could do: (a) go for a complete vfs (virtual filesystems) interface. This would (b) do the long filenames by fooling around with several consecutive The directory entries in (b) could be made to work by using a magic file "really_long_name", use '\000\377' as continuation marker: .word inode_number This can be extended to any filename length, and old programs will see Linus You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
| ||||||||||||||