►
From YouTube: Ceph Crimson/SeaStore 2021-06-16
Description
A
Let's
start
last
week,
I've
been
looking
into
the
business
space
and
known
space,
part
of
a
unique
device
support
and
turns
out
the
only
real
space
reference
is
ftfs
tools
so
putting
outward,
we
need
to
define
the
zone
space
and
another
structure
by
our
own.
If
we
want
to
support
device.
A
Management,
we
also
was
looking
into
the
ftl
library
defined
in
in
spdk
for
more
inspirations
how
we
should
manage
the
zoom
device.
A
Apart
from
it,
I
was
also
reviewing
a
mature
hundred
pr
to
the
jeff
tbr
to
to
add
the
support
of
managing
multiple
multiple
zones,
and
that's
me,
trimming.
B
I
updated
the
get,
extend
the
pr
fixed
unit
test
bag
and
and
remove
the
from
the
catch
extent.
Another
one
is
when
I
do
the
unit
test.
B
I
found
that
one
of
the
three
unit
tests
that
has
has
issue,
but
the
system
may
make
a
api
test
that
seems
not
to
report
this
back
on
my
environment
and
I
always
meet
at
the
reference
use
counter
equal
to
one
a
third
happen,
so
I
have
talked
with
inches
if
using
couldn't
reproduce,
I
will
take
it
later
and
another
one
is
that
I
currently
I
can
use
the
riddles
to
do
the
radius
bench
tester
see
in
crimson
oil
c
and
c
stall,
debug
build.
B
When
I
use
the
release
build,
I
got
that
maybe
get
parent,
the
parent
is
not
get
their
parent
parent
is
not
pan
pointer
is
not
so
release
build.
Steel
has
problem
the
back,
build,
I
think,
not
to
trigger
this
too
much
garbage
collection,
so
maybe
not
meet
that
problem.
B
When
I
used
fl
to
do
the
test,
there
is
a
reactor
installed
at
some
on
mac
tree.
You
mentioned
there
is
a
printer
logger.
The
system
logger
when
the
logger
do
the
insert
iterator
for
some
string,
and
there
is
a
block
signal
happened.
B
B
Yeah
so
when
I
updated
to
the
current
master
branch
and
the
creator
pool
can't
return,
so
it
just
stopped
there
but
seems
something
wrong.
But
in
my
in
my
branch
I
can
create
pull
and
kind
create
image
and
you
can
do
read
those
bench
tests,
so
the
master
brand,
the
currently
master
brand
seems,
has
problem
for
the
for
the
correct
pool.
So
if
anybody
can
do
the
test
to
verify
the
verified,
if
it
has
problem,
maybe
just
my
impairment
has
a
problem.
B
B
Oh
okay,
so
just
start
the
system
on
the
with
the
restart
and
credit
proof.
So
it's
still
there
no
special
test.
C
C
B
B
I
file,
oh
no,
I
just
create
a
create
pool.
No.
D
A
But
you
you
managed
to
to
quit,
pull
and
also
manage
to
to
complete
some
mile
after
grip
on.
B
B
B
B
I
tried
two
just
the
two.
B
A
A
B
Parent
and
the
parent
check,
if
the
parent
is
exist
and
observed,
happened,
and
I
I
think
if
you
want
to
debug
that
issue,
you
can
use
the
mbd
mpd
testing
tool
because
it
is
simple
without
the
crimson
ic
without
the
other
tree.
Just
the
transaction
and
a
beauty
and
the
segmented
collection
cleaner,
so
fix
that
back
better
to
use
mbd.
B
C
A
C
That's
yeah,
that's
most
likely
the
reason
by
the
way,
you'd
want
to
formulate
some
gas
as
to
why
it's
happening
and
then
try
to
add
some
kind
of
code
to
make
it
more
likely
to
happen
under
debug
conditions,
but
that
stuff's
also
going
to
change
a
lot
with
the
new
interruptable
future
stuff.
So
not
sure
how
valuable
it
is
to
look
at.
A
Now
I
also
have
another
question
regarding
the
login
message:
did
you
manage
to
to
to
find
out
which
was
the
login?
The
line
added,
adding
a
login
message?
Was
it
for.
B
D
Sister
framework
friend,
the
patch
has
to
be
uploaded
by
this
week
or
one
week
within
one
week
time
the
good
case,
and
I
need
to
explore
the
c
store
friend.
Actually,
what
are
they?
What
are
the
interfaces
required
for
some
devices
yeah?
So
do
you
have
any
input
for
that.
D
About
the
zone
devices
so
on
devices
requirement
interface
requirements.
Do
you
have
any
inputs
for
me.
C
C
A
D
A
D
A
D
A
I
think,
but
I
think,
underneath
the
dvd
is
just
wrap
up
the
the
the
structure
like
zone
device,
long
range
and
the
the
magic
numbers
for
for
which
is
passed
to
the
io
control.
So,
yes,
I
will
take
a
look
at
it.
Instead
of
just
a
kernel.
D
C
But
yeah
the
task
is
to
figure
out
what
the
best
way
to
do.
It
is
with
the
understanding
that
we
need
to
poke
through
c
stroke
c
star,
but
ideally
we
don't
really
want
to
encode
a
whole
bunch
of
logic
and
c
star
if
we
can
avoid
it,
it's
much
more
difficult
to
change
c
star
than
it
is
to
change
your
own
code.
A
A
C
F
Hi
everybody.
First
I
have
this
draft
pl,
which
adds
a
formatting
for
some
osd
types
that
I'm
using
in
scrub
and
I'm
bumpy.
I'm
I
sent
it
to
you
because
I'm
wish
to
bump
the
fmt
lib
to
from
six
to
seven
actually
seven
one,
seven
one
three
at
a
minimum,
because
there
is
a
point
there
is
a
problem
with
gcc
compilations
on
some.
F
F
Okay,
take
a
look
if
you
and
also
I've
created
some
of
the
some
of
the
formatting
constructs
required,
and
this
is
a
I
would
like
to
have
this
emerge,
because
I'm
already
using
this
in
what
I
would
like
to
er
later
on,
which
is
the
back
end.
F
Another
thing
that
is
another
pair
that
is
ready
all
the
pr
is
this
one.
The
scrub,
scheduling
and
nia
suggested
that
I
run
it
for
a
full
rados
test
again,
so
I
marked
it
as
need
qa
and
I
try
to
get
it
tested,
but
if
you,
if
anybody
can
do
it
in
higher
priority,
I
liked
it
and
other
than
that
I
will
be
trying
to
solve
a
log
problem.
I
have
with
with
the
back
end
and
finish
with
that.
We
also
that's
it
for
me.
A
I
just
wanted
to
obtain
the
motivation
of
the
format,
the
format
pr,
because
we
always
have
a
we
all
we
have
override
of
the
operator
minus
minus,
which
enables
us
to
to
print
out
the
the
instance
of
the
structures.
So
what's
the
advantage
of
introducing
this,
this
formula.
F
Well
same
series:
you
did
in
one
of
your
pr's
like
hpr,
it's
easier
to
it's
easier
to
format,
strings
with
fmt.
I
don't
want
to
like
we
talked
today,
sometimes
before
I
don't
want
to.
I
don't
want
to
introduce
a
replacement
for
the
out
in
the
decided
not
to
do
that
to
leave
the
out
as
it
is,
but
I
would
rather
have,
as
in
in
code
that
is
common
to
in
scrap
code
that
is
common
to
both
classic
and
crimson,
to
have
what
I
can
do
with
a
regular
with
fmt
formatting
done
with
fmt.
F
F
The
benefit
apart
from
clearer
writing
is
speed,
is
supposed
to
be
much
faster
in
in
places
where
I
do.
We
are
using
those
prints
in
in
actual
not
just
testing
code,
and
actually
it
does.
It
does
exist.
A
Buffer,
but
in
my
case
I
the
reason
why
I
added
the
the
specifier
for
for
format.
Format
was
that
the
sequencer
does
not
have
a
octopuses
operator.
So
that's
why
and
the
only
user
of
the
sequencer
was
was
the
crimson.
So
that's
why
I
added
the
format
specifier,
but
I
got
you
all
your
point.
Thank
you.
C
Let's
see,
I
think
young
one's
patch
is
good
to
go
at
least
for
now.
It's
pretty
simplistic
and
it's
kind
of
early
days,
but
adequate
emerge.
I
think
next
steps
will
be
actually
wiring
it
into
the
transaction
manager,
interfaces
and
probably
the
extent
managers
who
end
us
working
on.
D
C
That
would
be
another
group
to
work
with
if
you
were
interested
yeah
yeah,
that
work
will
probably
become
pretty
substantial
yeah,
mainly
though
working
on
the
interrupted
future
conversion,
I'm
almost
done
converting
transaction
manager.
At
that
point,
I
will
push
a
patch
or
I
will
push
a
pr
with
those
changes,
and
then
we
can
adapt
all
of
transaction
managers.
Consumers
use
interrupted
full
future
as
well
in
future
prs.
That
will
be
a
little
bit
less
work.
C
E
Step
this
week
I
was,
I
was
still
debugging
the
placement
manager.
E
I
think
I've
been
testing
it
wrong
because
I
tried
to
test
it
with
crimson
and
sister
together,
but
it
seems
that
I
can
to
finish
creating
pools
and
I
think
I
I
should
been
trying
to
debug
the
debug
this
pr
by
using
the
star,
mpd
and.
C
E
Okay-
okay,
all
right,
I
I
will
try
to
debug
with
the
with
the
storm
video
next
week
on
well
well.
This
is
this
is
the
pr
I
created
when
oh
and
when
I
was
debugging,
the
crimson
and
or
it
seems
that
I
kept
encountering
issues
that
transactions
are
trying
to
read
invalid
extents,
which
are
invalid
invalidated
by
other
transactions
and
which-
and
this
caused
to
the
cost
of
the
crash
of
the
currency
osd,
and
I
I
think
some,
that's
that's
what
you
are
working
on
right
now,
right.
C
D
C
D
C
What
I'm
working
on
what
this
patch
set
will
do
is
make
it
so
that
everything
transaction
manager
and
below
is
using
an
interruptable
future
so
before
the
future
even
returns.
It'll
do
the
check
and
propagate
me
again
for
you,
so
you'd
never
be
able
to
observe
an
invalid
extent
in
the
first
place,
but
for
now
yes,
it's
possible
to
observe
an
inverted
extent.
The
correct
behavior
is
to
propagate
the
key
again:
okay,
okay,.
E
I
I
just
put
the
paste
the
the
pr
address
to
to
the
chat
window,
and
it
seems
with
this
pr
right
now,
when
I'm
testing
cistore
the
valid
external
issue,
it
doesn't
come,
doesn't
come
much.
Frequent
verb
doesn't
come
up
very
frequently,
but
it
seems
that
we
can
propagate
e
again,
but
this
may
cause
a
performance
issue.
E
But
when
I
was
testing
when
I
was
testing
the
pro
creation,
the
pg
creation
goes
very
slow,
maybe
10
seconds
one
for
one
pg
to
complete
the
creation,
and
it
seems
that
this
is
caused
by
transactions.
Keep
keep
keep
repeating.
C
C
To
be
tackled
once
the
store
is
basically
working
that
loop,
you're
observing
basically
can't
happen
under
normal.
I
o,
under
with
an
osd
with
like
a
non-trivial
amount
of
data
in
it
you're
not
just
touching
the
same
extents
over
and
over
and
over
again,
because
it's
a
case
specific
to
pg
creation,
and
I
don't
care
about
optimizing,
pg
creation
right
right
now
at
all.
Okay,
okay,.
E
I
got
it
oh,
when
debugging
the
stem
placement
manager.
I
encountered
this
this
error
on
and
right
now
it
seems
that
it
might
have
something
to
do
with
the
oh,
no
tree,
which
I'm
not
quite
familiar
with.
You
may
have
to
open
the
rail
file
to
find
the
error,
because
the
log
may
be
very
long.
There's
also
another
error.
E
I
remember
that
at
the
beginning
of
this
year,
when
we
were
testing
the
pg
recovery
mechanism
of
scrimson,
we
observed
some
rare
rarely
happened,
error
that
the
usd
when
the
osd
restarts
it
tends
to.
E
It
tries
to
read
an
osd
map
that
has
not
been
committed
to
disk
and
this
that
error
came
up
very
frequently
when
I
partly
fixed
the
invalid
extend
issue
and
right
now
I
can
confirm
that
before
the
error
occurs,
no
osd
is
down
or
up
and
there's
only
one
osd
in
the
testing
cluster
so
and
what
what
the
osd
tri
was
trying
to
read
is
an
osd
map
that
actually
never
reached
the
reached,
the
osd
and,
for
example,
maybe,
for
example,
the
latest
osd
map
that
reached
the
usd
is
osd
24
and
then,
when
the
error
occurs,
it
trusts
your
reader
sg25
and
there's
I
mean
you
need.
E
E
A
C
C
A
C
Access
logs,
because
it's
very
unlikely
to
be
a
bug
in
the
monitor
all
you
should
need-
is
messenger
logging
on
the
osd,
so
you
can
see
which
messages
were
sent
and
received.
E
I
I
think,
when,
when
an
osd
reached
the
the
prince
noise
and
when
an
osd
map
which
reaches
the
the
crimson
westy-
and
we
can
see
in
the
log
that
there
is
a
handle,
osd
map
line
there
right.
A
I
think
it's
with
a
debug
underscore
ms
equals
one.
We
always
print
out
the
receive.
The
message
understand
the
message:
okay,.
E
I
think
this
might
have
might
have
something
to
do
with
the
edge
condition
processing
when
we
trying
to
iterate
all
the
osd
maps.
Do
you
think
that's.
E
I
mean
maybe
it
tries
to
iterate
from
zero
to
24
and
actually,
what
is
trying
to
read
is
osd
map
one
two,
three
five
there's.
C
E
C
C
Seems
likely
that
there's
something
wrong
with
the
c
store
right
then
next,
so
try
to
reproduce
it
make
sure
any
relevancy
store
logging
is
on.
You
may
very
well.
C
Some
and
then
try.
C
When
the
map
arrives
at
the
osd,
if
it
did
at
all
and
when
it
got
written
down,
if
it
did
okay,
okay,
I
mean
it
sounds
like
something
is
causing
the
osd
to
try
to
read
a
map.
It
doesn't
have.
So
that's
something
basically
either
has
to
be
local
state
from
a
pg
or
from
the
super
block
or
something
or
it
has
to
be
a
message
from
someone
else.
C
F
C
A
Don't
know
that
that's
the
case,
because
the
the
osd
instant
hasn't
seen
the
osd
24
25
before
if.
A
G
Did
you
paste
all
the
logs
in
your
gist?
I
saw
5
000
lines
but
didn't
see
the
error
log.
E
Yeah,
actually
it's
maybe
a
hundred
thousand
lines.
The
gist
can
only
display
a
part
of
it
that
you
I
mean
you
may
have
to
download
the
raw
file.
Oh.
D
E
Okay,
yeah,
I'm
sorry,
sorry!
I
because
I
I
don't
know
I
can't
figure
out
what
water
logs
are
not
relevant
to
to
the
era,
so
I
paste
all
the
locks
onto
it.
Okay,.
G
Thank
you
is
that
the
fresh
start
of
the
osd
or
the
restart
fresh
start,
okay,.
G
Last
week,
the
pr
to
extend
the
oh,
no
tree,
node
sizes
is
merged
and
currently
I'm
I'm
using
fio
mbd
to
test
c
star.
I
see
some
issues
prevent
this
tour
to
running
out
and
I
I'm
working
on
the
fix
and
will
send
out
the
pia
soon.
G
C
G
The
cc
store
as
a
whole
excellent
cool.
C
The
context
there
is
that
transact
the
store
has
more
than
one
layer,
kifu,
there's
transaction
manager
which
deals
in
logical
block,
addresses
and
then
there's
the
top
layer
c
store
that
deals
in
objects.
C
If
you
use
the
c-store
driver,
it
actually
creates
whatever
four
megabyte
objects:
sort
of
like
rbd
and
uses
the
full
o-note
manager
stack
to
actually
manage
the
logical
data
on
disk.
If
you
just
use
the
transaction
manager
layer,
it
only
uses
raw
lba
extents,
that's
the
transaction
edge
layers,
so
you
can
isolate
the
performance
characteristics
of
the
different
layers,
at
least.
D
C
A
C
D
B
So
mvd
you,
you
should
disable
the
debug
output.
So
when
you
run
debugger
waste
output,
maybe
two
hours-
you
still
cannot
trigger
that
issue.
You
have
to
disable
the
debugger,
maybe
six
minutes
or
two
minutes.