When reopening log files, Ceph's OSD could end up writing data to the wrong file descriptor.
Issue
-
When reopening log files, Ceph's OSD could end up writing data to the wrong file descriptor.
-
Log::reopen_log_file() must take the flusher lock to avoid closing an fd ::_flush() is still using.
-
This could result in lost log entries, or it could result in the log being written to a file descriptor which has been opened by the filestore. The latter case could cause data corruption.
Environment
-
Red Hat Ceph Storage 1.2.3
-
Red Hat Ceph Storage 1.3
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.