[okular] [Bug 454693] Okular throws error when saving to mounted Samba share

Kevin Ottens bugzilla_noreply at kde.org
Thu Aug 24 18:02:27 BST 2023


https://bugs.kde.org/show_bug.cgi?id=454693

Kevin Ottens <ervin at kde.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|https://invent.kde.org/fram |https://invent.kde.org/fram
                   |eworks/kio/-/commit/d248949 |eworks/kio/-/commit/3e6800b
                   |eea3e3dcbb9283f30eebcb9ae86 |378cd143cb9c4ca4cfa500916a5
                   |412cd1                      |e5c17c

--- Comment #16 from Kevin Ottens <ervin at kde.org> ---
Git commit 3e6800b378cd143cb9c4ca4cfa500916a5e5c17c by Kevin Ottens, on behalf
of Kevin Ottens.
Committed on 24/08/2023 at 19:02.
Pushed by ervin into branch 'kf5'.

Don't unlink + rename on CIFS mounts during copy operations

It turns out that the behavior of unlink() on CIFS mounts can be a bit
"interesting". If the file one tries to unlink is opened then the
operation is claimed to have succeeded but the filename is still visible
in the file hierarchy until the last handle is closed.

Since we rightfully attempt to copy under a temporary name + unlink +
rename during copy() operations this would end badly (as the unlink()
would "succeed" but the rename() would fail!). For instance Okular would
constantly hit this case but it's likely not the only one to be affected.

So instead we detect if the destination is a CIFS mount, in such cases
we now overwrite the file directly since this actually succeed.
(cherry picked from commit d248949eea3e3dcbb9283f30eebcb9ae86412cd1)

M  +7    -1    src/ioslaves/file/file_unix.cpp

https://invent.kde.org/frameworks/kio/-/commit/3e6800b378cd143cb9c4ca4cfa500916a5e5c17c

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Okular-devel mailing list