D28195: Avoid double fetch and temporary hex encoding for NTFS attributes
Stefan BrĂ¼ns
noreply at phabricator.kde.org
Sun Mar 22 04:29:18 GMT 2020
bruns created this revision.
bruns added reviewers: Dolphin, dfaure.
Herald added a project: Frameworks.
Herald edited subscribers, added: kde-frameworks-devel; removed: Frameworks.
bruns requested review of this revision.
REVISION SUMMARY
The attrib is a DWORD (32 bit unsigned int) in the Windows APIs (see
WIN32_FILE_ATTRIBUTE_DATA), and exported as a 4 byte array by ntfs-3g.
As the size is known, there is no need to query it. As each file has
the "archive" flag set on creation, i.e. the first getxattr call typically
never returns 0, this cuts the number of syscalls by half.
Skip the temporary hex encoding of the value, it is pointless to hex-
encode the value and immediately after parse it again.
TEST PLAN
1. touch foo
2. getfattr -n system.ntfs_attrib_be -e hex foo
3. dolphin ./
4. setfattr -n system.ntfs_attrib_be -v 0x00000022
5. refresh dolphin
REPOSITORY
R241 KIO
BRANCH
ntfs_hidden
REVISION DETAIL
https://phabricator.kde.org/D28195
AFFECTED FILES
src/ioslaves/file/file_unix.cpp
To: bruns, #dolphin, dfaure
Cc: kde-frameworks-devel, LeGast00n, cblack, GB_2, michaelh, ngraham, bruns
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.kde.org/mailman/private/kfm-devel/attachments/20200322/2b7f8071/attachment.htm>
More information about the kfm-devel
mailing list