Shutdown and SCSI (patch linux kernel scsi)
Ключевые слова: patch, linux, kernel, scsi,  (найти похожие документы)
_ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _
 From : Alex Korchmar                       2:5020/28.100   Thu 12 Nov 98 02:25
 Subj : Shutdown and SCSI
________________________________________________________________________________
Hi Sergey,
On 10/Nov/98 at 12:54 you wrote:
> SC> Поставил Slackware 3.5 на Compaq Proliant 2500 2xPPRO.
> SC> Все вpоде воpочается и не падает, одна пpоблема - пpи сабже не
> SC> получается чистого pазмонтиpоания файловой системы.
>диски - scsi
 SC> Да
попробуй вляпать вот это (patch -F3, если и это не поможет - посмотри .rej - в
каждой версии ядра эти строчки чуть-чуть гуляют вверх/вниз)
=== cut here ====
*** linux-2.0.34/drivers/scsi/sd.c Tue Jun  9 00:52:54 1998
--- linux/drivers/scsi/sd.c   Tue Jun  9 13:57:36 1998
***************
*** 148,153 ****
--- 148,157 ----
  static void sd_release(struct inode * inode, struct file * file)
  {
      int target;
+     struct sdata {
+      int inlen, outlen;
+      char cmd[19];
+     } scsi_cmd;
      fsync_dev(inode->i_rdev);
      target =  DEVICE_NR(inode->i_rdev);
***************
*** 157,165 ****
   (*rscsi_disks[target].device->host->hostt->usage_count)--;
      if(sd_template.usage_count) (*sd_template.usage_count)--;
!     if(rscsi_disks[target].device->removable) {
!  if(!rscsi_disks[target].device->access_count)
!      sd_ioctl(inode, NULL, SCSI_IOCTL_DOORUNLOCK, 0);
      }
  }
--- 161,175 ----
   (*rscsi_disks[target].device->host->hostt->usage_count)--;
      if(sd_template.usage_count) (*sd_template.usage_count)--;
!     if(!rscsi_disks[target].device->access_count) {
!
!          scsi_cmd.inlen=scsi_cmd.outlen=0;
!          scsi_cmd.cmd[0]=SYNCHRONIZE_CACHE;
!          memset(scsi_cmd.cmd+1, 0, 18);
!          sd_ioctl(inode, NULL, SCSI_IOCTL_SEND_COMMAND, (int)(&scsi_cmd)); /*
you can safely turn off external device */
!
!          if(rscsi_disks[target].device->removable)
!             sd_ioctl(inode, NULL, SCSI_IOCTL_DOORUNLOCK, 0);
      }
  }
=== cut here ====
[осторожно - одна строка здесь порезалась]
если поможет - дай знать, кину тебе программку, которую можно будет просто
вставить в rc0.d
> Alex
--- MadMED v0.42i/DOS (Nov 27 1997 18:40:55)
 * Origin: Down System (2:5020/28.100)