<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/114368/">http://git.reviewboard.kde.org/r/114368/</a>
     </td>
    </tr>
   </table>
   <br />





 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Errr.... wouldn't that completely change the behavior?

If i so far had a file in /mnt and a symlink to it in /home, KMountPoint::List::findByPath(/home/me/symlink) would have told me the file is in /mnt - now it will tell me it's on /home, what's wrong and i might false positively "safely" umount /mnt or whatever.

Also I wonder whether result will ever remain 0 (or you just effectively scratched KStandardDirs::realFilePath(path) completely)

And have you tested dumping in the behavior of the pathsAreParentAndChildOrEqual() local static?
Can it correctly handle non canonical paths ("../foo/../bar///.././foo/bar") at all?


I'd rather say that for a fix, GUIs should thread off KMountPoint resolution (as any I/O op...) or the function needs a nested eventloop (ewww...)</pre>
 <br />









<p>- Thomas Lübking</p>


<br />
<p>On December 9th, 2013, 5:16 p.m. UTC, Ralf Habacker 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 kdelibs.</div>
<div>By Ralf Habacker.</div>


<p style="color: grey;"><i>Updated Dec. 9, 2013, 5:16 p.m.</i></p>







<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>


 <a href="http://bugs.kde.org/show_bug.cgi?id=184062">184062</a>


</div>



<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kdelibs
</div>


<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;">KMountPoint::List::findByPath() calls realpath for each given path.
When using NetworkManager controlled connections on resume these calls
are blocked, because the connection is not ready at this state.
The function returns from the blocking state after a very long timeout (several minutes) . 
    
This patch avoids blocking realpath calls for pathes directly located in
/etc/mtab. As far as I can see there is no need to call realpath for this cases.
</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;">opensuse 12.2 x86_64, KDE 4.11.2</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>kdecore/io/kmountpoint.cpp <span style="color: grey">(d06d796)</span></li>

</ul>

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







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








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