-
Notifications
You must be signed in to change notification settings - Fork 38
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
Use patched fuser crate #8997
Draft
FirelightFlagboy
wants to merge
19
commits into
releases/3.2
Choose a base branch
from
8907-macfuse-overflow-time
base: releases/3.2
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Use patched fuser crate #8997
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
FirelightFlagboy
force-pushed
the
8907-macfuse-overflow-time
branch
2 times, most recently
from
November 28, 2024 09:06
d52e651
to
ff598df
Compare
FirelightFlagboy
force-pushed
the
8907-macfuse-overflow-time
branch
from
November 28, 2024 12:51
4c0bd83
to
5e67f47
Compare
7 tasks
While be merged once the other blocking issues listed in #9115 are merged or ready to review |
FirelightFlagboy
force-pushed
the
8907-macfuse-overflow-time
branch
3 times, most recently
from
December 19, 2024 14:08
5e67f47
to
50dcc3f
Compare
This was
linked to
issues
Jan 8, 2025
FirelightFlagboy
force-pushed
the
8907-macfuse-overflow-time
branch
3 times, most recently
from
January 15, 2025 14:33
8167aae
to
2f206cd
Compare
Related to #8990
… of the `updated` time.
And use the constant in `statfs`
FirelightFlagboy
force-pushed
the
8907-macfuse-overflow-time
branch
from
January 21, 2025 10:49
ba0eee2
to
c0904c5
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
TODOs
To inspect
opendir
on the root folderreaddir
on the root folderreleasedir
on the root foldercrtime
,ctime
,mtime
,atime
) ?crtime
,ctime
,mtime
,atime
) ?statfs
return valuegetattr
getattr
for root foldergetattr
for added filegetattr
for temp added file (._<file>
)getattr
for modified filegetattr
for temp modified file (._<file>
)create
create
for added filecreate
for temp added file (._<file>
)create
for modified filecreate
for temp modified file (._<file>
)open
open
for added fileopen
for temp added file (._<file>
)open
for modified fileopen
for temp modified file (._<file>
)write
write
for added filewrite
for temp added file (._<file>
)write
for modified filewrite
for temp modified file (._<file>
)read
read
for added fileread
for temp added file (._<file>
)read
for modified fileread
for temp modified file (._<file>
)flush
flush
for added fileflush
for temp added file (._<file>
)flush
for modified fileflush
for temp modified file (._<file>
)close
close
for added fileclose
for temp added file (._<file>
)close
for modified fileclose
for temp modified file (._<file>
)fuse-memfs
impl allow for._<file>
to be created but notparsec-cloud
impl, why is that?getattr
Compare the return value of
getattr
on root folderAttr returned by
memfs
implementationAttr returned by
parsec
implementationDiff between the returned value of
memfs
andparsec
implementationCompare the return value of
getattr
on added folderFirst attr returned by
memfs
lookup
lookup
on added fileFor
memfs
, all the lookup op returnedfile not found
for the added filelookup
on added._<file>
First attr return by
memfs
create
create
on added fileAttribute returned when creating a new file with
memfs
implopen
Nothing notable for
memfs
(it just open the file),flags
are set to 0 (a single time the value is set to 1, indicating thatO_WRONLY
is set)write
With
memfs
impl,write
write all the provided data and return the expected written bytes value.For the test file, it's done in 3 call with
data.len
andoffset
equals to (65536
,0
), (32768
,65536
), (1657
,98304
)read
With
memfs
impl,read
return a blob ofsize
bytes from the file.For the test file, it's done in 2 call (to read the full file) with a size of
65536
and34425
flush
Flush return nothing
close
(orrelease
)Release return nothing
statfs
First stat
Stat returned by
memfs
implStat returned by
parsec
implDiff between the returned value or
memfs
andparsec
implExplanation of the diff
For
blocks
: parsec always return 0, this could cause problem if the OS expect that value to be updated to check if a write operation is correct done,For
bfree
: Sinceblocks
is always 0,bfree
is always set tobavail
valueFor
files
: parsec return the value 0 which is incorrect here since the mountpoint is initialized with some files at the start (root dir, a folder and a file)For
ffree
: Sincefiles
is incorrect that value also is.For
bsize
: Both impl use different block sizeFor
namelen
: Both impl use different limitationFor
frsize
: Parsec set the value toBLOCK_SIZE
since it does not handle block smaller thanBLOCK_SIZE
,here
memfs
value is incorrect since likeparsec
it does not handle smaller blockA test was made with
memfs
where the valueblocks
,bfree
,files
andffree
where constant value, and the test still succeeded.After added file
Stat returned by
memfs
implThe impl of
parsec
is not correct:files
used stay at 0 all the time (causingffree
to remain unchanged)blocks
stay at 0 all the time (causingbfree
to remain unchanged)Note
As indicated in
statfs.first stat
, those values do not seem to be causing problemSince having them set to fixed values did not prevent
memfs
to conclude the test.fuse-memfs
impl allow for._<file>
to be created but notparsec-cloud
impl, why is that ?TODO: Test manually creating the
._<file>