<div dir="ltr"><div>We had two bugs filed recently [0][1] which suggest that when using the default backend for Pulp, i.e. <span class="gmail-pl-s"><span class="gmail-pl-pds"></span>pulpcore.app.models.storage.FileSystem Pulp should not be "moving" files. This is the default behavior Django gives us, and it destroys data when sync'ed from file:/// for example [1].</span></div><div><span class="gmail-pl-s"><br></span></div><div><span class="gmail-pl-s">I propose that with 3.1 we fix this bug by switching <span class="gmail-pl-s"><span class="gmail-pl-pds"></span>pulpcore.app.models.storage.FileSystem to leave files in place and either hard-link (same filesystem) or copy (different filesystem).</span></span></div><div><span class="gmail-pl-s"><span class="gmail-pl-s"><br></span></span></div><div><span class="gmail-pl-s"><span class="gmail-pl-s">This will require files to be cleaned up where before the were "moved" so they didn't need cleanup. This will include worker temp directories, uploaded files, uploaded files w/ the chunked API, and downloaded files during sync. I believe this is all straightforward, but an important side-effect of this change to identify. Plugin writers that manage files would also need to handle this, but can mostly rely on pulpcore cleaning up the worker temp directories and user-uploaded files.<br></span></span></div><div><span class="gmail-pl-s"><span class="gmail-pl-s"><br></span></span></div><div><span class="gmail-pl-s"><span class="gmail-pl-s">What do you think about this? Do you have concerns? Is there something better we can do?<br></span></span></div><div><span class="gmail-pl-s"><span class="gmail-pl-s"><br></span></span></div><div><span class="gmail-pl-s">[0]: <a href="https://pulp.plan.io/issues/5870">https://pulp.plan.io/issues/5870</a></span></div><div><span class="gmail-pl-s">[1]: <a href="https://pulp.plan.io/issues/5941">https://pulp.plan.io/issues/5941</a></span></div><div><span class="gmail-pl-s"><br></span></div><div><span class="gmail-pl-s">Thanks,</span></div><div><span class="gmail-pl-s">Brian<br></span></div><div><span class="gmail-pl-s"><br></span></div><div><span class="gmail-pl-s"><br></span></div><div><span class="gmail-pl-s"></span></div></div>