Annotation of dmsdos/patches/cvf-uvfat.diff-2.0.33, revision 1.1

1.1     ! root        1: diff -u -r -N linux-2.0.33-cyrix-patched-uvfat/fs/uvfat/emd.c linux-2.0.33-cyrix-patched-uvfat-test/fs/uvfat/emd.c
        !             2: --- linux-2.0.33-cyrix-patched-uvfat/fs/uvfat/emd.c    Sun Jan  4 15:01:56 1998
        !             3: +++ linux-2.0.33-cyrix-patched-uvfat-test/fs/uvfat/emd.c       Sun Jan  4 15:15:23 1998
        !             4: @@ -34,6 +34,7 @@
        !             5:        int ret;
        !             6:        int old_fs = get_fs();  
        !             7:        set_fs (KERNEL_DS);
        !             8: +      MSDOS_I(inode)->i_binary=2;
        !             9:        ret = fat_file_read(inode,filp,buf,count);
        !            10:        set_fs (old_fs);
        !            11:        return ret;
        !            12: @@ -50,6 +51,7 @@
        !            13:        int ret;
        !            14:        int old_fs = get_fs();
        !            15:        set_fs (KERNEL_DS);
        !            16: +      MSDOS_I(inode)->i_binary=2;
        !            17:        ret = fat_file_write(inode,filp,buf,count);
        !            18:        set_fs (old_fs);
        !            19:        return ret;
        !            20: diff -u -r -N linux-2.0.33-cyrix-patched-uvfat/fs/uvfat/file.c linux-2.0.33-cyrix-patched-uvfat-test/fs/uvfat/file.c
        !            21: --- linux-2.0.33-cyrix-patched-uvfat/fs/uvfat/file.c   Sun Jan  4 15:01:56 1998
        !            22: +++ linux-2.0.33-cyrix-patched-uvfat-test/fs/uvfat/file.c      Sun Jan  4 15:18:16 1998
        !            23: @@ -131,3 +131,38 @@
        !            24:        NULL,                   /* smap */
        !            25:  };
        !            26:  
        !            27: +/* For other with larger and unaligned file system with readpage */
        !            28: +struct file_operations uvfat_file_operations_readpage = {
        !            29: +      NULL,                           /* lseek - default */
        !            30: +      UVFAT_file_read,        /* read */
        !            31: +      UVFAT_file_write,       /* write */
        !            32: +      NULL,                           /* readdir - bad */
        !            33: +      NULL,                           /* select - default */
        !            34: +      NULL,                           /* ioctl - default */
        !            35: +      generic_file_mmap,              /* mmap */
        !            36: +      NULL,                           /* no special open is needed */
        !            37: +      NULL,                           /* release */
        !            38: +      file_fsync                      /* fsync */
        !            39: +};
        !            40: +
        !            41: +struct inode_operations uvfat_file_inode_operations_readpage = {
        !            42: +      &uvfat_file_operations_readpage,        /* default file operations */
        !            43: +      NULL,                   /* create */
        !            44: +      NULL,                   /* lookup */
        !            45: +      NULL,                   /* link */
        !            46: +      NULL,                   /* unlink */
        !            47: +      NULL,                   /* symlink */
        !            48: +      NULL,                   /* mkdir */
        !            49: +      NULL,                   /* rmdir */
        !            50: +      NULL,                   /* mknod */
        !            51: +      NULL,                   /* rename */
        !            52: +      NULL,                   /* readlink */
        !            53: +      NULL,                   /* follow_link */
        !            54: +      fat_readpage,           /* readpage */
        !            55: +      NULL,                   /* writepage */
        !            56: +      NULL,                   /* bmap */
        !            57: +      UVFAT_truncate,/* truncate */
        !            58: +      NULL,                   /* permission */
        !            59: +      NULL,                   /* smap */
        !            60: +};
        !            61: +
        !            62: diff -u -r -N linux-2.0.33-cyrix-patched-uvfat/fs/uvfat/inode.c linux-2.0.33-cyrix-patched-uvfat-test/fs/uvfat/inode.c
        !            63: --- linux-2.0.33-cyrix-patched-uvfat/fs/uvfat/inode.c  Sun Jan  4 15:01:56 1998
        !            64: +++ linux-2.0.33-cyrix-patched-uvfat-test/fs/uvfat/inode.c     Sun Jan  4 15:22:33 1998
        !            65: @@ -165,11 +165,20 @@
        !            66:        if (!uvfat_isinit(inode)){
        !            67:                inode->u.uvfat_i.i_emd_dir = 0;
        !            68:                if (S_ISREG(inode->i_mode)){
        !            69: +                  if (MSDOS_SB(inode->i_sb)->cvf_format){
        !            70: +                      if (MSDOS_SB(inode->i_sb)->cvf_format->flags
        !            71: +                                               &CVF_USE_READPAGE){
        !            72: +                              inode->i_op = &uvfat_file_inode_operations_readpage;
        !            73: +                      }else{
        !            74: +                              inode->i_op = &uvfat_file_inode_operations_no_bmap;
        !            75: +                      }
        !            76: +                  }else{
        !            77:                        if (inode->i_op->bmap != NULL){
        !            78:                                inode->i_op = &uvfat_file_inode_operations;
        !            79:                        }else{
        !            80:                                inode->i_op = &uvfat_file_inode_operations_no_bmap;
        !            81:                        }
        !            82: +                  }
        !            83:                }else if (S_ISDIR(inode->i_mode)){
        !            84:                        if (dir != NULL){
        !            85:                                uvfat_setup_dir_inode(inode);
        !            86: diff -u -r -N linux-2.0.33-cyrix-patched-uvfat/fs/uvfat/ioctl.c linux-2.0.33-cyrix-patched-uvfat-test/fs/uvfat/ioctl.c
        !            87: --- linux-2.0.33-cyrix-patched-uvfat/fs/uvfat/ioctl.c  Sun Jan  4 15:01:56 1998
        !            88: +++ linux-2.0.33-cyrix-patched-uvfat-test/fs/uvfat/ioctl.c     Sun Jan  4 15:24:41 1998
        !            89: @@ -62,6 +62,21 @@
        !            90:  {
        !            91:        int ret = -EPERM;
        !            92:        int err;
        !            93: +      
        !            94: +      /* forward non-uvfat ioctls - this hopefully doesn't cause conflicts */
        !            95: +      if(cmd!=UVFAT_GETVERSION
        !            96: +         &&cmd!=UVFAT_READDIR_DOS
        !            97: +         &&cmd!=UVFAT_READDIR_EMD
        !            98: +         &&cmd!=UVFAT_INIT_EMD
        !            99: +         &&cmd!=UVFAT_CREAT_EMD
        !           100: +         &&cmd!=UVFAT_RENAME_DOS
        !           101: +         &&cmd!=UVFAT_UNLINK_EMD
        !           102: +         &&cmd!=UVFAT_UNLINK_DOS
        !           103: +         &&cmd!=UVFAT_RMDIR_DOS
        !           104: +         &&cmd!=UVFAT_STAT_DOS
        !           105: +         &&cmd!=UVFAT_DOS_SETUP)
        !           106: +              return fat_dir_ioctl(dir,filp,cmd,data);
        !           107: +              
        !           108:        /* #Specification: ioctl / acces
        !           109:                Only root (effective id) is allowed to do IOCTL on directory
        !           110:                in UVFAT. EPERM is returned for other user.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.