From: Marek S. <ma...@st...> - 2003-06-11 16:08:28
Attachments:
asfs_patch.diff
|
Hi! I had some time and I wrote a linux driver for Amiga SFS (SmartFileSystem). I named it asfs file system. It is a very simple read-only driver, but IT WORKS! Now everybody could be able to read their data from SFS partitions! This patch is against 2.4.18 apus tree (last working on my system), but can be also applied on other trees. I also checked it on my x86 laptop - 2.4.20 tree from kernel.org. In a few days I will prepare a patch against 2.2.10 apus tree. Sorry for some debugging mess in the source, but this ISN'T a final version of it. I decided to post it here, because it works quite well and is almost finished. The only problem with this driver is that all files listed by "ls" have "question mark" near the permission. I think that I forgot to set-up something, but can't figure out what is missing. On http://march.home.staszic.waw.pl/asfs/ there is a sample image of AmigaSFS disk. Besides that everything is okay and files can be read without problems, even on little endian system like x86. On that page there is also a compiled module for Linux/APUS. Put it in /lib/modules/2.4.18/kernel/fs/asfs/ Any comments? Does it work on your system? Is it worth trying to add this file system to official Linux kernel tree? Can somebody check if it works on Linux/m68k and other "strange" linux systems? Regards -- Marek Szyprowski .. GG:2309080 .. mailto:ma...@am... .. ...... happy AmigaOS, MacOS and Debian/Linux user ........ ........... http://march.home.staszic.waw.pl/ ............ |
From: Marek S. <ma...@st...> - 2003-06-14 23:10:51
Attachments:
asfs_patch_0.2beta.diff
|
Hi! This this is the second version of my linux Amiga Smart File System driver. I've fixed some bugs, cleaned up the code and added some features. On http://march.home.staszic.waw.pl/asfs/ there is a sample image of AmigaSFS disk for testing, patch against the previous version and a compiled module for 2.4.18 kernel (put it in "/lib/modules/2.4.18/kernel/fs/asfs/"). Now its almost full-featured, working read-only driver. :) As I've written before: Any comments? Does it work on your system? Could it be added to the APUS tree? Is it worth trying to add this file system to official Linux kernel tree? Can somebody check if it works on Linux/m68k and other "strange" linux systems? Regards -- Marek Szyprowski .. GG:2309080 .. mailto:ma...@am... .. ...... happy AmigaOS, MacOS and Debian/Linux user ........ ........... http://march.home.staszic.waw.pl/ ............ |
From: Michel <mi...@da...> - 2003-06-15 10:22:07
|
On Sun, 2003-06-15 at 02:03, Marek Szyprowski wrote: > > This this is the second version of my linux Amiga Smart File System driver. > I've fixed some bugs, cleaned up the code and added some features. > > On http://march.home.staszic.waw.pl/asfs/ there is a sample image of > AmigaSFS disk for testing, patch against the previous version and a compiled > module for 2.4.18 kernel (put it in "/lib/modules/2.4.18/kernel/fs/asfs/"). > > Now its almost full-featured, working read-only driver. :) > > As I've written before: > > Any comments? Does it work on your system? > > Could it be added to the APUS tree? Let us know your sf.net user ID if you'd like to get CVS access. -- Earthling Michel Dänzer \ Debian (powerpc), XFree86 and DRI developer Software libre enthusiast \ http://svcs.affero.net/rm.php?r=daenzer |
From: Marek S. <ma...@st...> - 2003-06-15 16:55:14
|
Hello Michel On 15.06.03, you wrote: > Let us know your sf.net user ID if you'd like to get CVS access. My sf.net id is march123, but if you could, please commit my changes. The only internet connection I have is though the modem and under 2.4.x kernels there is no HyperCOM/Port serial drivers. Because of that I use internet connection only under AmigaOS. The second thing is that CVS under AmigaOS is terribly slow and I don't what to move whole kernel tree to FFS partition. Maybe this will change in the next few months, when I will get a wireless-modem-based internet connection. Regards -- Marek Szyprowski .. GG:2309080 .. mailto:ma...@am... .. ...... happy AmigaOS, MacOS and Debian/Linux user ........ ........... http://march.home.staszic.waw.pl/ ............ |
From: Michel <mi...@da...> - 2003-06-15 23:15:13
|
On Sun, 2003-06-15 at 19:49, Marek Szyprowski wrote: > > On 15.06.03, you wrote: > > > Let us know your sf.net user ID if you'd like to get CVS access. > > My sf.net id is march123, but if you could, please commit my changes. I'll let Roman decide how he wants to proceed. > The only internet connection I have is though the modem and under 2.4.x > kernels there is no HyperCOM/Port serial drivers. Because of that I use > internet connection only under AmigaOS. The second thing is that CVS under > AmigaOS is terribly slow and I don't what to move whole kernel tree to FFS > partition. You only need to check out the files you want to commit. -- Earthling Michel Dänzer \ Debian (powerpc), XFree86 and DRI developer Software libre enthusiast \ http://svcs.affero.net/rm.php?r=daenzer |
From: Roman Z. <zi...@li...> - 2003-06-28 22:50:53
|
Hi, On Sun, 15 Jun 2003, Marek Szyprowski wrote: > My sf.net id is march123, but if you could, please commit my changes. I added you as a developer, as Michel mentioned you only need to checkout the files you need. bye, Roman |
From: Roman Z. <zi...@li...> - 2003-06-15 19:22:14
|
Hi, Marek Szyprowski wrote: > This this is the second version of my linux Amiga Smart File System driver. > I've fixed some bugs, cleaned up the code and added some features. > > On http://march.home.staszic.waw.pl/asfs/ there is a sample image of > AmigaSFS disk for testing, patch against the previous version and a compiled > module for 2.4.18 kernel (put it in "/lib/modules/2.4.18/kernel/fs/asfs/"). > > Now its almost full-featured, working read-only driver. :) Nice work. :-) I only have some minor comments: - could you get rid of the LONG/WORD/.. typedefs and replace them with s32/s16? - wrap the access to asfs_inode_info/asfs_sb_info into macros, this will make it easier to port to 2.5/6. - could you place the braces according to the coding style? - you likely want to implement a get_block function like other file systems do instead of implementing the readpage function. - it's probably also better to avoid the from32be/from16be macros and convert the values as needed. bye, Roman |
From: Marek S. <ma...@st...> - 2003-06-17 11:11:41
|
Hello Roman On 15.06.03, you wrote: > Nice work. :-) Thanks ;) > I only have some minor comments: > - could you get rid of the LONG/WORD/.. typedefs and replace them with > s32/s16? Done > - wrap the access to asfs_inode_info/asfs_sb_info into macros, this will > make it easier to port to 2.5/6. Same as in for example AFFS driver? > - could you place the braces according to the coding style? Done, altough the previous version was more leggible for me... > - you likely want to implement a get_block function like other file > systems do instead of implementing the readpage function. I implemented this, but... The new version is terribly slow! Kernel waits few second before it reads almost every single block! I don't know where is the problem. My routines are simmilar to the routines used in other file systems (I based on AFFS driver). I thinks that I forgot to set-up something, but I don't know what. Could you help me finding the bug? > - it's probably also better to avoid the from32be/from16be macros and > convert the values as needed. Is it really the problem? I decided to correct all values in reading functions, so the other functions do not need to care wheather the values are in big or little endian... Regards -- Marek Szyprowski .. GG:2309080 .. mailto:ma...@am... .. ...... happy AmigaOS, MacOS and Debian/Linux user ........ ........... http://march.home.staszic.waw.pl/ ............ |
From: Roman Z. <zi...@li...> - 2003-06-28 21:26:06
|
Hi, (Sorry for the delay, I was ill for a few days last week.) Marek Szyprowski wrote: > > - wrap the access to asfs_inode_info/asfs_sb_info into macros, this will > > make it easier to port to 2.5/6. > > Same as in for example AFFS driver? Yes, in 2.5 you'll find this in pretty much every driver. > > - you likely want to implement a get_block function like other file > > systems do instead of implementing the readpage function. > > I implemented this, but... The new version is terribly slow! Kernel waits > few second before it reads almost every single block! I don't know where is > the problem. My routines are simmilar to the routines used in other file > systems (I based on AFFS driver). I thinks that I forgot to set-up > something, but I don't know what. Could you help me finding the bug? I had the time now to play a little with and you need to add the sync_page function to asfs_aops, otherwise the I/O is started rather randomly. > > - it's probably also better to avoid the from32be/from16be macros and > > convert the values as needed. > > Is it really the problem? I decided to correct all values in reading > functions, so the other functions do not need to care wheather the values > are in big or little endian... It makes further development simpler, at some point you have to remove it anyway. First, it makes reading the source easier, if one knows which structures are on disk and which are in memory and each should be in its native order. Right now you don't cache any data, but as soon as you do that, you will need separate structures to cache disk data. It becomes even more important, if you want to add write support. I'll commit a version with a few small fixes. Here a few more things I noticed while going over the driver: - You should read the inode via the read_inode2 function (use iget4 and you can pass it the fsObject), this avoids creating inodes with duplicate inode numbers. - asfs_search_BNodeTree shouldn't return structures, use a pointer and return a proper error value instead. - if asfs is case-insensitive, you'll probably want to add dentry_operations similiar to affs. - please make the lines shorter, they don't have to be exactly 80 characters, but it's a good goal. bye, Roman |
From: Alan B. <A.L...@lb...> - 2003-06-20 08:15:24
|
hi, > > This this is the second version of my linux Amiga Smart File System driver. > I've fixed some bugs, cleaned up the code and added some features. > > On http://march.home.staszic.waw.pl/asfs/ there is a sample image of > AmigaSFS disk for testing, patch against the previous version and a compiled > module for 2.4.18 kernel (put it in "/lib/modules/2.4.18/kernel/fs/asfs/"). > > Now its almost full-featured, working read-only driver. :) > > As I've written before: > > Any comments? Does it work on your system? > > Could it be added to the APUS tree? > > Is it worth trying to add this file system to official Linux kernel tree? > > Can somebody check if it works on Linux/m68k and other "strange" linux > systems? I havent yet tested this (my current partitions are PFS3) but great job!! I dont see why it cant be added to the APUS tree....as it currently stands it can be added under the filesystems menu as an EXPERIMENTAL - which is the usual way of doing things. for 68k stuff, the 68k folks are the ones to talk to...i'm sure Geert would like someone to talk to :-) Alan |
From: Geert U. <ge...@li...> - 2003-06-20 11:40:32
|
On Fri, 20 Jun 2003, Alan Buxey wrote: > > This this is the second version of my linux Amiga Smart File System driver. > > I've fixed some bugs, cleaned up the code and added some features. > > > > On http://march.home.staszic.waw.pl/asfs/ there is a sample image of > > AmigaSFS disk for testing, patch against the previous version and a compiled > > module for 2.4.18 kernel (put it in "/lib/modules/2.4.18/kernel/fs/asfs/"). > > > > Now its almost full-featured, working read-only driver. :) > > > > As I've written before: > > > > Any comments? Does it work on your system? > > > > Could it be added to the APUS tree? > > > > Is it worth trying to add this file system to official Linux kernel tree? > > > > Can somebody check if it works on Linux/m68k and other "strange" linux > > systems? > > I havent yet tested this (my current partitions are PFS3) but great job!! > > I dont see why it cant be added to the APUS tree....as it currently > stands it can be added under the filesystems menu as an EXPERIMENTAL > - which is the usual way of doing things. for 68k stuff, the 68k folks are > the ones to talk to...i'm sure Geert would like someone to talk to :-) It applied to the current Linux/m68k 2.4.21 with only one minor reject, and it compiles fine on m68k (both builtin and modular), so I checked it in in Linux/m68k CVS: | Reply-To: lin...@li... | To: lin...@li... | Subject: CVS Update: linux (branch: m68k-2_4) | | Log message: | Add experimental read-only support for the Amiga SFS (SmartFileSystem), from | Marek Szyprowski <ma...@st...> on linux-apus-devel | | | Modified files: | linux/Documentation/filesystems: | 00-INDEX | linux/Documentation: | Configure.help | linux/fs: | Config.in Makefile | linux/include/linux: | fs.h | Added files: | linux/Documentation/filesystems: | asfs.txt | linux/include/linux: | asfs_fs.h asfs_fs_i.h asfs_fs_sb.h | linux/fs/asfs: | Makefile inode.c Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@li... In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds |
From: Marek S. <ma...@st...> - 2003-06-15 15:54:56
Attachments:
asfs_patch_0.2beta-2.2.10.diff
|
Hi! As I had promised, I made my Amiga SFS linux driver working under 2.2.10 kernel. The kernel patch is included as an attachment. On the asfs homepage (http://march.home.staszic.waw.pl/asfs/ or http://www.staszic.waw.pl/~march/asfs/) there is also a compiled module for 2.2.10 kernel. Regards -- Marek Szyprowski .. GG:2309080 .. mailto:ma...@am... .. ...... happy AmigaOS, MacOS and Debian/Linux user ........ ........... http://march.home.staszic.waw.pl/ ............ |
From: Roberto R. <r.r...@li...> - 2003-06-13 18:08:04
|
On Wed, 11 Jun 2003 17:01:40 +0100 Marek Szyprowski <ma...@st...> wrote: > I had some time and I wrote a linux driver for Amiga SFS (SmartFileSystem). > I named it asfs file system. It is a very simple read-only driver, but > IT WORKS! Now everybody could be able to read their data from SFS > partitions! Good. No one thought about AFS/PFS yet? I think good documentation about the on disk format is available. This would enable Amiga users to read their Amiga partitions on an x86 system, whichever filesystem they were formatted with. -- Roberto Ragusa r.ragusa at libero.it |