The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

GNU software (patch linux scsi)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: patch, linux, scsi,  (найти похожие документы)
_ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _ From : Alex Korchmar 2:5020/128 24 Sep 98 03:19:00 Subj : Re: GNU software ________________________________________________________________________________ From: alx@corbina.net (Alex Korchmar) Anton Petrusevich <Anton.Petrusevich@p29.f16.n5004.z2.fidonet.org> wrote: a>> выключил пару раз внешний дисковод, потом восстановил /, выматерился и a>> пошел патч писать. Владельцы барракуд с двухгиговым кэшем при удачных a>> обстоятельствах тоже могут налететь на эти грабли. (им этот патчик не a>> поможет) AP> А мэинтейнеры чего говорят? Или не признают баг? я же говорю - "некрасивый патч". В смысле, я вляпал его туда, где было меньше мороки, а не туда, куда на самом деле надо. Если кто-то желает все же допинать эту историю до победного конца - флаг в руки. Собственно, вот оно, три строчки: *** 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); } }
> Alex --- ifmail v.2.10dev * Origin: Corbina Co. News server (2:5020/128@fidonet)

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2020 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру