Skip to content
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

Implement mq_getsetattr(2). #6457

Closed
wants to merge 26 commits into from

Conversation

sudo-sturbia
Copy link
Contributor

@sudo-sturbia sudo-sturbia commented Aug 14, 2021

This PR is a followup to #6429 that implements mq_getsetattr(2).

Updates #136

@google-cla google-cla bot added the cla: yes CLA has been signed label Aug 14, 2021
@sudo-sturbia sudo-sturbia changed the title Implement mq_getsetattr(2) and mq_notify(2). Implement mq_getsetattr(2). Aug 15, 2021
@sudo-sturbia sudo-sturbia marked this pull request as ready for review August 15, 2021 21:46
@mrahatm mrahatm self-requested a review August 17, 2021 23:13
@sudo-sturbia sudo-sturbia force-pushed the mq/syscalls3 branch 2 times, most recently from 803c6ac to 6aed219 Compare August 20, 2021 16:14
@sudo-sturbia sudo-sturbia force-pushed the mq/syscalls3 branch 3 times, most recently from 5f37b5e to 453bc6c Compare September 15, 2021 18:59
rootInode represents the root inode for mqueue filesystem (/dev/mqueue).

Updates google#136
Create package mq to implement POSIX message queues, and define initial
struct definitions.

Updates google#136
Implement inode and file description representing a POSIX message queue,
and other utilities needed to implement file operations.

Updates google#136
Define a POSIX message queue Registry and RegistryImpl in mq package,
implement RegistryImpl in mqfs, and add a Registry object to
IPCNamespace initialized at filesystem creation.

Updates google#136
CtxIPCNamespace is needed by mqfs package to be able to retreive an
IPCNamespace using ctx.Value. As ctx.Value compares keys as interfaces,
we need to use type kernel.contextID in package mqfs, which is not
possible due to circular depenedency, so move it to kernel/ipc instead.

Updates google#136
Move root dentry and filesystem creation from GetFilesystem to
NewRegistryImpl, create IPCNamespace.InitPosixQueues to create a new
mqueue filesystem for each ipc namespace, and update GetFilesystem to
retreive fs and root dentry from IPCNamespace and return them.

Updates google#136
View makes it easier to handle O_RDONLY, O_WRONLY, and ORDWR options in
mq_open(2).

Updates google#136
Update RegistryImpl functions to return file descriptions, instead of
queues, and use Views in queue inodes.

Updates google#136
FindOrCreate implements the behaviour of mq_open(2).

Updates google#136
Remove implements the behaviour of mq_unlink(2).

Updates google#136
Support mq_open and mq_unlink, and enable syscall tests.

Updates google#136
send implements functionality of mq_timedsend(2).

Updates google#136
receive implements functionality of mq_timedreceive(2).

Updates google#136
viewImpl implements View and is embedded in different views to avoid
code repetition.

Updates google#136
Implement syscall stubs and enable tests.

Updates google#136
Attr and Set implement the functionality of mq_getattr(3) and
mq_setattr(3).

Updates google#136
Implement syscall stub and enable tests.

Updates google#136
@github-actions
Copy link

A friendly reminder that this PR had no activity for 120 days.

@github-actions github-actions bot added the stale-pr This PR has not been updated in 120 days. label Sep 13, 2023
Copy link

This PR has been closed due to lack of activity.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
auto-closed cla: yes CLA has been signed stale-pr This PR has not been updated in 120 days.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants