-
Notifications
You must be signed in to change notification settings - Fork 210
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Linux/POSIX properties persistence #1780
Conversation
Hey @adreed-msft ! Thanks for putting this up - question - does this also include the metadata side-car'ing to Az Blobs in particular? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LG mostly. Few comments.
|
||
mask uint32 | ||
attributes uint64 | ||
numLinks uint64 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
better to align the types with statx struct.
so numLinks should be uint32
and mode should be uint16
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I disagree. This struct (and interface) is OS-agnostic, but POSIX specific. If we decide to support some other POSIX-based OS like MacOS or FreeBSD in the future for the POSIX property persistence feature, this could cause problems if we adhere to Linux-specific data typing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I meant those sizes are POSIX specific not Linux specific ("stat()" is a POSIX call and these sizes are not specific to statx()). So any POSIX OS should have the same sizes.
Do update the description wiht this version of the PR pls! thanks |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
This PR implements a new flag, --preserve-posix-properties that allows a user to persist the results of a statx(2) (or stat(2) if statx is unavailable) syscall on upload.
Download is not implemented in this PR. S2S is handled by metadata, and in S2S --preserve-posix-properties acts equivalently to --include-directory-stubs.