Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jacobsa-fuse
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
jacobsa-fuse
Commits
54db03b6
Commit
54db03b6
authored
Aug 04, 2015
by
Aaron Jacobs
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
errorFS.LookUpInode
parent
c71b2cbf
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
27 additions
and
5 deletions
+27
-5
samples/errorfs/error_fs.go
samples/errorfs/error_fs.go
+27
-5
No files found.
samples/errorfs/error_fs.go
View file @
54db03b6
...
@@ -31,6 +31,12 @@ const FooContents = "xxxx"
...
@@ -31,6 +31,12 @@ const FooContents = "xxxx"
const
fooInodeID
=
fuseops
.
RootInodeID
+
1
const
fooInodeID
=
fuseops
.
RootInodeID
+
1
var
fooAttrs
=
fuseops
.
InodeAttributes
{
Nlink
:
1
,
Size
:
uint64
(
len
(
FooContents
)),
Mode
:
0444
,
}
// A file system whose sole contents are a file named "foo" containing the
// A file system whose sole contents are a file named "foo" containing the
// string defined by FooContents.
// string defined by FooContents.
//
//
...
@@ -103,11 +109,7 @@ func (fs *errorFS) GetInodeAttributes(
...
@@ -103,11 +109,7 @@ func (fs *errorFS) GetInodeAttributes(
}
}
case
op
.
Inode
==
fooInodeID
:
case
op
.
Inode
==
fooInodeID
:
op
.
Attributes
=
fuseops
.
InodeAttributes
{
op
.
Attributes
=
fooAttrs
Nlink
:
1
,
Size
:
uint64
(
len
(
FooContents
)),
Mode
:
0444
,
}
default
:
default
:
err
=
fmt
.
Errorf
(
"Unknown inode: %d"
,
op
.
Inode
)
err
=
fmt
.
Errorf
(
"Unknown inode: %d"
,
op
.
Inode
)
...
@@ -116,3 +118,23 @@ func (fs *errorFS) GetInodeAttributes(
...
@@ -116,3 +118,23 @@ func (fs *errorFS) GetInodeAttributes(
return
return
}
}
// LOCKS_EXCLUDED(fs.mu)
func
(
fs
*
errorFS
)
LookUpInode
(
ctx
context
.
Context
,
op
*
fuseops
.
LookUpInodeOp
)
(
err
error
)
{
if
fs
.
transformError
(
op
,
&
err
)
{
return
}
// Is this a known inode?
if
!
(
op
.
Parent
==
fuseops
.
RootInodeID
&&
op
.
Name
==
"foo"
)
{
err
=
syscall
.
ENOENT
return
}
op
.
Entry
.
Child
=
fooInodeID
op
.
Entry
.
Attributes
=
fooAttrs
return
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment