-
Notifications
You must be signed in to change notification settings - Fork 416
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
[#5734] feat (gvfs-fuse): Gvfs-fuse basic FUSE-level implementation and code structure layout #5835
Conversation
/// the `file_id` and `parent_file_id` it is the unique identifier for the file system, it is used to identify the file or directory | ||
/// the `fh` it is the file handle, it is used to identify the opened file, it is used to read or write the file content | ||
#[async_trait] | ||
pub(crate) trait RawFileSystem: Send + Sync { |
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.
The name of RawFileSystem
is confusing, could you provide better name?
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 think the name is OK, Could you have a good suggestion.
}) | ||
} | ||
|
||
async fn destroy(&self, _req: Request) {} |
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.
why not release the resource in local_fs here?
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.
That's not implemented yet.
How do you pass user information to Gravitino? |
This pr is not touch |
f59eb23
to
515a2d8
Compare
pub(crate) ctime: Timestamp, | ||
|
||
// file link count | ||
pub(crate) nlink: u32, |
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.
do we need nlink
?
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.
That's a reference count of the file. we may use it later.
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.
Could you provide an example about how to use it ?
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.
This can be considered in a later PR. Let's first push the framework so others can join in.
LGTM, except minor comments |
d15fd9d
to
96d442c
Compare
83436a4
to
a423492
Compare
async fn create_file(&self, parent_file_id: u64, name: &str, flags: u32) -> Result<FileHandle>; | ||
|
||
/// Create the directory by parent file id and file name | ||
/// Create the directory by parent file id and file name, if successful, return the file id |
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.
How about defining a new type FileID
not using u64 directly here?
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.
use u64 is ok. It shouldn't be necessary.
…tion and code structure layout (apache#5835) ### What changes were proposed in this pull request? 1. Implement basic FUSE interfaces. 2. Implement filesystem trait and relation structures. ### Why are the changes needed? Fix: apache#5734 ### Does this PR introduce _any_ user-facing change? No ### How was this patch tested? No
…tion and code structure layout (apache#5835) ### What changes were proposed in this pull request? 1. Implement basic FUSE interfaces. 2. Implement filesystem trait and relation structures. ### Why are the changes needed? Fix: apache#5734 ### Does this PR introduce _any_ user-facing change? No ### How was this patch tested? No
…nd code structure layout (#5835) ### What changes were proposed in this pull request? 1. Implement basic FUSE interfaces. 2. Implement filesystem trait and relation structures. ### Why are the changes needed? Fix: #5734 ### Does this PR introduce _any_ user-facing change? No ### How was this patch tested? No
…tion and code structure layout (apache#5835) ### What changes were proposed in this pull request? 1. Implement basic FUSE interfaces. 2. Implement filesystem trait and relation structures. ### Why are the changes needed? Fix: apache#5734 ### Does this PR introduce _any_ user-facing change? No ### How was this patch tested? No
What changes were proposed in this pull request?
Why are the changes needed?
Fix: #5734
Does this PR introduce any user-facing change?
No
How was this patch tested?
No