D19784: Avoid calling QT_LSTAT and accessing recent documents

Robert Hoffmann noreply at phabricator.kde.org
Fri Mar 15 13:01:32 GMT 2019


hoffmannrobert created this revision.
Herald added a project: Plasma.
Herald added a subscriber: plasma-devel.
hoffmannrobert requested review of this revision.

REVISION SUMMARY
  Document entries pointing to unavailable network shares freeze
  the application menu, so avoid calling QT_LSTAT (lstat64())
  three times for each list item and reading the first 16k of
  each document when showing the recent documents list in application
  menu.
  
  The current behaviour of accessing each document in the list
  just by browsing the application menu is inacceptable in large
  enterprise environments where thousands of users work
  with documents located on mounted network shares. This induces
  additional load on filers and network, slows down working
  with the menu and makes its functioning dependent on network
  and remote filesystems.

TEST PLAN
  1. Open a document on a mounted network share, e.g. a text document on a CIFS share with Libreoffice Writer or Kate.
  2. Open the application menu (kicker), look at Recent Documents, the document's filename should be there.
  3. Pull out the network plug, open the application menu, try to open Recent Documents. Without this patch, the application menu doesn't work anymore and just hangs. With this patch applied, the menu continues working.

REPOSITORY
  R119 Plasma Desktop

BRANCH
  fix_recent_documents_kicker_hang

REVISION DETAIL
  https://phabricator.kde.org/D19784

AFFECTED FILES
  applets/kicker/plugin/recentusagemodel.cpp

To: hoffmannrobert
Cc: plasma-devel, jraleigh, GB_2, ragreen, Pitel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20190315/9f4ae770/attachment.html>


More information about the Plasma-devel mailing list