* [gentoo-user-ru] отключение флешки без umount @ 2012-05-27 16:33 Alex Efros 2012-05-27 20:19 ` [gentoo-user-ru] " Aleksandr Dezhin ` (3 more replies) 0 siblings, 4 replies; 16+ messages in thread From: Alex Efros @ 2012-05-27 16:33 UTC (permalink / raw To: gentoo-user-ru Hi! Возникла идея сделать авто-подключение и отключение флешки через udev. Но чтобы её можно было безопасно выдёргивать без ручного отмонтирования, её нужно монтировать с опцией sync. Я сейчас это немного потестировал, и получается, что скорость копирования на флешку подключенную с sync чуть ли не в 70 раз медленнее - т.е. тормозит до состояния неюзабельности. Это не баг, так всё и должно быть? Если да, то делать автомонтирование флешки при том, что отмонтировать всё-равно нужно будет ручками смысла нет. -- WBR, Alex. ^ permalink raw reply [flat|nested] 16+ messages in thread
* [gentoo-user-ru] Re: [gentoo-user-ru] отключение флешки без umount 2012-05-27 16:33 [gentoo-user-ru] отключение флешки без umount Alex Efros @ 2012-05-27 20:19 ` Aleksandr Dezhin 2012-05-27 21:22 ` Alex Efros 2012-05-27 21:13 ` Nikolay Ostanen ` (2 subsequent siblings) 3 siblings, 1 reply; 16+ messages in thread From: Aleksandr Dezhin @ 2012-05-27 20:19 UTC (permalink / raw To: gentoo-user-ru [-- Attachment #1: Type: text/plain, Size: 1353 bytes --] 27 мая 2012 г., 20:33 пользователь Alex Efros <powerman@powerman.name>написал: > Возникла идея сделать авто-подключение и отключение флешки через udev. > Но чтобы её можно было безопасно выдёргивать без ручного отмонтирования, > её нужно монтировать с опцией sync. Я сейчас это немного потестировал, > и получается, что скорость копирования на флешку подключенную с sync > чуть ли не в 70 раз медленнее - т.е. тормозит до состояния неюзабельности. > Какие получились абсолютные значения скоростей? Насколько я помню, копирование на флешку без sync по началу происходит со скоростью существенно превышающей скорость самой флешки, то есть в некий буфер. Потом скорость сильно падает. Если сравнивать со скоростью копирования в этот буфер, то вполне нормален и 70 кратный выигрыш. [-- Attachment #2: Type: text/html, Size: 1620 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-user-ru] Re: [gentoo-user-ru] отключение флешки без umount 2012-05-27 20:19 ` [gentoo-user-ru] " Aleksandr Dezhin @ 2012-05-27 21:22 ` Alex Efros 2012-05-28 14:15 ` Vanush Misha Paturyan 0 siblings, 1 reply; 16+ messages in thread From: Alex Efros @ 2012-05-27 21:22 UTC (permalink / raw To: gentoo-user-ru Hi! On Mon, May 28, 2012 at 12:19:07AM +0400, Aleksandr Dezhin wrote: > Какие получились абсолютные значения скоростей? Насколько я помню, > копирование на флешку без sync по началу происходит со скоростью > существенно превышающей скорость самой флешки, то есть в некий буфер. Потом > скорость сильно падает. Если сравнивать со скоростью копирования в этот > буфер, то вполне нормален и 70 кратный выигрыш. Вот так: # time cp ubuntu-11.10-desktop-i386.iso /mnt/usb/tmp1.iso; time umount /mnt/usb/ real 0m6.632s user 0m0.005s sys 0m0.819s real 1m14.152s user 0m0.000s sys 0m0.160s # time cp ubuntu-11.10-desktop-i386.iso /mnt/usb/tmp2.iso; time umount /mnt/usb/ real 83m13.344s user 0m0.028s sys 0m11.239s real 0m0.177s user 0m0.000s sys 0m0.166s Первая попытка без sync - время в основном ушло на umount - вторая с sync - время ушло на cp. Размер образа 729067520 байт делю на суммарное cp+umount время и получаю скорость. Примерно 9MB/sec в первом случае, и 150KB/sec во втором. Это разница в 60 раз! Более того, даже при использовании dd с большим значением bs= вместо cp скорость при sync остаётся равной 150KB/sec вне зависимости от размера буфера dd - хотя теоретически при большом размере буфера с sync скорость должна быть не намного медленнее чем без sync (если предполагать, что при sync вызов write(2) блокируется пока данные не будут физически записаны, и никаких других эффектов от него нет, то использование больших буферов при вызове write(2) должно для производительности давать схожий эффект с отложенной записью, используемой без sync). -- WBR, Alex. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-user-ru] отключение флешки без umount 2012-05-27 21:22 ` Alex Efros @ 2012-05-28 14:15 ` Vanush Misha Paturyan 2012-05-28 18:30 ` Alex Efros 0 siblings, 1 reply; 16+ messages in thread From: Vanush Misha Paturyan @ 2012-05-28 14:15 UTC (permalink / raw To: gentoo-user-ru On Mon, 28 May 2012 00:22:07 +0300 Alex Efros <powerman@powerman.name> wrote: > Hi! > > On Mon, May 28, 2012 at 12:19:07AM +0400, Aleksandr Dezhin wrote: > > Какие получились абсолютные значения скоростей? Насколько я помню, > > копирование на флешку без sync по началу происходит со скоростью > > существенно превышающей скорость самой флешки, то есть в некий > > буфер. Потом скорость сильно падает. Если сравнивать со скоростью > > копирования в этот буфер, то вполне нормален и 70 кратный выигрыш. > > Вот так: > > # time cp ubuntu-11.10-desktop-i386.iso /mnt/usb/tmp1.iso; time > umount /mnt/usb/ > > real 0m6.632s > user 0m0.005s > sys 0m0.819s > > real 1m14.152s > user 0m0.000s > sys 0m0.160s > > # time cp ubuntu-11.10-desktop-i386.iso /mnt/usb/tmp2.iso; time > umount /mnt/usb/ > > real 83m13.344s > user 0m0.028s > sys 0m11.239s > > real 0m0.177s > user 0m0.000s > sys 0m0.166s > > Первая попытка без sync - время в основном ушло на umount - вторая с > sync - время ушло на cp. Размер образа 729067520 байт делю на > суммарное cp+umount время и получаю скорость. Примерно 9MB/sec в > первом случае, и 150KB/sec во втором. Это разница в 60 раз! А можно поопросить при всем при этом в другом окне запустить "iostat 1" (из app-admin/sysstat) и проследить за avg-cpu, где CPU дольше всего "живет?" Если в обоих случаях в %iowait - значит все работает "как задуманно" (хотя странно что при sync все настолько тормозится, по логике не должно вроде как). Если в случае с sync-ом %idle подпрыгивает значит где-то что-то не совсем правильно работает. Миша. -- Vanush "Misha" Paturyan Senior Technical Officer Room 1.37 Computer Science Department NUI Maynooth ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-user-ru] отключение флешки без umount 2012-05-28 14:15 ` Vanush Misha Paturyan @ 2012-05-28 18:30 ` Alex Efros 2012-05-28 19:28 ` Alex Efros 2012-05-28 20:29 ` Vanush Paturyan 0 siblings, 2 replies; 16+ messages in thread From: Alex Efros @ 2012-05-28 18:30 UTC (permalink / raw To: gentoo-user-ru Hi! On Mon, May 28, 2012 at 03:15:42PM +0100, Vanush Misha Paturyan wrote: > > # time cp ubuntu-11.10-desktop-i386.iso /mnt/usb/tmp1.iso; time > > umount /mnt/usb/ > > > > real 0m6.632s > > user 0m0.005s > > sys 0m0.819s > > > > real 1m14.152s > > user 0m0.000s > > sys 0m0.160s > А можно поопросить при всем при этом в другом окне запустить "iostat > 1" (из app-admin/sysstat) и проследить за avg-cpu, где CPU дольше всего > "живет?" Если в обоих случаях в %iowait - значит все работает "как > задуманно" (хотя странно что при sync все настолько тормозится, по > логике не должно вроде как). Если в случае с sync-ом %idle подпрыгивает > значит где-то что-то не совсем правильно работает. Учитывая отсталость FAT, я решил проверить sync с другими файловыми системами. EXT4: скорость записи 4.5MB/sec! # time cp /mnt/storage/iso/ubuntu-11.10-desktop-i386.iso /mnt/usb.sdb1/; time umount /mnt/usb.sdb1/ real 2m42.545s user 0m0.029s sys 0m1.326s real 0m0.510s user 0m0.000s sys 0m0.066s Вывод iostat в среднем такой: avg-cpu: %user %nice %system %iowait %steal %idle 0.37 0.00 0.37 12.23 0.00 87.02 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 36.00 4608.00 0.00 4608 0 scd1 0.00 0.00 0.00 0 0 sdb 435.00 0.00 8120.00 0 8120 Значение iowait ~12.5% - это фактически 100% одного ядра (у меня 8 ядер). Не понятно, почему он показывает запись на sdb порядка 8MB/sec, это явно некорректная цифра. Что странно: после монтирования каждые несколько секунд мигает лампочка на флешке, хотя никто ничего с флешкой не делает. Это какие-то внутренние дела ext4, типа онлайн дефрагментации? Для флешки это не очень хорошо, наверное. EXT3: скорость записи 2.8MB/sec. # time cp /mnt/storage/iso/ubuntu-11.10-desktop-i386.iso /mnt/usb.sdb1/; time umount /mnt/usb.sdb1/ real 4m6.232s user 0m0.025s sys 0m1.155s real 0m11.337s user 0m0.000s sys 0m0.068s Вывод iowait примерно как для ext4, но если на ext4 в поле kB_wrtn/s всё время выдавало примерно 8MB, то на ext3 наблюдаются постоянные колебания между 700KB-2MB-3MB-4MB-5MB-6MB. Что странно: очень долго отрабатывает umount. Даже в режиме flush на vfat это занимает 2-3 секунды, а в режиме sync вообще не должно занимать время. EXT2: скорость записи 600KB/sec. Вывод iowait как на ext3, только колеблется между 600KB и 1.8MB. NTFS-3G: скорость записи 225KB/sec. Вывод iowait как на ext3, только колеблется между 600KB и 2MB. VFAT: скорость записи 150KB/sec. Вывод iowait как на ext3, только колеблется между 100KB и 280KB. Резюмируя: - sync на ext4 использовать можно, но смущает постоянная активность флешки (впрочем, активность есть и без sync) - sync на ext3 вероятно поломан (судя по времени на umount) - sync на ext2/ntfs/vfat не юзабелен из-за тормозов P.S. И, кстати, максимальная скорость флешки оказалась не 9MB/sec, как я раньше писал, а 11MB/sec (на ext4 без sync). -- WBR, Alex. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-user-ru] отключение флешки без umount 2012-05-28 18:30 ` Alex Efros @ 2012-05-28 19:28 ` Alex Efros 2012-05-28 20:29 ` Vanush Paturyan 1 sibling, 0 replies; 16+ messages in thread From: Alex Efros @ 2012-05-28 19:28 UTC (permalink / raw To: gentoo-user-ru Hi! Ещё одну странность обнаружил. Если скорость копирования файла cp и mc на vfat+flush одинаковая (6MB/sec), то скорость копирования на ext4+sync сильно отличается (4.5MB/sec у cp и 1.5MB/sec у mc). Что навело на мысль поиграться с размером буфера с помощью dd. И точно, при размере буфера 2MB мы получаем скорость копирования 11.5MB/sec! -- WBR, Alex. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-user-ru] отключение флешки без umount 2012-05-28 18:30 ` Alex Efros 2012-05-28 19:28 ` Alex Efros @ 2012-05-28 20:29 ` Vanush Paturyan 2012-05-28 21:25 ` Alex Efros 1 sibling, 1 reply; 16+ messages in thread From: Vanush Paturyan @ 2012-05-28 20:29 UTC (permalink / raw To: gentoo-user-ru On 28 May 2012, at 19:30, Alex Efros wrote: > Hi! > > On Mon, May 28, 2012 at 03:15:42PM +0100, Vanush Misha Paturyan wrote: >>> # time cp ubuntu-11.10-desktop-i386.iso /mnt/usb/tmp1.iso; time >>> umount /mnt/usb/ >>> >>> real 0m6.632s >>> user 0m0.005s >>> sys 0m0.819s >>> >>> real 1m14.152s >>> user 0m0.000s >>> sys 0m0.160s >> А можно поопросить при всем при этом в другом окне запустить "iostat >> 1" (из app-admin/sysstat) и проследить за avg-cpu, где CPU дольше всего >> "живет?" Если в обоих случаях в %iowait - значит все работает "как >> задуманно" (хотя странно что при sync все настолько тормозится, по >> логике не должно вроде как). Если в случае с sync-ом %idle подпрыгивает >> значит где-то что-то не совсем правильно работает. > > Учитывая отсталость FAT, я решил проверить sync с другими файловыми > системами. > > > EXT4: скорость записи 4.5MB/sec! > > # time cp /mnt/storage/iso/ubuntu-11.10-desktop-i386.iso /mnt/usb.sdb1/; time umount /mnt/usb.sdb1/ > > real 2m42.545s > user 0m0.029s > sys 0m1.326s > > real 0m0.510s > user 0m0.000s > sys 0m0.066s > > Вывод iostat в среднем такой: > > avg-cpu: %user %nice %system %iowait %steal %idle > 0.37 0.00 0.37 12.23 0.00 87.02 > > Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn > sda 36.00 4608.00 0.00 4608 0 > scd1 0.00 0.00 0.00 0 0 > sdb 435.00 0.00 8120.00 0 8120 > > Значение iowait ~12.5% - это фактически 100% одного ядра (у меня 8 ядер). > Не понятно, почему он показывает запись на sdb порядка 8MB/sec, это явно > некорректная цифра. > > Что странно: после монтирования каждые несколько секунд мигает лампочка на > флешке, хотя никто ничего с флешкой не делает. Это какие-то внутренние > дела ext4, типа онлайн дефрагментации? Для флешки это не очень хорошо, > наверное. > Насколько я помню если это только чтение - то не страшно. Флешкам плохо когда на них пишут (или стирают). Я всегда использую iostat когда мне надо проверить активность на дисках, если кто нибудь знает альтернативы интересно было бы проверить совпадает ли активность с миганием лампочки? > > EXT3: скорость записи 2.8MB/sec. > > # time cp /mnt/storage/iso/ubuntu-11.10-desktop-i386.iso /mnt/usb.sdb1/; time umount /mnt/usb.sdb1/ > > real 4m6.232s > user 0m0.025s > sys 0m1.155s > > real 0m11.337s > user 0m0.000s > sys 0m0.068s > > Вывод iowait примерно как для ext4, но если на ext4 в поле kB_wrtn/s всё > время выдавало примерно 8MB, то на ext3 наблюдаются постоянные колебания > между 700KB-2MB-3MB-4MB-5MB-6MB. > Похоже ext4 лучше всего работает с буферами в памяти? с VFAT+sync возможно тормоза из-за необходимости обновлять две FAT таблицы при записи каждого кластера информации. Если интересно то можно дальше экспериментировать, меняя размер кластера файловой системы и/или размер сектора (тогда в FAT будет меньше записей). > Ещё одну странность обнаружил. Если скорость копирования файла cp и mc на > vfat+flush одинаковая (6MB/sec), то скорость копирования на ext4+sync > сильно отличается (4.5MB/sec у cp и 1.5MB/sec у mc). > Что навело на мысль поиграться с размером буфера с помощью dd. > И точно, при размере буфера 2MB мы получаем скорость копирования 11.5MB/sec! А вот это уже баг в mc! Миша. --- Vanush "Misha" Paturyan Senior Technical Officer Computer Science Department NUI Maynooth ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-user-ru] отключение флешки без umount 2012-05-28 20:29 ` Vanush Paturyan @ 2012-05-28 21:25 ` Alex Efros 0 siblings, 0 replies; 16+ messages in thread From: Alex Efros @ 2012-05-28 21:25 UTC (permalink / raw To: gentoo-user-ru Hi! On Mon, May 28, 2012 at 09:29:18PM +0100, Vanush Paturyan wrote: > Насколько я помню если это только чтение - то не страшно. Флешкам плохо когда > на них пишут (или стирают). Я всегда использую iostat когда мне надо проверить > активность на дисках, если кто нибудь знает альтернативы интересно было бы проверить > совпадает ли активность с миганием лампочки? Было бы это чтение - оно бы давно закешировалось и не мигало. Так что это точно запись. Впрочем, вот iostat, подряд 3 секунды: avg-cpu: %user %nice %system %iowait %steal %idle 0.25 0.00 0.00 0.00 0.00 99.75 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 0.00 0.00 0.00 0 0 scd1 0.00 0.00 0.00 0 0 sdb 0.00 0.00 0.00 0 0 avg-cpu: %user %nice %system %iowait %steal %idle 0.12 0.00 0.37 0.00 0.00 99.50 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 0.00 0.00 0.00 0 0 scd1 0.00 0.00 0.00 0 0 sdb 1.00 0.00 4.00 0 4 --------------------------------------------^^^^ avg-cpu: %user %nice %system %iowait %steal %idle 0.25 0.00 0.12 0.00 0.00 99.62 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 0.00 0.00 0.00 0 0 scd1 0.00 0.00 0.00 0 0 sdb 0.00 0.00 0.00 0 0 Впрочем, сейчас вроде бы это значительно реже происходит. Не знаю, что изменилось. Тогда я просто отформатировал sdb1 в ext4, подключил, и увидел регулярное (раз в 2-4 секунды) мигание. Несколько раз отмонтировал/подмонтировал - убедился что оно не проходит. С тех пор эта флешка многократно форматировалась во все возможные fs, в том числе забивалась нулями. Сейчас в ext4 мигает крайне редко, можно сказать почти вообще не мигает. Так что панику поднимать, наверное, смысла нет. Чем-то оно занималось, а потом перестало. Настораживает, конечно, но не смертельно. ;-) > А вот это уже баг в mc! Скорее, отсутствие фичи. Но тикет на увеличение размера буферов уже 2 года висит. -- WBR, Alex. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-user-ru] отключение флешки без umount 2012-05-27 16:33 [gentoo-user-ru] отключение флешки без umount Alex Efros 2012-05-27 20:19 ` [gentoo-user-ru] " Aleksandr Dezhin @ 2012-05-27 21:13 ` Nikolay Ostanen 2012-05-27 21:31 ` Alex Efros 2012-05-28 0:18 ` Mad Deer 2012-05-28 17:07 ` Alex Efros 3 siblings, 1 reply; 16+ messages in thread From: Nikolay Ostanen @ 2012-05-27 21:13 UTC (permalink / raw To: gentoo-user-ru > Hi! > > Возникла идея сделать авто-подключение и отключение флешки через udev. > Но чтобы её можно было безопасно выдёргивать без ручного > отмонтирования, её нужно монтировать с опцией sync. Я сейчас это > немного потестировал, и получается, что скорость копирования на > флешку подключенную с sync чуть ли не в 70 раз медленнее - т.е. > тормозит до состояния неюзабельности. > > Это не баг, так всё и должно быть? Если да, то делать автомонтирование > флешки при том, что отмонтировать всё-равно нужно будет ручками > смысла нет. > Монтирую-размонтирую так: http://daath.tk/conf/udev Пишу sync перед тем, как выдернуть флешку (вполне можно на хоткей повесить). Проблем не обнаружено. -- # Nikolay Ostanen # http://daath.tk ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-user-ru] отключение флешки без umount 2012-05-27 21:13 ` Nikolay Ostanen @ 2012-05-27 21:31 ` Alex Efros 0 siblings, 0 replies; 16+ messages in thread From: Alex Efros @ 2012-05-27 21:31 UTC (permalink / raw To: gentoo-user-ru Hi! On Mon, May 28, 2012 at 01:13:52AM +0400, Nikolay Ostanen wrote: > Монтирую-размонтирую так: http://daath.tk/conf/udev > Пишу sync перед тем, как выдернуть флешку (вполне можно на хоткей > повесить). Проблем не обнаружено. А с чего им взяться? При таком подходе никакой разницы делать sync или umount. Точнее, umount делать правильнее - во-первых при umount будут сброшены только относящиеся к флешке буфера, а не вообще все, а во-вторых выход umount даёт гарантию, что никто не начнёт писать на флешку между выходом sync и её вытаскиванием. Мне просто хочется воткнуть флешку, скопировать файл, и как только команда cp или окно копирования в mc завершатся - безопасно вытащить флешку, не делая никаких дополнительных команд вроде sync или umount. А для этого нужен mount -o sync. -- WBR, Alex. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-user-ru] отключение флешки без umount 2012-05-27 16:33 [gentoo-user-ru] отключение флешки без umount Alex Efros 2012-05-27 20:19 ` [gentoo-user-ru] " Aleksandr Dezhin 2012-05-27 21:13 ` Nikolay Ostanen @ 2012-05-28 0:18 ` Mad Deer 2012-05-27 21:33 ` Alex Efros 2012-05-28 17:07 ` Alex Efros 3 siblings, 1 reply; 16+ messages in thread From: Mad Deer @ 2012-05-28 0:18 UTC (permalink / raw To: gentoo-user-ru On 27.05.2012 16:33, Alex Efros wrote: > Hi! > > Возникла идея сделать авто-подключение и отключение флешки через udev. > Но чтобы её можно было безопасно выдёргивать без ручного отмонтирования, > её нужно монтировать с опцией sync. Я сейчас это немного потестировал, > и получается, что скорость копирования на флешку подключенную с sync > чуть ли не в 70 раз медленнее - т.е. тормозит до состояния неюзабельности. > > Это не баг, так всё и должно быть? Если да, то делать автомонтирование > флешки при том, что отмонтировать всё-равно нужно будет ручками смысла нет. > для vfat есть опция flush man mount flush If set, the filesystem will try to flush to disk more early than normal. Not set by default. и отслеживать по лампочке на флешке :) -- Да здравствует то, благодаря чему мы, несмотря ни на что.(c) Задорнов Registered Linux User #317544 Linux 3.2.12-gentoo i686 AMD Phenom(tm) II X4 810 Processor ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-user-ru] отключение флешки без umount 2012-05-28 0:18 ` Mad Deer @ 2012-05-27 21:33 ` Alex Efros 2012-05-27 21:54 ` Alex Efros 0 siblings, 1 reply; 16+ messages in thread From: Alex Efros @ 2012-05-27 21:33 UTC (permalink / raw To: gentoo-user-ru Hi! On Mon, May 28, 2012 at 12:18:31AM +0000, Mad Deer wrote: > для vfat есть опция flush > man mount > flush If set, the filesystem will try to flush to disk more early than > normal. Not set by default. > и отслеживать по лампочке на флешке :) Спасибо, надо будет попробовать. Но flush всё-таки не sync, он не даёт никаких гарантий что лампочка погасла потому, что всё записалось, а не потому, что система очень занята другими задачами. -- WBR, Alex. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-user-ru] отключение флешки без umount 2012-05-27 21:33 ` Alex Efros @ 2012-05-27 21:54 ` Alex Efros 0 siblings, 0 replies; 16+ messages in thread From: Alex Efros @ 2012-05-27 21:54 UTC (permalink / raw To: gentoo-user-ru Hi! On Mon, May 28, 2012 at 12:33:11AM +0300, Alex Efros wrote: > > для vfat есть опция flush > > man mount > > flush If set, the filesystem will try to flush to disk more early than > > normal. Not set by default. > > и отслеживать по лампочке на флешке :) > Спасибо, надо будет попробовать. Но flush всё-таки не sync, он не даёт > никаких гарантий что лампочка погасла потому, что всё записалось, а не > потому, что система очень занята другими задачами. Кстати, действительно, работает весьма неплохо. Скорость 6MB/sec вместо 9MB/sec, с этим уже можно жить. # time cp ubuntu-11.10-desktop-i386.iso /mnt/usb/tmp1.iso; sleep 3; time umount /mnt/usb/ real 1m54.737s user 0m0.002s sys 0m0.539s real 0m0.170s user 0m0.000s sys 0m0.158s Жаль, что эта опция поддерживается только для FAT. -- WBR, Alex. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-user-ru] отключение флешки без umount 2012-05-27 16:33 [gentoo-user-ru] отключение флешки без umount Alex Efros ` (2 preceding siblings ...) 2012-05-28 0:18 ` Mad Deer @ 2012-05-28 17:07 ` Alex Efros 2012-05-30 21:01 ` Ray Dudu 3 siblings, 1 reply; 16+ messages in thread From: Alex Efros @ 2012-05-28 17:07 UTC (permalink / raw To: gentoo-user-ru Hi! Всем спасибо за помощь. Вот, что получилось в результате: --- /etc/udev/rules.d/99-usb-automount.rules --- # Allow user mount/umount (set device owner and use 'owner' option in fstab). # Create mount point directories for vfat/ext2/ext3/ext4/ntfs partitions. # Create symlinks using partition label (overwrite duplicates). # Auto-mount vfat with 'flush' option. # No auto-mount for other filesystems (because there is NO SAFE auto-unmount). # Auto-unmount vfat/ext2/ext3/ext4/ntfs and cleanup directories/symlinks. ENV{mount_user}="powerman" ENV{mount_path}="/mnt" KERNEL=="sd*", DRIVERS=="usb-storage", ENV{ID_FS_TYPE}!="", \ OWNER="%E{mount_user}", \ ENV{mount_point}="usb.%k" ACTION=="add", ENV{mount_point}!="", ENV{ID_FS_TYPE}=="vfat", \ ENV{mount_fs}="vfat", \ ENV{mount_opts}="flush,owner,umask=007,showexec,quiet" ACTION=="add", ENV{mount_point}!="", ENV{ID_FS_TYPE}=="ext2|ext3|ext4", \ ENV{mount_fs}="%E{ID_FS_TYPE}", \ ENV{mount_opts}="owner" ACTION=="add", ENV{mount_point}!="", ENV{ID_FS_TYPE}=="ntfs", \ ENV{mount_fs}="ntfs-3g", \ ENV{mount_opts}="owner,umask=007,fmask=111" ACTION=="add", ENV{mount_point}!="", \ RUN+="/bin/mkdir -p %E{mount_path}/%E{mount_point}", \ RUN+="/bin/sed -i.bak '$a/dev/%k %E{mount_path}/%E{mount_point} %E{mount_fs} %E{mount_opts} 0 0' /etc/fstab" ACTION=="add", ENV{mount_point}!="", ENV{ID_FS_TYPE}=="vfat", \ RUN+="/usr/bin/sudo -u %E{mount_user} /bin/mount %E{mount_path}/%E{mount_point}", \ RUN+="/usr/bin/sudo -u %E{mount_user} /usr/bin/env DISPLAY=:0 /usr/bin/notify-send -t 2500 -u normal -i /usr/share/icons/oxygen/48x48/devices/drive-removable-media-usb-pendrive.png 'USB Flash automounted' '%E{mount_point}\n%E{ID_FS_LABEL}'" ACTION=="remove", ENV{mount_point}!="", \ RUN+="/bin/umount -l %E{mount_path}/%E{mount_point}", \ RUN+="/bin/sed -i.bak '/^\/dev\/%k \S\+\/%E{mount_point} /d' /etc/fstab", \ RUN+="/bin/rmdir %E{mount_path}/%E{mount_point}", \ RUN+="/usr/bin/sudo -u %E{mount_user} /usr/bin/env DISPLAY=:0 /usr/bin/notify-send -t 1000 -u normal -i /usr/share/icons/oxygen/48x48/devices/drive-removable-media-usb-pendrive.png 'USB Flash disconnected' '%E{mount_point}\n%E{ID_FS_LABEL}'" ACTION=="add", ENV{mount_point}!="", ENV{ID_FS_LABEL}!="", \ RUN+="/bin/ln -nsf %E{mount_point} %E{mount_path}/%E{ID_FS_LABEL}" ACTION=="remove", ENV{mount_point}!="", ENV{ID_FS_LABEL}!="", \ RUN+="/bin/rm %E{mount_path}/%E{ID_FS_LABEL}" --- /etc/udev/rules.d/99-usb-automount.rules --- P.S. В процессе отладки после частого подключения/отключения разных флешек два раза что-то ломалось в ядре и оно переставало реагировать на подключение/отключение флешек, приходилось перегружаться. Не думаю, что это вызвано моими правилами udev, скорее это просто баг в ядре. "Умирало" оно оба раза в момент подключения флешки, и последние сообщения в логе касающиеся usb были примерно такие: 2012-05-28_11:33:15.40111 kern.info: usb 2-1.1: new high-speed USB device number 118 using ehci_hcd 2012-05-28_11:33:15.48422 kern.err: ehci_hcd 0000:00:1d.0: fatal error 2012-05-28_11:33:15.48423 kern.err: ehci_hcd 0000:00:1d.0: HC died; cleaning up 2012-05-28_11:33:15.48423 kern.err: ehci_hcd 0000:00:1d.0: force halt; handshake ffffc9000002e024 00004000 00004000 -> -110 2012-05-28_11:33:15.48423 kern.err: ehci_hcd 0000:00:1d.0: HC died; cleaning up 2012-05-28_11:33:15.49011 kern.err: usb 2-1.1: device descriptor read/all, error -108 2012-05-28_11:33:15.49013 kern.err: hub 2-1:1.0: cannot disable port 1 (err = -19) 2012-05-28_11:33:15.49013 kern.err: hub 2-1:1.0: cannot reset port 1 (err = -19) 2012-05-28_11:33:15.49014 kern.err: hub 2-1:1.0: cannot disable port 1 (err = -19) 2012-05-28_11:33:15.49014 kern.err: hub 2-1:1.0: cannot reset port 1 (err = -19) 2012-05-28_11:33:15.49014 kern.err: hub 2-1:1.0: cannot disable port 1 (err = -19) 2012-05-28_11:33:15.49015 kern.err: hub 2-1:1.0: cannot reset port 1 (err = -19) 2012-05-28_11:33:15.49015 kern.err: hub 2-1:1.0: cannot disable port 1 (err = -19) 2012-05-28_11:33:15.49015 kern.err: hub 2-1:1.0: unable to enumerate USB device on port 1 2012-05-28_11:33:15.49015 kern.err: hub 2-1:1.0: cannot disable port 1 (err = -19) 2012-05-28_11:33:15.49016 kern.info: usb 2-1: USB disconnect, device number 2 Не знаю, куда можно этот баг отправить, т.к. по желанию его воспроизвести не получается. Да и ядро 3.2.11-hardened - далеко не последняя версия, может в более новых это уже пофиксили. -- WBR, Alex. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-user-ru] отключение флешки без umount 2012-05-28 17:07 ` Alex Efros @ 2012-05-30 21:01 ` Ray Dudu 2012-05-31 6:50 ` Alex Efros 0 siblings, 1 reply; 16+ messages in thread From: Ray Dudu @ 2012-05-30 21:01 UTC (permalink / raw To: gentoo-user-ru 28.05.12 20:07, Alex Efros написав(ла): > Hi! > > Всем спасибо за помощь. Вот, что получилось в результате: > > > --- /etc/udev/rules.d/99-usb-automount.rules --- > > # Allow user mount/umount (set device owner and use 'owner' option in fstab). > # Create mount point directories for vfat/ext2/ext3/ext4/ntfs partitions. > # Create symlinks using partition label (overwrite duplicates). > # Auto-mount vfat with 'flush' option. > # No auto-mount for other filesystems (because there is NO SAFE auto-unmount). > # Auto-unmount vfat/ext2/ext3/ext4/ntfs and cleanup directories/symlinks. > > ENV{mount_user}="powerman" > ENV{mount_path}="/mnt" > > KERNEL=="sd*", DRIVERS=="usb-storage", ENV{ID_FS_TYPE}!="", \ > OWNER="%E{mount_user}", \ > ENV{mount_point}="usb.%k" > > ACTION=="add", ENV{mount_point}!="", ENV{ID_FS_TYPE}=="vfat", \ > ENV{mount_fs}="vfat", \ > ENV{mount_opts}="flush,owner,umask=007,showexec,quiet" > ACTION=="add", ENV{mount_point}!="", ENV{ID_FS_TYPE}=="ext2|ext3|ext4", \ > ENV{mount_fs}="%E{ID_FS_TYPE}", \ > ENV{mount_opts}="owner" > ACTION=="add", ENV{mount_point}!="", ENV{ID_FS_TYPE}=="ntfs", \ > ENV{mount_fs}="ntfs-3g", \ > ENV{mount_opts}="owner,umask=007,fmask=111" > > ACTION=="add", ENV{mount_point}!="", \ > RUN+="/bin/mkdir -p %E{mount_path}/%E{mount_point}", \ > RUN+="/bin/sed -i.bak '$a/dev/%k %E{mount_path}/%E{mount_point} %E{mount_fs} %E{mount_opts} 0 0' /etc/fstab" > ACTION=="add", ENV{mount_point}!="", ENV{ID_FS_TYPE}=="vfat", \ > RUN+="/usr/bin/sudo -u %E{mount_user} /bin/mount %E{mount_path}/%E{mount_point}", \ > RUN+="/usr/bin/sudo -u %E{mount_user} /usr/bin/env DISPLAY=:0 /usr/bin/notify-send -t 2500 -u normal -i /usr/share/icons/oxygen/48x48/devices/drive-removable-media-usb-pendrive.png 'USB Flash automounted' '%E{mount_point}\n%E{ID_FS_LABEL}'" > ACTION=="remove", ENV{mount_point}!="", \ > RUN+="/bin/umount -l %E{mount_path}/%E{mount_point}", \ > RUN+="/bin/sed -i.bak '/^\/dev\/%k \S\+\/%E{mount_point} /d' /etc/fstab", \ > RUN+="/bin/rmdir %E{mount_path}/%E{mount_point}", \ > RUN+="/usr/bin/sudo -u %E{mount_user} /usr/bin/env DISPLAY=:0 /usr/bin/notify-send -t 1000 -u normal -i /usr/share/icons/oxygen/48x48/devices/drive-removable-media-usb-pendrive.png 'USB Flash disconnected' '%E{mount_point}\n%E{ID_FS_LABEL}'" > > ACTION=="add", ENV{mount_point}!="", ENV{ID_FS_LABEL}!="", \ > RUN+="/bin/ln -nsf %E{mount_point} %E{mount_path}/%E{ID_FS_LABEL}" > ACTION=="remove", ENV{mount_point}!="", ENV{ID_FS_LABEL}!="", \ > RUN+="/bin/rm %E{mount_path}/%E{ID_FS_LABEL}" > > --- /etc/udev/rules.d/99-usb-automount.rules --- > > > P.S. В процессе отладки после частого подключения/отключения разных флешек > два раза что-то ломалось в ядре и оно переставало реагировать на > подключение/отключение флешек, приходилось перегружаться. Не думаю, что > это вызвано моими правилами udev, скорее это просто баг в ядре. "Умирало" > оно оба раза в момент подключения флешки, и последние сообщения в логе > касающиеся usb были примерно такие: > > 2012-05-28_11:33:15.40111 kern.info: usb 2-1.1: new high-speed USB device number 118 using ehci_hcd > 2012-05-28_11:33:15.48422 kern.err: ehci_hcd 0000:00:1d.0: fatal error > 2012-05-28_11:33:15.48423 kern.err: ehci_hcd 0000:00:1d.0: HC died; cleaning up > 2012-05-28_11:33:15.48423 kern.err: ehci_hcd 0000:00:1d.0: force halt; handshake ffffc9000002e024 00004000 00004000 -> -110 > 2012-05-28_11:33:15.48423 kern.err: ehci_hcd 0000:00:1d.0: HC died; cleaning up > 2012-05-28_11:33:15.49011 kern.err: usb 2-1.1: device descriptor read/all, error -108 > 2012-05-28_11:33:15.49013 kern.err: hub 2-1:1.0: cannot disable port 1 (err = -19) > 2012-05-28_11:33:15.49013 kern.err: hub 2-1:1.0: cannot reset port 1 (err = -19) > 2012-05-28_11:33:15.49014 kern.err: hub 2-1:1.0: cannot disable port 1 (err = -19) > 2012-05-28_11:33:15.49014 kern.err: hub 2-1:1.0: cannot reset port 1 (err = -19) > 2012-05-28_11:33:15.49014 kern.err: hub 2-1:1.0: cannot disable port 1 (err = -19) > 2012-05-28_11:33:15.49015 kern.err: hub 2-1:1.0: cannot reset port 1 (err = -19) > 2012-05-28_11:33:15.49015 kern.err: hub 2-1:1.0: cannot disable port 1 (err = -19) > 2012-05-28_11:33:15.49015 kern.err: hub 2-1:1.0: unable to enumerate USB device on port 1 > 2012-05-28_11:33:15.49015 kern.err: hub 2-1:1.0: cannot disable port 1 (err = -19) > 2012-05-28_11:33:15.49016 kern.info: usb 2-1: USB disconnect, device number 2 > > Не знаю, куда можно этот баг отправить, т.к. по желанию его воспроизвести > не получается. Да и ядро 3.2.11-hardened - далеко не последняя версия, > может в более новых это уже пофиксили. > Натыкались на такую же проблему на работе. Это баг в ядре. Нашли и сделали патч. Если интерестно, могу поискать и выслать. -- Kind regards, RD18-UANIC ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-user-ru] отключение флешки без umount 2012-05-30 21:01 ` Ray Dudu @ 2012-05-31 6:50 ` Alex Efros 0 siblings, 0 replies; 16+ messages in thread From: Alex Efros @ 2012-05-31 6:50 UTC (permalink / raw To: gentoo-user-ru Hi! On Thu, May 31, 2012 at 12:01:31AM +0300, Ray Dudu wrote: > > Не знаю, куда можно этот баг отправить, т.к. по желанию его воспроизвести > > не получается. Да и ядро 3.2.11-hardened - далеко не последняя версия, > > может в более новых это уже пофиксили. > Натыкались на такую же проблему на работе. Это баг в ядре. Нашли и > сделали патч. Если интерестно, могу поискать и выслать. Да, конечно, интересно. Лучше всего ссылку на багтрекер генту/ядра/куда вы его отправили, чтобы отслеживать прогресс. -- WBR, Alex. ^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2012-05-31 6:51 UTC | newest] Thread overview: 16+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-05-27 16:33 [gentoo-user-ru] отключение флешки без umount Alex Efros 2012-05-27 20:19 ` [gentoo-user-ru] " Aleksandr Dezhin 2012-05-27 21:22 ` Alex Efros 2012-05-28 14:15 ` Vanush Misha Paturyan 2012-05-28 18:30 ` Alex Efros 2012-05-28 19:28 ` Alex Efros 2012-05-28 20:29 ` Vanush Paturyan 2012-05-28 21:25 ` Alex Efros 2012-05-27 21:13 ` Nikolay Ostanen 2012-05-27 21:31 ` Alex Efros 2012-05-28 0:18 ` Mad Deer 2012-05-27 21:33 ` Alex Efros 2012-05-27 21:54 ` Alex Efros 2012-05-28 17:07 ` Alex Efros 2012-05-30 21:01 ` Ray Dudu 2012-05-31 6:50 ` Alex Efros
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox