More filesystems support?

Dave Boone
2007-07-12
2013-03-26
  • Dave Boone

    Dave Boone - 2007-07-12

    Hi,

    If I wanted to get support for another filesystem type added, and I had the code changes necessary to do it, what should I do to go about getting the change incorporated into the default builds?

    Thanks,
    Dave

     
    • Jan Kara

      Jan Kara - 2007-07-14

      Which filesystem do you have in mind? Generally, you just need to add the filesystem type to a function checking whether this filesystem supports quota. I can do that for you if the filesystem is reasonable enough ;).

       
      • Dave Boone

        Dave Boone - 2007-07-14

        Hi Jan,

        It's for EMC's Multi-Path File System (MPFS).  For the most part, it's exactly like NFS.  The only difference is that it will service read and write I/O requests directly over Fibre Channel or iSCSI.  All other requests get passed on to the NFS stack.  MPFS is currently a proprietary implementation of the IETF draft for block pNFS, proposed to be included in NFS 4.1.  http://www.emc.com/products/software/celerra_mpfs/

        Here's the patch that seems to work for 3.14:

        --- quotasys.c.orig     2007-07-16 06:31:02.000000000 -0400
        +++ quotasys.c  2007-07-16 07:16:40.000000000 -0400
        @@ -43,7 +43,7 @@
          */
        int nfs_fstype(char *type)
        {
        -       return !strcmp(type, MNTTYPE_NFS) || !strcmp(type, MNTTYPE_NFS4);
        +       return !strcmp(type, MNTTYPE_NFS) || !strcmp(type, MNTTYPE_NFS4) || !strcmp(type, MNTTYPE_MPFS);
        }

        /*
        @@ -68,6 +68,7 @@
                            !strcmp(type, MNTTYPE_REISER) ||
                            !strcmp(type, MNTTYPE_XFS) ||
                            !strcmp(type, MNTTYPE_NFS) ||
        +                   !strcmp(type, MNTTYPE_MPFS) ||
                            !strcmp(type, MNTTYPE_NFS4)) {
                                free(mtype);
                                return 1;
        --- mntopt.h.orig       2007-07-16 06:25:27.000000000 -0400
        +++ mntopt.h    2007-07-16 06:34:18.000000000 -0400
        @@ -14,6 +14,7 @@
        #define MNTTYPE_AUTOFS         "autofs"        /* Automount mountpoint */
        #define MNTTYPE_JFS            "jfs"   /* JFS file system */
        #define MNTTYPE_NFS4           "nfs4"  /* NFSv4 filesystem */
        +#define MNTTYPE_MPFS           "mpfs"  /* EMC Celerra MPFS filesystem - uses NFS-style RPC quotas*/

        /* mount options */
        #define MNTOPT_NOQUOTA         "noquota"       /* don't enforce quota */

        Sorry about the line wraps, if that happened in the post.  I could send you the patch files if you want.

        I also have a patch that seems to work with 3.12 and existing RHEL4 systems, but since nfs_fstype() function, that patch is a little larger.  Could I upload it somewhere for you?

        Thanks,
        Dave

         
    • Dave Boone

      Dave Boone - 2007-07-14

      Hi Jan,

      I went ahead and posted the patch files to Tracker -> Patches.

      Hope this helps.

      Thanks,
      Dave Boone

       
    • Jan Kara

      Jan Kara - 2007-08-22

      OK, I've added the change to quota tools.

       

Log in to post a comment.