You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildstream.apache.org by GitBox <gi...@apache.org> on 2022/01/18 21:15:50 UTC

[GitHub] [buildstream] doraskayo edited a comment on pull request #1568: fuse: Pass through the underlying filesystem's inode numbers

doraskayo edited a comment on pull request #1568:
URL: https://github.com/apache/buildstream/pull/1568#issuecomment-1015839360


   @juergbi, you're right. `ensure_copy()` creates a copy of a file when the file is hardlinked, and the new file is assigned a new inode number by the undetlying filesystem. Since this PR passes through the underlying filesystem's inode numbers, this new inode number would be reflected to callers of stat(2).
   
   Without this PR, libfuse's internally-generated inode was consistent for each unique path and as long as the file wasn't unlinked. However, it also meant that different hardlinks of the same file had different inode numbers, which is also somewhat inconsistent, but in a different way.
   
   I honestly don't have a better idea on how to avoid both inconsistencies, or even only the former inconsistency, while providing a consistent inode number in readdir(2). I'm not sure if it's even possible given the limitations of FUSE.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@buildstream.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org