<table><tr><td style="">bruns created this revision.<br />bruns added reviewers: Baloo, Frameworks, poboiko, ngraham.<br />Herald added projects: Frameworks, Baloo.<br />Herald added a subscriber: kde-frameworks-devel.<br />bruns requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D16255">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>Baloo uses the metadata change time (stat.st_ctime, man 7 inode) to check<br />
for XAttr updates. This field corresponds to<br />
QFileInfo::metadataChangeTime(), while created() returns the first<br />
available of [birthtime, ctime, mtime].</p>

<p>On filesystems supporting birthtime (XFS, BTRFS) some files were<br />
continously reindexed as the BasicIndexingJob stored the ctime, while the<br />
UnindexedFileIterator compared the stored value with the btime. On the<br />
other hand, XAttr changes where not detected when ctime and btime<br />
initially matched, as the btime is fixed.</p>

<p>While at it, document the semantics of the two timestamps.</p></div></div><br /><div><strong>TEST PLAN</strong><div><ol class="remarkup-list">
<li class="remarkup-list-item">watch baloo_file with strace -efile during startup -> files with btime != ctime are indexed just once</li>
<li class="remarkup-list-item">add a Tag to a file -> file is immediately updated in index, not just after baloo_file restart (e.g. session restart)</li>
</ol></div></div><br /><div><strong>REPOSITORY</strong><div><div>R293 Baloo</div></div></div><br /><div><strong>BRANCH</strong><div><div>indexer_cleanup</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D16255">https://phabricator.kde.org/D16255</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>src/engine/documenttimedb.h<br />
src/file/basicindexingjob.cpp<br />
src/file/modifiedfileindexer.cpp<br />
src/file/unindexedfileiterator.cpp</div></div></div><br /><div><strong>To: </strong>bruns, Baloo, Frameworks, poboiko, ngraham<br /><strong>Cc: </strong>kde-frameworks-devel, ashaposhnikov, michaelh, astippich, spoorun, ngraham, bruns, abrahams<br /></div>