LINUX.ORG.RU

inotify в ядре


0

2

Привет всем! Расскажите, кто-нибудь юзал inotify в ядре? У меня есть прога - демон, использующая обычный интерфейс inotify. Мне нужно её переписать как модуль ядра! Подскажите пожалуйста как это сделать! Мне вообще не понятно что это за интерфейс у linux/inotify =((


Ответ на: комментарий от adriano32

>notify_change

Если с её помощью можно отследить требуемое изменение в VFS, а inotify, как сказал ttnl невозможно использовать иначе как из юзерспейса, то может можно придумать как использовать это.

Меня всегда веселит, когда люди даже мало-мальски не разбирающиеся в предмете, пытаются что-то объяснить другим. Я конечно понимаю необуздаемую тягу помочь новичку любым способом, но нужно себя сдерживать.

Проблема не в юзерспейсе, а в том что нет интерфейсов с такой функциональностью. Если нет интерфейсов, значит использовать невозможно. И никакой быдлокодерский способ не будет стабильным. Эта функция, которую ты написал, она вообще для другого предназначена.

Дописание требуемой функциональности тянет на _нормальный_ диплом, но никак на студенческое задание или курсовую. Особенно если учат застрявшие во времена ms-dos старперы.

ttnl ★★★★★
()
Ответ на: комментарий от ttnl

люди даже мало-мальски не разбирающиеся в предмете, пытаются что-то объяснить другим. ... тягу помочь новичку любым способом

Да, это так. И не вижу ничего плохого, когда нубы вместе ищут решение задач, если спецы при этом __с ухмылкой молча__ наблюдают со стороны.

>>требуемой функциональности тянет

А как же «Just for fun»?

adriano32 ★★★
()

У вас типично неправильная задача, так сказать с ошибкой в ТЗ. А ваши товарищи делающие драйверы с мигающей лампочкой в сущности правы. Самым близким полезным действием было бы написание драйвера к простому устройству к которому дров нету - а такие все уже написали :) В крайнем случае это может быть самопальное устроство - но для этого должно быть таковое устройство.

Самым близким решением ЕМНИП будет найти доки по созданию ядерных тредов, где код модуля исполняется как юзерский процесс. Тогда из него можно будет делать сисколлы.

kernel ★★☆
()
Ответ на: комментарий от kpx13

>Я даже к зав кафедрой ходила с заявлением что не хочу использовать продукты от MS
зачем же впадать в крайности? испульзуй по учёбе MS, а дома будешь изучать свободные технологии, будешь и в том и в другом разбираться.

dimon555 ★★★★★
()

> inotify в ядре

author     Eric Paris <eparis@redhat.com>
           Fri, 18 Dec 2009 01:30:52 +0000 (20:30 -0500)
committer  Eric Paris <eparis@redhat.com>	
           Wed, 28 Jul 2010 13:58:31 +0000 (09:58 -0400)
commit     2dfc1cae4c42b93b831b2417540df2b895ab7108
…

inotify: remove inotify in kernel interface

nothing uses inotify in the kernel, drop it!

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2dfc1cae4c42b93b831b2417540df2b895ab7108

там сейчас модно fsnotify использовать.

зы: не боян ли я запостил? :)

arsi ★★★★★
()
Ответ на: комментарий от kpx13

> Я даже к зав кафедрой ходила с заявлением что не хочу использовать продукты от MS

Да я б на тебе женился!

drull ★☆☆☆
()
Ответ на: комментарий от drull

Учитывая Вконтакт вы уже третий претендент ))

pylin ★★★★★
()
Ответ на: комментарий от kpx13

Я не хочу ничего вообще знать о их продуктах!

Ты уже нашла высокооплачиваемую работу, в рамках которой не приходится сталкиваться с продукцией Этой компании или реализовывать взаимодействие с продуктами Этой компании из-под *nix/Linux?
Если да, я могу только за тебя порадоваться, мне пока не удаётся...

adriano32 ★★★
()
Ответ на: комментарий от kpx13

> Я даже к зав кафедрой ходила с заявлением что не хочу использовать продукты от MS

Напрасно, можно сильно не любить MS и её технологии, но жизнь такая штука, что в ней к сожалению часто приходится делать то, что не нравится делать. И мало кому этого удаётся избежать.

Я бы на месте зав кафедрой тебя чисто в воспитательных целях заставил бы что-то переписывать с Linux на Windows =) Тем более, что с чисто технологической точки зрения у MS есть интересные вещи. Ту же Windows NT ведь написал Дэвид Катлер, автор VMS и в WNT были любопытные архитектурные находки. Например, Win32 должна была быть лишь одним из вариантов абстракций для прикладного уровня. И ещё кучи разных плюшек.

Их правда менеджеры загнобили в итоге, но тем не менее. C# - интересный язык, на самом деле.

anonymous_incognito ★★★★★
()
Ответ на: комментарий от kpx13

Не сдавайтесь так легко и не обращайте внимание на тех, кто говорит «невозможно» :)

В linux многое возможно, хотя часто очень сложно. И хрен найдешь документацию.

Я наконец-то вышел из больницы и могу теперь погрузиться в недра кода ядра. Так что попробую и я вам помочь. :)

Для начала, про использование inotify в ядре в чистом виде:

inotify struct inotify_handle *inotify_init(const struct inotify_operations *);

struct inotify_operations {
  void (*handle_event)(struct inotify_watch *, u32, u32, u32,
		       const char *, struct inode *);
  void (*destroy_watch)(struct inotify_watch *);
};

Этот файл (Documentations/filesystems/inotify.txt) устарел если и не полностью, то очень сильно, ибо таких структур в ядре нет и в помине сейчас.

Во-вторых, имеющиеся системные вызовы inotify_init, inotify_init1, inotify_add_watch и inotify_rm_watch в настоящее время реализованы через вызовы к fsnotify, что и вам советую сделать, так как эта система предоставляет более широкие возможности по слежению за файлами.

P.S. Если что не так написал, местные знатоки поправят, как всегда, в своей манере и обязательно анонимно :)

delete83 ★★
()
Ответ на: комментарий от anonymous_incognito

> Я даже к зав кафедрой ходила с заявлением что не хочу использовать продукты от MS

Напрасно, можно сильно не любить MS и её технологии, но жизнь такая штука, что в ней к сожалению часто приходится делать то, что не нравится делать. И мало кому этого удаётся избежать.

Согласен. Продукты от MS могут быть хорошими или плохими, но не любить их только за то, что они от империи зла, глупо. Вы сами же ограничиваете свои возможности, хотя Линукс создавался, чтоб ваши возможности расширять.

delete83 ★★
()
Ответ на: комментарий от delete83

А я и не говорила что только за это =)) Меня просто-напросто от них тошнит, и я просто НЕ ХОЧУ это использовать. сама.

kpx13
() автор топика
Ответ на: комментарий от VladimirMalyk

Хорошо) Но у меня ничего особенного нет, я уже с этим не заморачиваюсь)

kpx13
() автор топика
Ответ на: комментарий от kpx13

> Я даже к зав кафедрой ходила с заявлением что не хочу использовать продукты от MS

Я бы сказал так- если у Вас будут знания о продуктах Микрософта - это поможет Вам потом более аргументированно объяснять другим людям, за что Вы эти продукты не любите.

У меня вон на работе второй системой стоит WinXP. Запускаю её периодически, чтоб документацию править на программы, которые мы пишем (к счастью, не под винду). Этого мне хватает, чтобы лишний раз порадоваться тому, что дома у меня дебиан.

hobbit ★★★★★
()
Ответ на: комментарий от anonymous_incognito

Ну Вы ещё NT Posix subsystem вспомните :)

hobbit ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.