ISO filesystem support. - Minix

This is a discussion on ISO filesystem support. - Minix ; I'll try to learn the VFS API and implement some filesystem that Minix doesn't support yet (which for the moment are easy to find). Initially, I thought about FAT, mostly because it's the only FS whose data structures I know ...

+ Reply to Thread
Results 1 to 7 of 7

Thread: ISO filesystem support.

  1. ISO filesystem support.

    I'll try to learn the VFS API and implement some filesystem that Minix
    doesn't support yet (which for the moment are easy to find).

    Initially, I thought about FAT, mostly because it's the only FS whose data
    structures I know well. However, later I released that ISO support could be
    much more useful.
    For example, something that I released was that the instalation CD-ROM
    really has a MFS in it, which looks like a poor workaround.

    What's your opinion? I know nothing about how the ISO filesystem works
    internaly, with the exception that it only supports 8+3 filenames unless
    RockRidge or Joilet extensions are used. However, I can spend some time
    learning it.

    --
    João Jerónimo

    "Computer are composed of software, hardware, and other stuff terminated
    in "ware", like firmware, tupperware, (...)" - by JJ.

  2. Re: ISO filesystem support.

    Jo??o Jer??nimo wrote:
    > I'll try to learn the VFS API and implement some filesystem that Minix
    > doesn't support yet (which for the moment are easy to find).


    > Initially, I thought about FAT, mostly because it's the only FS whose data
    > structures I know well. However, later I released that ISO support could be
    > much more useful.
    > For example, something that I released was that the instalation CD-ROM
    > really has a MFS in it, which looks like a poor workaround.


    > What's your opinion? I know nothing about how the ISO filesystem works
    > internaly, with the exception that it only supports 8+3 filenames unless
    > RockRidge or Joilet extensions are used. However, I can spend some time
    > learning it.


    If you want to be a hero, try porting FUSE (http://fuse.sourceforge.net/).
    Not only will this add a nifty feature to MINIX (user-space file systems
    are nice!), but porting FUSE opens up a whole array of supported file
    systems.

    Regards,

    Jens


    --
    Jens de Smit
    Student Computer Science | Vrije Universiteit Amsterdam
    jfdsmit@few.vu.nl | http://www.few.vu.nl/~jfdsmit
    "[In the end, people] get furious at IT that the goddamn magic isn't working"
    -- Stewart Dean

  3. Re: ISO filesystem support.

    On Aug 27, 9:58*am, "J.F. de Smit" wrote:
    > If you want to be a hero, try porting FUSE (http://fuse.sourceforge.net/)..
    > Not only will this add a nifty feature to MINIX (user-space file systems
    > are nice!), but porting FUSE opens up a whole array of supported file
    > systems.


    I note that Fuse already supports FAT, NTFS and ext2 (partial). It has
    already been ported to the FreeBSD, Mac OS X, Solaris, Windows and GNU/
    Hurd. So I guess that it is not too deeply tied down to Linux.

    Daniel.

  4. Re: ISO filesystem support.

    Daniel Carrera wrote:
    > On Aug 27, 9:58?am, "J.F. de Smit" wrote:
    >> If you want to be a hero, try porting FUSE (http://fuse.sourceforge.net/).
    >> Not only will this add a nifty feature to MINIX (user-space file systems
    >> are nice!), but porting FUSE opens up a whole array of supported file
    >> systems.


    > I note that Fuse already supports FAT, NTFS and ext2 (partial). It has
    > already been ported to the FreeBSD, Mac OS X, Solaris, Windows and GNU/
    > Hurd. So I guess that it is not too deeply tied down to Linux.


    FUSE consists of several parts: the fusemount program to the the actual
    mounting, the runtime library that provides an API to the FUSE driver and
    the FUSE driver itself. The driver is (in the Linux version) a kernel
    module that handles all FUSE requests issued from user space. This part is
    quite OS specific as it has to tie into the file system (talk to the VFS
    in MINIX' case). I've glanced at the Linux FUSE code once and this part is
    full of kmalloc() calls, mutex operations and other typical kernel stuff.
    This will have to be translated to MINIX' server model with message calls
    to the VFS. As you observed, there's plenty of ports already so it should
    be possible do this.

    Regards,

    Jens


    --
    Jens de Smit
    Student Computer Science | Vrije Universiteit Amsterdam
    jfdsmit@few.vu.nl | http://www.few.vu.nl/~jfdsmit
    "[In the end, people] get furious at IT that the goddamn magic isn't working"
    -- Stewart Dean

  5. Re: ISO filesystem support.

    J.F. de Smit escreveu:

    > mounting, the runtime library that provides an API to the FUSE driver and


    I suppose it's possible to just port libfuse to communicate directly with
    the Minix VFS, instead of with /dev/fuse.
    I don't believe that current approach used in Linux is the Right Way (TM) to
    go for Minix.

    OTOH, I'm not a filesystem expert. I only have experience with implementing
    *one* filesystem. And that filesystem is not exactly what I would call a
    state-of-the-art one... :-)

    --
    João Jerónimo

    "Computer are composed of software, hardware, and other stuff terminated
    in "ware", like firmware, tupperware, (...)" - by JJ.

  6. Re: ISO filesystem support.

    J.F. de Smit escreveu:

    > If you want to be a hero, try porting FUSE (http://fuse.sourceforge.net/).
    > Not only will this add a nifty feature to MINIX (user-space file systems
    > are nice!), but porting FUSE opens up a whole array of supported file
    > systems.


    The point is filesystems are already in userspace in Minix. :-)
    What I think could be done is porting the API implementation so that it uses
    send&receive instead of ioctls/reads/writes to /dev/fuse; or otherwise
    re-implementing it.

    --
    João Jerónimo

    "Computer are composed of software, hardware, and other stuff terminated
    in "ware", like firmware, tupperware, (...)" - by JJ.

  7. Re: ISO filesystem support.

    Jo??o Jer??nimo wrote:
    > J.F. de Smit escreveu:
    > The point is filesystems are already in userspace in Minix. :-)
    > What I think could be done is porting the API implementation so that it uses
    > send&receive instead of ioctls/reads/writes to /dev/fuse; or otherwise
    > re-implementing it.


    A thought I have enjoyed as well. I just don't know enough about the fuse
    driver and the Minix VFS to make the claim the we could do without the
    FUSE driver altogether. However, cutting it out of the loop would mean a
    serious optimization (1 context switch less for each and every operation),
    so it is definitely worth looking into. So the 3-tiered FUSE design would
    be reduced to a 2-tier: libfuse as an API to the Minix VFS and fusemount
    installed setuid root for the simple fact that mortal users may not call
    'mount'. No more fuse kernel module, no more complex communication through
    /dev/fuse... I like it.

    Regards,

    Jens

    --
    Jens de Smit
    Student Computer Science | Vrije Universiteit Amsterdam
    jfdsmit@few.vu.nl | http://www.few.vu.nl/~jfdsmit
    "[In the end, people] get furious at IT that the goddamn magic isn't working"
    -- Stewart Dean

+ Reply to Thread