Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
5cab3295
Commit
5cab3295
authored
Aug 10, 2015
by
Alex Robinson
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #12502 from gambol99/rj/rbd_defencing_fix
- fixed the defencing of the rbd lock
parents
3beb7f29
dc23ded0
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
12 deletions
+17
-12
rbd.go
pkg/volume/rbd/rbd.go
+13
-8
rbd_util.go
pkg/volume/rbd/rbd_util.go
+4
-4
No files found.
pkg/volume/rbd/rbd.go
View file @
5cab3295
...
@@ -148,13 +148,18 @@ func (plugin *rbdPlugin) NewCleaner(volName string, podUID types.UID, mounter mo
...
@@ -148,13 +148,18 @@ func (plugin *rbdPlugin) NewCleaner(volName string, podUID types.UID, mounter mo
}
}
func
(
plugin
*
rbdPlugin
)
newCleanerInternal
(
volName
string
,
podUID
types
.
UID
,
manager
diskManager
,
mounter
mount
.
Interface
)
(
volume
.
Cleaner
,
error
)
{
func
(
plugin
*
rbdPlugin
)
newCleanerInternal
(
volName
string
,
podUID
types
.
UID
,
manager
diskManager
,
mounter
mount
.
Interface
)
(
volume
.
Cleaner
,
error
)
{
return
&
rbdCleaner
{
&
rbd
{
return
&
rbdCleaner
{
podUID
:
podUID
,
rbdBuilder
:
&
rbdBuilder
{
volName
:
volName
,
rbd
:
&
rbd
{
manager
:
manager
,
podUID
:
podUID
,
mounter
:
mounter
,
volName
:
volName
,
plugin
:
plugin
,
manager
:
manager
,
}},
nil
mounter
:
mounter
,
plugin
:
plugin
,
},
Mon
:
make
([]
string
,
0
),
},
},
nil
}
}
type
rbd
struct
{
type
rbd
struct
{
...
@@ -211,7 +216,7 @@ func (b *rbdBuilder) SetUpAt(dir string) error {
...
@@ -211,7 +216,7 @@ func (b *rbdBuilder) SetUpAt(dir string) error {
}
}
type
rbdCleaner
struct
{
type
rbdCleaner
struct
{
*
rbd
*
rbd
Builder
}
}
var
_
volume
.
Cleaner
=
&
rbdCleaner
{}
var
_
volume
.
Cleaner
=
&
rbdCleaner
{}
...
...
pkg/volume/rbd/rbd_util.go
View file @
5cab3295
...
@@ -143,7 +143,7 @@ func (util *RBDUtil) persistRBD(rbd rbdBuilder, mnt string) error {
...
@@ -143,7 +143,7 @@ func (util *RBDUtil) persistRBD(rbd rbdBuilder, mnt string) error {
return
nil
return
nil
}
}
func
(
util
*
RBDUtil
)
loadRBD
(
rbd
*
rbd
,
mnt
string
)
error
{
func
(
util
*
RBDUtil
)
loadRBD
(
builder
*
rbdBuilder
,
mnt
string
)
error
{
file
:=
path
.
Join
(
mnt
,
"rbd.json"
)
file
:=
path
.
Join
(
mnt
,
"rbd.json"
)
fp
,
err
:=
os
.
Open
(
file
)
fp
,
err
:=
os
.
Open
(
file
)
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -152,7 +152,7 @@ func (util *RBDUtil) loadRBD(rbd *rbd, mnt string) error {
...
@@ -152,7 +152,7 @@ func (util *RBDUtil) loadRBD(rbd *rbd, mnt string) error {
defer
fp
.
Close
()
defer
fp
.
Close
()
decoder
:=
json
.
NewDecoder
(
fp
)
decoder
:=
json
.
NewDecoder
(
fp
)
if
err
=
decoder
.
Decode
(
rbd
);
err
!=
nil
{
if
err
=
decoder
.
Decode
(
builder
);
err
!=
nil
{
return
fmt
.
Errorf
(
"rbd: decode err: %v."
,
err
)
return
fmt
.
Errorf
(
"rbd: decode err: %v."
,
err
)
}
}
...
@@ -173,7 +173,7 @@ func (util *RBDUtil) defencing(c rbdCleaner) error {
...
@@ -173,7 +173,7 @@ func (util *RBDUtil) defencing(c rbdCleaner) error {
return
nil
return
nil
}
}
return
util
.
rbdLock
(
rbdBuilder
{
rbd
:
c
.
rbd
}
,
false
)
return
util
.
rbdLock
(
*
c
.
rbdBuilder
,
false
)
}
}
func
(
util
*
RBDUtil
)
AttachDisk
(
b
rbdBuilder
)
error
{
func
(
util
*
RBDUtil
)
AttachDisk
(
b
rbdBuilder
)
error
{
...
@@ -262,7 +262,7 @@ func (util *RBDUtil) DetachDisk(c rbdCleaner, mntPath string) error {
...
@@ -262,7 +262,7 @@ func (util *RBDUtil) DetachDisk(c rbdCleaner, mntPath string) error {
}
}
// load ceph and image/pool info to remove fencing
// load ceph and image/pool info to remove fencing
if
err
:=
util
.
loadRBD
(
c
.
rbd
,
mntPath
);
err
==
nil
{
if
err
:=
util
.
loadRBD
(
c
.
rbd
Builder
,
mntPath
);
err
==
nil
{
// remove rbd lock
// remove rbd lock
util
.
defencing
(
c
)
util
.
defencing
(
c
)
}
}
...
...
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