<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/109078/">http://git.reviewboard.kde.org/r/109078/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On February 21st, 2013, 3:32 p.m. UTC, <b>Simeon Bird</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">So, the patch looks fine, but, while not wanting to be negative, I want to ask if this project is really the right direction?
KDirWatch uses either inotify or stat internally, so I don't see how it would be better than using inotify?

fanotify looks quite useful, but we would still need to watch everything with inotify for moves, no?
Also I found on the kernel list that fanotify has some fairly large bugs:
http://article.gmane.org/gmane.linux.kernel/1441629/match=fanotify
http://thread.gmane.org/gmane.linux.kernel/1224800/focus=1439656

Particularly the fact that the first has not been found before suggests to me that not many people are using it, 
and that we will hit many more bugs. Of course, bugs can be fixed, but it suggests we should move carefully...

I'm not saying don't do it, I'm just wondering if the wiki is really the right approach, before a lot of code gets written.
Sorry if this is undue pooh-pooh.

Simeon</pre>
 </blockquote>







</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Hey Simeon

I was thinking more along the lines of allowing the users to use any combination of the following - inotify, kdirnotify( a dbus based api ) and fanotify.

There are two big problems with inotify -
* Non-recusrive watches
* Having to watch both the source and destination in order to receive file move events.

KDirNotify provides file deletion and move events, but only for applications that use KIO for doing so.
Fanotify allows recursive file watches, but does not provide deletion or move events.

If one wanted, one could use either - inotify + KDirNotify and avoid having to watch everything. Or maybe fanotify + KDirNotify and then one wouldn't even have to install so many watches.

I though it's high time to provide the users with an option to change backends if they want to. Maybe the default could be inotify + KDirWatch? Or we could just stick to the inotify only backend as possible.

What do you think?</pre>
<br />










<p>- Vishesh</p>


<br />
<p>On February 21st, 2013, 2:05 p.m. UTC, Gabriel Poesia wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Nepomuk and Vishesh Handa.</div>
<div>By Gabriel Poesia.</div>


<p style="color: grey;"><i>Updated Feb. 21, 2013, 2:05 p.m.</i></p>






<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This is about this task: http://community.kde.org/Projects/Nepomuk/4.11#File_Watcher

This abstract FileSystemMonitor class is basically the generic interface extracted from KInotify.
It also has a method to ignore paths based on a RegExpCache filter list, just like IgnoringKInotify.
</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">The empty test that includes it compiles.</pre>
  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>services/filewatch/filesystemmonitor.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>services/filewatch/filesystemmonitor.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>services/filewatch/test/CMakeLists.txt <span style="color: grey">(8b6ebe6)</span></li>

 <li>services/filewatch/test/filesystemmonitortest.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>services/filewatch/test/filesystemmonitortest.cpp <span style="color: grey">(PRE-CREATION)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/109078/diff/" style="margin-left: 3em;">View Diff</a></p>







  </td>
 </tr>
</table>








  </div>
 </body>
</html>