-
Notifications
You must be signed in to change notification settings - Fork 22
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
lofs fid improvements #35
Commits on Nov 29, 2015
-
lofs: walk: newfid must be fresh (or equal to fid)
Walk(9P) says: "The walk request carries as arguments an existing fid and a proposed newfid (which must not be in use unless it is the same as fid" This patch returns an error if the newfid is already in use, unless it is the same as fid. Signed-off-by: David Scott <dave.scott@unikernel.com>
Configuration menu - View commit details
-
Copy full SHA for 6d6168d - Browse repository at this point
Copy the full SHA 6d6168dView commit details -
lofs:
remove
shouldclunk
the fid in the failure caseThe Remove(9P) man page says: "The remove request asks the file server both to remove the file represented by fid and to clunk the fid, even if the remove fails." This patch includes a unit test which checks this behaviour. Signed-off-by: David Scott <dave.scott@unikernel.com>
Configuration menu - View commit details
-
Copy full SHA for 7797922 - Browse repository at this point
Copy the full SHA 7797922View commit details
Commits on Nov 30, 2015
-
lofs: bind fids to a
resource
recordThis is the start of a series of patches where we associate more server-side state with fids. Signed-off-by: David Scott <dave.scott@unikernel.com>
Configuration menu - View commit details
-
Copy full SHA for 0f76592 - Browse repository at this point
Copy the full SHA 0f76592View commit details -
lofs: server-side resources can have open handles
Note we are not yet storing these open handles. Signed-off-by: David Scott <dave.scott@unikernel.com>
Configuration menu - View commit details
-
Copy full SHA for 3c91734 - Browse repository at this point
Copy the full SHA 3c91734View commit details -
lofs: in
clunk
andremove
, close the resourceSigned-off-by: David Scott <dave.scott@unikernel.com>
Configuration menu - View commit details
-
Copy full SHA for 46b1e88 - Browse repository at this point
Copy the full SHA 46b1e88View commit details -
lofs:
open
andcreate
should open the resourceNote this means that the unit tests need to create the directories with `Read permission, for them to be successfully opened. This also implies that we perform an implicit mode check on `open` which we didn't do before. Signed-off-by: David Scott <dave.scott@unikernel.com>
Configuration menu - View commit details
-
Copy full SHA for 9559b57 - Browse repository at this point
Copy the full SHA 9559b57View commit details -
lofs:
read
andwrite
use cached handlesRather than opening fresh handles each time, we now use the handles from `open` or `create`. Note this means we have to hold a mutex around `seek`+`read` and `seek`+`write` to prevent parallel operations conflicting over the file position. Signed-off-by: David Scott <dave.scott@unikernel.com>
Configuration menu - View commit details
-
Copy full SHA for 6d3df76 - Browse repository at this point
Copy the full SHA 6d3df76View commit details -
test: check that reading out-of-bounds doesn't fail badly
If the client reads beyond the end of the directory, return with a length of 0 rather than an `Invalid_argument "Cstruct.sub..."` Signed-off-by: David Scott <dave.scott@unikernel.com>
Configuration menu - View commit details
-
Copy full SHA for 819f99a - Browse repository at this point
Copy the full SHA 819f99aView commit details -
lofs: remove of a symlink should use
lstat
A symlink can be dangling, which means that `stat` will return `ENOENT`. When removing we want to remove the symlink itself so `lstat` is appropriate. Signed-off-by: David Scott <dave.scott@unikernel.com>
Configuration menu - View commit details
-
Copy full SHA for c80459f - Browse repository at this point
Copy the full SHA c80459fView commit details -
lofs: use
return_unit
rather thanLwt.return ()
Signed-off-by: David Scott <dave.scott@unikernel.com>
Configuration menu - View commit details
-
Copy full SHA for 9917c62 - Browse repository at this point
Copy the full SHA 9917c62View commit details -
lofs: explicitly call
clunk
fromremove
This avoids duplicating the `clunk` internals (i.e. closing the associated Resource) Signed-off-by: David Scott <dave.scott@unikernel.com>
Configuration menu - View commit details
-
Copy full SHA for 4353f2c - Browse repository at this point
Copy the full SHA 4353f2cView commit details