Actions
Bug #23838
closedsave_torrent_file writes to omap (not atomic, not supported on ec pools)
Status:
Resolved
Priority:
Normal
Assignee:
-
Target version:
-
% Done:
0%
Source:
Tags:
torrent
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Description
seed::save_torrent_file() stores torrent data in omap on the head object, which is not atomic with respect to other operations on the head object. and head objects are stored in the data pool, which is allowed be erasure-coded. in that case, attempts to use omap will fail
this torrent data should be stored in xattrs along with other attributes, so it can be written to the head object in the same transaction. moving it to attrs will require some backward-compatibility in get_torrent_file() to read from omap if we don't see the attribute
Actions