Annotation of dmsdos/patches/cvf-uvfat.diff-2.0.33, revision 1.1.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.