Allow disabling of CoW to fail when not supported by filesystem
ClosedPublic

Authored by bruns on Apr 12 2018, 12:26 AM.

Details

Summary

It is fine to neither support reading of attrs nor setting the NO_COW
flag. The latter only happens when the filesystem does not use CoW at
all.

Test Plan

make
TMPDIR=<dir on XFS> ctest
TMPDIR=<dir on BTRFS> ctest
strace -eioctl -f ctest -R transactiontest

Works on BTRFS and TMPFS, silently ignores EOPNOTSUPP on XFS (without reflink support)

Diff Detail

Repository
R293 Baloo
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
bruns created this revision.Apr 12 2018, 12:26 AM
Restricted Application added projects: Frameworks, Baloo. · View Herald TranscriptApr 12 2018, 12:26 AM
Restricted Application added a subscriber: Frameworks. · View Herald Transcript
bruns requested review of this revision.Apr 12 2018, 12:26 AM
bruns updated this revision to Diff 31946.Apr 12 2018, 12:51 AM
bruns edited the test plan for this revision. (Show Details)

update function documentation

adridg accepted this revision.Apr 12 2018, 8:24 AM
adridg added a subscriber: adridg.

Accepted as "doesn't hurt the non-Linux crowd, since they all live in the #ifndef Q_OS_LINUX branch"

This revision is now accepted and ready to land.Apr 12 2018, 8:24 AM

May I have another accept/review (for the stack) from Frameworks or Baloo ?

bruns requested review of this revision.Apr 12 2018, 7:42 PM

Make it obvious this should have some more review ...

@michaelh can you accept - I can't ...

michaelh accepted this revision.Apr 15 2018, 12:43 PM

Of course, but what's the logic here? Does it have to be accepted by a member of Baloo other than you? If I had known ....

This revision is now accepted and ready to land.Apr 15 2018, 12:43 PM

The original author/submitter of a diff for review isn't able to approve their own review, which is why Stefan wasn't permitted to approve this diff.

This revision was automatically updated to reflect the committed changes.

The original author/submitter of a diff for review isn't able to approve their own review, which is why Stefan wasn't permitted to approve this diff.

Yes, thanks. That's the the part I had figured out (wouldn't make much sense otherwise). This patch already had been accepted so it surprised me that my approval was also necessary.

If there are multiple reviewers then approval of all reviewers is required which is why your approval was also needed

If there are multiple reviewers then approval of all reviewers is required which is why your approval was also needed

Good to know, thanks.