►
From YouTube: Ceph Crimson/SeaStore 2021-04-14
Description
A
All
right,
so,
let's
start
last
week,
I've
been
leaving
prs
and
after
done
with
the
yum
to
see
proper
migration,
I
will
try
to
wrap
up
the
the
pr
reviews
from
from
retec
and
shahad,
hopefully
by
the
end
of
this
week,
and
let
me
redick.
B
Okay,
I
will
just
repeat
the
instagram
from
the
yesterday
sync
up
last
week,
I
sent
a
bunch
of
pr's
related
to
watch.
Notify
implementation
like
the
timeout,
separate
from
for
watches,
which
we,
which
is
built
on
top
of
the
internal
client
infrastructure,
plus
some
minor
fixes,
like
a
second
in
the
notify
around
the
notify
class,
are
its
time
of
handling.
B
B
As
you
know,
classical
classical
osd
in
classical
usd
the
watch
is
aware
is
coupled
with
the
session.
It's
it's
done
through
the
weight,
the
fruity.
Sorry,
a
watch
con
state
class.
It
sits
in
the
session
in
in
the
session,
it's
a
member
of
the
session
class
yeah.
Here's
the
link,
okay,
the
reason
why.
C
Okay?
Well,
it
is
you
sorry,
I'm
always
sorry.
B
Pop
stop
pattern
with
osd
provides
such
functionality
a
client
one
client
can
set
up
a
watch
on
a
particular
object
and,
while
other
another
client
could
send,
could
dispatch
some
kind
of
notification
message
for
that.
For
that
on
that
object,
basically,
it's
an
incarnation
of
the
pub
tab
pattern
in
the
chat
window.
C
Yeah:
okay,
a
question
you've
already
got
to
the
first
order.
First,
a
question:
only:
it's
only
used
for
external
by
external
clients.
B
Yeah,
it's
extravagant.
Okay,
do
you
mean,
do
you
mean
the
first
particular
client
or
what
do
you.
D
C
B
Okay,
above
the
yes
to
both.
Let
me
let
me
start
from
the
from
the
second
thing:
yes,
rbd
and
now,
I
believe,
also
rgw
use,
use.
The
watch
notified
machinery
rbd
does
that
for
the
sake
of
implementation
of
rbd
image,
locking
so
it's
quite
needed
and
the
internal
client,
if
you
mean
things
like,
if
you
use
intimate
things
like
opc,
create
and
simple
opc
submit,
I
will
write
down
in
the
chat.
B
In
classy
in
crimson,
it's
made
it
different
in
crimson
we
got
the
internal
client
request
infrastructure
when,
when,
when
a
sister
timer
fires,
we
we
start
with
call
the
start
operation
with
internal
client
request
class
as
a
template,
parameter
it
actually
reuses
the
same
things
like
like
the
I
o
traffic
coming
from
rbd
or
hdw,
or
any
other
radius
client,
mostly
the
ops
executor.
B
B
And
I
would
love
to
get
your
comments
about
if
we,
if
we
can,
if
we
really
can
drop
the
happening
between
watch
and
and
session
in
classical
osd,
we
could,
I
believe,
encapsulate
the
watch.
B
Slash
notify
machinery
entirely
in
boundaries
of
rpg,
so
it
will
be
a
little
bit
easier
to
implement
end-to-end
mapping.
B
Okay
for
for
ta
for
watch,
timeout
management
in
the
art
in
the
very
old
version
of
the
watch
semantic.
We
have
no,
our
own
pink
machinery,
we
were.
We
were
starting,
the
reconnection
timeout
when
would
reset
when
ms
handler
reset
call
was
was
detected.
B
There
is
small
okay,
it's
mostly
no
op,
all
it
does
on
classic
on
on
on
the
current
in
the
current
semantic
is
setting
the
connection
of
the
the
connection
pointer
to
lure,
which
has
some
little
changes
when
it
comes
when
it
comes
to
reconnection,
I
think
we
can
live
with
the
with
these
side
effects,
but.
D
B
B
D
B
Okay,
I
checked
when
somebody
tries
to
send
a
message
to
to
already
to
an
already
closed
connection
because
of
let's
say
reset.
D
B
D
B
D
B
Yeah
30
seconds
by
default
for
timeout,
that's.
D
B
Okay,
you
were
afraid
you,
you
were
afraid
about
the
leakage
of
a
connection.
Yes,
that's
correct.
D
D
As
long
as
it
gets
cleaned
up
when
the
when
the
timeout
fires,
I
think
we're
good
that
should
do
the
job.
D
B
And
the
last
thing
is:
adjust
tiny
pr
for
the
for
the
the
builders
infrastructure.
B
A
C
A
A
Well,
by
the
way,
I
also
tried
to
to
to
repack
the
crimson
early
discussion
we
had
on
the
crimson
route,
rook
integration
discussion
where
sage
suggests
us
to
to
create
a
different
package
for
for
crimson.
Instead
of
using
the
current
approach,
these
current
approach,
we
we
have
like
two
flavors
one
like
multiple
flavors
one,
is
a
crimson
which
which
packaged
the
crimson
instead
of
the
intercept
osd
in
in
place
ourselves
osd.
But
the
stage
suggests
that
it
would
be
better
to
to
have
a
separate
package
for
crimson,
but
I
randomly.
A
For
a
couple
reasons,
one
is
that
the
most
interesting
reason
is
that
the
user
might
want
to
know
what
what
what
osd
he
or
she
is
using,
not
by
poking
poking
the
executable
trying
to
send
you
the
different
income
options
instead
of
just
checking
the
package,
because,
apart
from
the
the
package,
the
executable
those
two
packages
are,
I
think,
identical.
A
A
Yes,
it's
confusing,
so
I
will
try
to
package
create
a
different
package
just
for
crimson,
but
since
they
shared
the
same
apart
from
the
executable,
they
share
a
lot
of
scripts.
Let's
play
with
this
way,
so
one
script
need
to
install
into
different
sub
directories,
so
I
need
to
to
make
it
happen
to
do
some
trick
in
the
packaging
script.
A
I
saw
that's
where
I
was.
I
will
continue
this
efforts
later
on.
C
Hi
hi
everybody
to
repeat
from
yesterday.
I
am,
I
haven't
out
of
standing
a
pr
waiting
for
review
for
a
week
before
and
which
introduces
some
changes
to
classic
a
scrub
in
order
to
make
it
similar
to
what
I
have
partially
have
for
crimson.
I
am
working
on
another
such
pr,
and
basically,
we
spend
the
next
days
merging
the
interrupted
future
changes
which
this
on
the
same
files
that
I'm
working
on
in
some
way,
and
that's
it.
That's
it
for
me.
D
I'm
finalizing
the
pr
for
the
first
step
of
read,
write
support
at
the
moment
it
supports,
read
and
write
and
truncate,
but
not
clone.
That
will
be
the
next
step
with
a
sort
of
a
static
mapping
from
object
to
logical
offset
you'll
see
what
I
mean.
That
is,
when
you
create
an
object.
It
statically
allocates
16
megabytes
of
logical
address
space,
not
of
actual
disk
space,
just
of
numbers
into
logical
address,
mapping
that
is
there's
a
logical
address.
Mapping
that
is
sparse.
D
A
D
Yeah,
but
it's
a
64-bit
number,
each
object
will
get
some
subset
of
that
in
this
case,
16
mags
of
it
for
their
own
data,
so
offset
0
for
an
object
will
be
at
offset
whatever
one
gigabyte,
plus
whatever
in
the
logical
address
space
some
bit
better.
A
D
D
D
We
use
the
logical
address,
mapping
itself
for
that.
Why
is
it
pre-allocated
that
the
reason
for
that
is
that,
at
the
moment,
transaction
manager
is
incapable
of
remapping
the
logical
address
for
a
physical
extent,
because
the
garbage
collector
requires
the
logical
address
for
an
extent
to
be
written
into
the
segment
when
the
extent
is
originally
written
down.
D
I
need
to
make
there's
an
optimization.
I
was
going
to
do
for
the
logical
address
mapping
anyway,
which
fixes
this
problem.
So
that's
what
I'll
do
next,
namely
we
need
a
mapping
in
addition
to
a
mapping
from
logical
addresses
to
physical
addresses.
We
need
to
reverse
mapping
from
physical
addresses
back
to
logical
addresses,
it'll,
make
scanning
a
segment
much
more
efficient
because
we'll
only
look
at
the
live
segments
and,
secondly,
it'll.
Let
us
mutate
that
that
mapping.
D
That
means
that
we
will
be
able
to
dynamically
grow
these
allocated
regions
by
moving
the
extents
to
a
bigger
region
and,
more
importantly,
it'll.
Let
clone
work
when
we
need
to
use
clone
range
on
an
extent
we'll
move
those
regions
out
to
a
new
logical
hydro
space
and
both
of
the
objects
that
it
now
belongs
to
will
have
redirects
to
those
that
new
logical
address
mapping.
D
E
Last
week
I
was
mainly
focusing
on
the
c
storage
x
attributes
related
interfaces.
I'm
still
I'm
also
trying
to
get
more
familiar
with
the
systar,
the
systole
code.
That's
all
for
me.
A
E
I
tried
on
my
on
my
own
servers,
but
it
hasn't
been
successful,
endeavor
and
okay
right
now,
I'm
waiting
for
mark
to
set
up
the
environment
on
our
o03
cp
cpa,
machine.
E
So
we
are
I'm
working
on
all
no
tree
at
the
node
level
I
found
and
implemented
a
corner
course
that
will
cause
further
recursive
merge
and
at
the
layout
level
I
implemented
value
erase
and
tests
passing.
E
F
So
no
much
updated,
but
I
still
tried
to
several
times
about
the
mbd
testing,
so
I
couldn't
finish
the
highway
payload
testing,
because
every
time
I
meet
different
problems,
most
time
it
is
seems,
hung
in
the
in
the
christmas
system
and
we
decided
and
that
fl
cannot
finish
finish
the
the
testing
and
so
but
no
error
report
in
chromism.
It
is
in
sam
said
it
is
maybe
hung
in
in
some
places.
D
D
D
So
I'm
not
super
surprised
that
it's
not
stable
enough
for
meaningful
performance
testing,
so
I
would
maybe
leave
that
alone.
For
now.
One
thing
that
would
be
really
helpful
is
if
we
could
get
actual
back
traces
from
crimson
store,
nbd
and
crimson
osd.
That
would
be
amazing
if
there's
a
way
to
modify
the
build
process
or
wrap
them
or
somehow
to
make
it
so
that
the
debug
output
we
get
at
the
end
has
actually
de-mangled
symbols.
F
I
try
to
use
enable
debugger,
then
the
error
disappear
know
how
that's.
F
D
F
Use
speaker
the
batteries
it
just
print
out
some
lab
c
batteries.
F
So
what
when
I've?
I
noticed
that
it
is
hung,
and
I
you
must
stop
the
gdp
and
print
the
batteries.
It
is
lab
c
money
legacy.
D
In
general,
with
crimson
development,
we
have
this
problem
that,
when
something
crashes,
the
out
the
debug
output
we
get
at
the
end
like
the
print.
The
standard
error
is
just
pointers
right.
It
would
be
really
convenient
if
we
got
those
de-mangled
back
to
symbols
without
needing
to
use
an
extra
tool.
I
was
wondering,
if
you'd
be
interested
in
trying
to
investigate
what
would
be
required
to
do
that
automatically.
All
the
time.
A
Yes,
building
beauty,
interest
line,
support
because
in
in
safe
we
have
a
building
support
of
this
kind
of
facilities
yeah.
So
when
the
exceedable
crashes,
we
we
think
we
catch
the
signal
and
print
out
the
batteries
in
a
demand
good
way.
So
when
so,
we
can
can
check
the
symbols
instead
of
looking
at
the
addresses
or
numbers,
but
then,
like
into
two
months
ago,
I
tried
to
try
to
import
this
facility
to
to
crimson
basics,
basically
in
the
same
way,
but
I
failed.
A
A
I
have
no
idea
why
probably
it's
related
to
how
we
linked
with
will
equip
crimson,
oh
sorry,
with
sister
or
who
failed
to
pass
some
some
compiling
options
to
to
crimson.
That's
my
guess.
F
Yeah
I
tried
address
to
line,
but
I
couldn't,
since
I
couldn't
get
effect,
information.
D
A
B
D
B
Maybe
maybe
we
should
put
it
on
top
even
before
then.
D
Well,
I
mean
not.
Everyone
needs
to
be
working
on
it
right.
I
was
just
wondering
if
anyone
had
spare
bandwidth
and
wanted
to
look
into
it.
I
was
I
was
suggesting
it
to
chennai
in
particular,
because
I
just
crimson
store
nvidia,
just
isn't
stable
enough
for
performance
testing
right
now.
It's
a
waste
of
time.
D
D
A
Give
me
some
a
task
list
regard
regarding
to
yeah,
okay,.
D
Looking
for
it
c-store
quincy
here
we
go.
I
didn't
really
put
any
of
this
in
trello,
but
here
I
can
do
it
well,
people
can
just
do
it
as
they
pick
stuff
up
too.
That's
fine,
so
ignoring
the
external
interface
and
cns
thing.
Instrumentation
is
a
big
one.
This
might
be
kind
of
interesting
to
you,
john
may,
actually
to
add
all
of
the
stuff
to
the
perf
counter
machinery.
D
D
Information
we
also
need,
like
the
cash
data
structure
itself,
is
pretty
bad,
as
are
the
internals
of
the
transaction.
They
allocate
a
lot
so
profiling.
Those
would
be
interesting
as
well
if
you
can
find
a
way
to
get
a
profiler
working.