►
From YouTube: September 2020 OpenZFS Leadership Meeting
Description
At this month's meeting we discussed: OpenZFS Hackathon; per-pool ARC stats; ZED; OpenZFS 2.0 RC
https://docs.google.com/document/d/1w2jv2XVYFmBVvG1EGf-9A5HBVsjAYoLIFZAnWHhV-BM
A
All
right,
it
looks
like
it's
one
after
the
hour,
so
let's
get
started
the
agenda's
pretty
light
today.
I
thought
I'd
start
by
retreading
the
open,
cfs
hackathon.
A
I
know
I
blobbed
on
about
this
last
month
a
bit,
but
I
thought
since
we
have
time,
I
would
mention
it
again
and
let
me
share
my
screen.
A
Access,
so
yes,
so
there's
a
spreadsheet
and
in
the
spreadsheet,
oh
here
we
go
now
you're
showing
it
to
me
all
right
now.
Can
you
see
the
spreadsheet
on
the
screen
as
well
cool,
so.
A
Yeah
so
there's
a
spreadsheet
like
we
had
last
year.
The
thing
that's
a
little
bit
different
about
this
year.
Is
that
we'd
like
to
try
and
do
some
more
organization
work
before
the
hackathon,
so
that
folks
can
like
find
other
people
to
work
with
remotely?
Because
it's
you
know
it's
all
online
conference
this
year
so
definitely
feel
free
to
like
put
in
your
ideas,
if
you're,
just
working
by
yourself,
that's
cool
too.
A
But
if
you
would
like
help
with
some
idea,
then
we'll
then
what
we'll
try
to
do
is
set
up
like
separate
zoom
meetings
for
each
project,
so
I've
I've,
bolded
the
ones
here
of
folks
that
have
already
committed
to
leading
it.
So
josh
is
going
to
be
leading
a
hackathon
project
about
the
pool,
compatible
features,
serafim.
A
Is
going
to
be
leading
a
new
newcomer
session
for
folks
that
are
just
getting
started
with
development
and
muhammad
who,
you
might
remember
from,
I
think,
last
year's
hackathon
he
he
was
working
with
drives
that
have
like
multiple
actuators.
A
He
is
working
on
integrating
zfs
and
minio,
so
he
wants
to
delete
a
hackathon
session
on
that.
So
we
need
more
folks
who
are
interested
in
in
leading
those
hackathon
sessions
and
then
we'll
give
you
some
time
at
the
beginning
of
the
day,
to
just
a
few
minutes
to
kind
of
pitch
your
idea
and
explain
it
to
the
whole
group.
A
A
All
right
well
I'll,
leave
that
open
it
should
be.
You
should
have.
You
should
be
able
to
add
stuff
to
this,
using
the
link
that
I
pasted.
A
And
what
else
did
I
want
to
share?
Oh,
this
is
the
this.
Is
the
newcomers
ideas,
so
these
are
smaller
ideas,
although
I
think
some
of
these
are
pretty
pretty
cool
legit,
maybe
not
so
small
ideas,
but
ones
that
are
require
relatively
less.
D
A
So
these
are
all
agrees
too
and
as
well
as
some
things
that
are
not
necessarily
coding
coding
things
but
documentation,
debugging
tools,
stuff,
like
that.
A
All
right,
I'm
I'm
working
on
my
slides,
or
at
least
the
outline
for
my
slides.
Then
the
next
item
we
have
on
the
agenda
is
richard
perpool
ark
stats.
Are
you
here.
A
E
Go
ahead,
I
wonder
if
george
is
here
or
adam,
I
see
george.
E
Yeah,
so
basically
what
they've
been
kind
of
a
conversation,
I
think
there's
a
pull
request
or
two
around
statistics
around
l2
arc
and
for
those
who
may
or
may
not
know
the
ultra
arc,
was
kind
of
bolted
on
and
has
this
purple
configuration
thing,
but
the
ark
itself
and
all
the
arc
stats
in
it
are
global
to
the
machine,
and
so
we
have
this
problem
that
some
of
us
observe
observability
geeks
should
worry
about,
and
that
is
alright.
E
For
example,
if
you
do
a
z-pole
status,
minus
r,
for
example,
you'll
see
a
distribution
and
the
that
distribution
is
stored
in
the
spa,
spastat
structures,
and
so
now
we
have
a
place
for
the
for
to
put
things
like
purple
statistics,
and
so
that
would
make
a
logical
place
to
put
them.
E
But
it
is
a
fair
amount
of
work.
It's
much
more
difficult
than
just
adding
an
arcstat,
but
then
again
the
arc
stats
are
hard
to
make
for
pull
right.
How
do
I
confer
pool
information
in
in
the
simple
name
for
an
ark
net?
It
doesn't
work
very
well,
and
so
at
this
point
I
think
it's
a
thing
of
tossing
out
ideas.
E
My
my
thoughts
is
to
keep
the
existing
arc
stats
as
they
are,
and
then,
if
we
want
to
have
more
detailed
information
in
the
short
term
about
purples,
then
we
have
plenty
of
trace
points
and
d
trace
probes
in
the
various
places
that
we
can
do
that.
But
then,
in
the
long
run,
maybe
we
will
do
want
to
collect
to
then
purple
l2
arc
statistics
specifically
l2
arc
statistics.
B
Right
so
like
in
arc
read,
we
have
access
to
the
spati
of
which
we're
trying
to
read,
and
so
we
would
just
where
we're
currently
incrementing
the
arc
counter
for
hit
or
miss.
We
would
also
increment
a
spa
stat
counter
saying
there
was
a
hit
or
miss.
B
A
Yeah,
I
think,
there's
a
bunch
of
different
ways
that
you
could
approach
this
in
terms
of
the
internals
I
mean
one
would
be
like
you
can.
You
can
create
case
stats.
You
know,
which
is
spl
concept
on
demand
like
the
way
that
we've
done
with
the
object
set
for
objects
at
stats.
A
From
added,
so
you
know,
you
could
add,
like
something
that
looks
like
a
arc
stat
or
is
mostly
the
same
as
those
k
you
know
kind
of
just
like
you
could
even
just
take
all
the
arc
stats
so
maybe
break
it
down
into
like
here
are
the
ones
that
are
per
pool,
and
here
are
the
ones
that
are
global
and
then
the
ones
that
are
per
pool,
move
them
into
the
purple
thing
and
then
maybe
have
some
backwards
combat
compatibility
to,
like,
I
add
them
up
for
the
global
one
that
seems
like
it
would
be
pretty
straightforward
and
then
you
know
you'd
be
left
with
getting
the
information.
E
Painful
to
get,
I
think,
is
the
way
I
would
describe
it
compared
to
the
case.
That's
right
case
stats
are
right.
There
you
can
just
read
them.
B
Yeah,
like
that,
I
think,
on
the
the
linux
version,
you
would
end
up
with
a
file
named
the
same
as
the
pool
in
some
directory
somewhere
in
your
cat,
and
you
would
just
get
all
the
stats
and
then
on
freebsd.
You
would
have
a
nice
oid
tree
of
tails
per
pool
with
all
the
different
stats,
and
I
think
that
would
work
nicely
and
it
would
probably
be
the
easiest
one
of
the
different
options
to
do,
because
it
doesn't
require
any
new
z-pool
command
line
interface
or
anything
like
that.
A
A
Yeah
yeah,
but
I
haven't
looked
in
detail
at
how
the
implementation
of
the
per
pool
like
performance,
stats
that
are
consumed
by
zupaliostat
work
now,
but
I
mean
I
can't
imagine
that
they're
like
that
much
different
or
harder
to
implement
the
one
thing
that
I
would.
That
would
be
nice
like.
A
If,
if,
if
you're
not
just
going
to
kind
of
go
for
the
minimum
possible
work,
it
might
be
nice
to
think
about
how
to
do
this
in
a
way
that
will
minimize
the
performance
impact,
because
we
have
seen
the
arc
stats
and
other
kind
of
stats
like
become
performance
bottlenecks.
A
When
you
have
high
high
rates
of
bumping
those
because
they're
all
you
know,
they're,
either
just
like
global
variables,
essentially
that
get
atomic
added
or
they're
the
ag
sum
stuff
that
we
added,
which
is
pretty
heavy
weight
and
and
could
probably
either
use
some
some
improvement
to
the
exam
code
or
and
or
like
looking
at
other
options
like.
I
know.
A
I
think
that,
with
the
it
was,
was
it
the
per
data
set
ones,
seraphim,
there's
something
that
you
were
some
stat
that
you
were
working
on.
D
Yeah,
so
it's
the
per
data
set
exams
and
I
think,
like
some
time
ago,
I
think
it
was
alexander
multi
who
also
had
some
ideas
about
you
know,
making
them
better
because
they're
pretty
heavyweight,
apparently.
D
Where
we
use
the
kernel's
thing,
it
was,
I
don't
remember
the
exact
name,
but
it's
basically
this
per
cpu
statistics
that
they
have,
which
are
basically
like
the
same
as
our
exams.
A
Yeah,
so
it
I
mean,
I'm
not
like
prescribing
any
one
of
those
as
being
the
right
or
best
answer,
but
it
seems
like
if
I
were
going
to
be
adding
a
bunch
of
new
stats
I
would
probably
put
in
if
I
was
going
to
put
in
more
than
the
minimum
amount
of
effort
to
get
it
working.
I
would
probably
look
at
the
performance
implications
before
like
trying
before
you
know,
making
a
nice
swizzy
gui.
If
I
didn't
have
to.
E
Yeah,
that's
a
good
point
because
we've
definitely
seen
especially
with
the
I
o
type
stats,
because.
B
A
Arc
stat
into
ag
sums
to
drill
in
a
little
bit
more
on
that.
I
think
what
we
found
was
that
the
performance
of
the
linux's
native,
like
per
cpu
counters,
was
better
primarily
because
they
disable
interrupts
while
adding
it
so
that
they
don't
need
a
lock,
because
you
can
basically
say
like
it
seemed
like
it
was
very
lightweight
to
say
just
keep
running
on
this
cpu.
A
Don't
let
me
get
any
interrupts
while
I
bump
up,
while
I
figure
out
which
cpu
I'm
on
and
then
pump
that
down
without
having
any
you
know,
you
don't
need
any
atomic
operations,
you
don't
need
any
mutexes,
so
it
seemed
like
that
was
maybe
at
the
root
of
why
that
performed
a
lot
better
than
the
xoms.
A
B
Think
definitely
because
there's
a
lot
on
the
table
there
in
this
case
we're
basically
duplicating
all
of
the
arc
stats
per
spa,
and
so
you
know,
if
you
have
two
pools
suddenly,
instead
of
bumping
one
counter
we're
bumping
three
counters
to
count
the
same
thing.
Basically,.
B
A
A
Yeah,
I'd
love
to
have
those
stats
even
on
a
per
data
set
basis,
which
I
mean
there's
like
a
little
bit
more
nuance
to
what
those
numbers
mean,
but
I
think
you
know,
because
blocks
can
be
shared
between
data
sets,
but
I
would
still
love
to
see
something
along
those
lines
where
you
could
see.
Like
oh,
like
this,
for
this
data
set,
the
hit
rate
is
x.
This
other
day
said
the
hit
rate
is
y.
B
I
think
the
the
z
bookmark
fizz
t
that
we
get
in
arcread
has.
B
Actually
start
doing
some
of
these
as
extend
the
per
data
set
or
per
offset
once,
and
that
would
be
really
interesting.
There
would
be
the
caveat
that
you
know
if
it's
a
clone,
then
you
know
whichever
one
you're
reading
gets
counted
as
the
hit
or
the
miss
well.
B
Want,
anyway,
exactly,
I
think,
the
biggest
use
case
that
I've
seen
for
the
per
data
set
ones
are
every
customer
has
a
data
set
and
I
would
like
to
know
which
customer
is
causing
all
the
load
and
just
because
you
have
more
reads
than
me
than
the
other
customer
doesn't
mean
you
know.
If
all
of
yours
are
arc
hits
and
all
those
are
misses,
then
you
know.
A
Yeah,
that
might
be,
I
think,
that's
a
great
idea.
We
might
have
to
do
a
little
bit
of
re-architecting
there,
because
I
think
that
the
those
per
object
stats
are
handled
at
the
zpl
layer.
So
currently.
B
But
yeah,
I
think,
looking
at
the
the
overhead
of
those
is
important,
but
then
unlocking
all
those
extra
stats
would
be
really
juicy.
E
E
But
you
know
that's
a
good
way
to
find
out
how
how
things
might
be
useful
right,
because
I
think
that's
really
what
we're
facing
here
and
that
is
the
arc
stats-
are
in
global
useful.
But
in
specifics
not
so
useful.
E
A
Cool
don
brady
did
you
want
to
talk
about
this
zed
script.
F
Yeah,
can
I
go
ahead
and
share
my
screen,
real,
quick
sure
yeah.
This
is
some
work,
I'm
doing
it
kind
of
piggybacks
off
of
a
recent
commit.
I
did
to
remove
duplicate
events
from
the
zfs
event
stream.
This
one
has
to
do
with
sort
of
retention
on
on
lumos.
We
had
fma
logs.
So
all
these
events
were
retained,
I
think
indefinitely,
but
on
linux
we
just
have.
We
currently
have
z,
pull
events,
and
this
is
a
an
example
of
a
checksum
area.
F
F
I
think
we
only
you
know,
there's
an
events
that
we
save
so
you'll
lose
this
information
and
we
do
have
a
thing
called
all
syslog
in
zed,
which
will
actually
take
this
event
and
put
post
it
into
the
syslog.
The
problem
with
that
is
it's
pretty
terse.
It
just
has
like
you
had
to
check
some
error
on
this
pole
on
this
vdf.
It
doesn't
give
you
any.
You
know
this
additional
information
about.
Like
you
know
what
object
it
was,
and
you
know
etc.
F
So
what
I
was
thinking
was
just
extending
the
all
syslog
to
to
put
additional
information
in
there
and
I'll
give
you
an
example
of
that,
and
I
just
wanted
people's
thoughts
on
you
know.
Is
this
the
best
way
to
retain
it?
For
me,
it's
it's
kind
of
a
simple
way
to
do
it,
but
let's
see
what
am
I
looking
for.
F
B
I
think
in
general
that
yes,
on
on
previous
tv,
is
dev
d
to
grab
those
same
events
and
log
them
to
syslog
and
run
into
the
same
problem
with
often
their
two
ters.
Now
we
have
a
config
file
where
you
can
define
you
know
which
of
those
extra
fields
go
in
there
and
we've
expanded
them
over
time,
but
I
think
in
general
erroring
on
the
side
of
providing
a
few
too
many
of
the
variables
rather
than
few
gives
you
a
lot
more.
F
F
So
I
I
just
you
know
do
is
just
extending
all
syslog
good
enough.
I
mean
I
could
I
don't
know
if
anybody
depends
on
the
current
one,
but
it's
actually
here's.
You
know
these
examples.
Are
it
just?
Has
you
know
it's
not
that
useful
to
say
something
happened,
but
no
details
so
would
people
be
I
mean?
Would
it
be
okay,
just
to
extend
it
to
do
more
like
this,
where,
if
there's
information
there
within
reason,
in
this
case
everything
related
to
a
checksum,
I
pushed
out.
F
Yeah
now
now
we
can
configure
there's
a
configuration
to
to
you
can
ignore
events,
and
so,
at
least
for
our
purposes
we'll
ignore
those,
but
for
things
like
checksums,
io
errors,
you
know
faults.
I
think
you
want
to
have
a
little
more
specifics.
A
Yeah,
so
I
don't
think
a
lot
of
thought
necessarily
went
into
what
output
should
get
sent
to
the
syslog.
Initially,
it
was
just
set
it
up
to
get
something
logging
and
then
I
don't
think
we
ever
went
back
and
refined
it.
Basically,
so
everything
got
logged,
firstly
by
default,
so
I
think
it's
great
to
go
back
and
revisit
like
what
should
we
be
logging.
F
Yeah
this
was
this
was
my
first
tab.
You
know
something
we
could
do
like.
Basically,
if
there
is
information
there
go
ahead
and
post
it
and
we
could
even
get
fancy
if
we
wanted
to,
but
so
I
I
don't
know
if
there's
a
problem
with
just
making
all
syslog
better,
you
know
it
more
extended
versus
you
know,
making
that
a
configuration
option
where
you
can
have
the
terse
one.
I
don't
know
the
value
of
the
terse
one.
To
be
honest,.
C
B
I
think
you
could
likely
get
most
of
the
chance
of
having
problems
with
existing
stuff.
If
you
just
make
sure
all
the
new
fields
are
on
the
end
and
you
don't
change
the
order
of
the
existing
fields
so
that
if
anybody's
got
a
script,
that's
blocking
out
a
value
from
the
existing
syslog
or
whatever
that
it's
still
in
the
same
place
and
then,
if
there's
extra
stuff
on
the
end
of
the
line.
That's
that's
fine
because
I
found
that
useful.
B
B
At
one
point
I
went
so
far
as
to
have
the
expected
and
actual
checksum
logged.
So
I
could
see
like
is
one
of
these
all
zeroes
or
something
and
something's
going
on,
and
so
I
think,
having
more
information
is
almost
always
better.
F
No,
I
I
like
that's
a
good
point.
I
I
think
I
can
just
depend
the
way.
The
way
it
was
set
up
and
I
can
make
a
configuration
that
you
can
opt
out
of
the
extended
mode.
I
suppose,
if
somebody
wanted
the
old,
terse
behavior.
E
F
F
E
F
A
F
A
So
the
last
thing
that
I
put
on
the
agenda
was
to
corner
brian
and
ask
you
to
talk
a
little
bit
about
the
just
to
update
on
the
opengfs
2.0
release
candidate
and
schedule
for
that
yeah.
So
there
was
a
2.0
release
candidate
cut
two
weeks
ago
now.
I
think
something
like
that.
A
I'm
hoping
to
cut
another
release
candidate
this
week
so
we'll
have
an
rc2
out
and
then
just
a
call
for
testers
and
letting
it
soak
and
at
the
moment,
we're
just
cherry
picking,
critical
bug
fixes
back
from
master
into
it.
Documentation
updates
little
safe
stuff
like
that,
but
the
intent
is
just
to
let
it
soak
for
a
while
stabilize
make
sure
there's
nothing,
nothing
comes
up,
and
then
you
get
a
final
release.
I'm
not
sure
how
many
rc's
that
will
take,
but
hopefully
not
too
many,
and
hopefully
the
changes
should
be.
A
E
F
A
There's
no
exact
schedule,
but
I
think
two
weeks
would
be
pretty
reasonable
and
then
I'm
not
sure
how
many
rc's
we
need
to
go
through
until
we're
happy
with
it.
But
until
we
are
happy
with
the
quality
of
it
I
would
say,
but
yeah
I
think
every
two
weeks
would
be
pretty
reasonable.
I
was
hoping
to
put
one
like
out,
like
I
say
this
week,
so
watch
for
that
and
then
by
all
means
pick
it
up
and
test
it.
I
haven't
heard
of
any
bad
issues
in
the
current
rc.
A
B
Do
you
think,
there's
still
time
to
get
the
boot
once
envy
list
pull
request?
That's.
B
Paul
dignelli
gave
it
a
review.
You
marked
it
as
accepted
yesterday:
okay,
yeah
yeah
yeah-
all
right,
because
that
one
has
the
libsadvs
api
changes
around
that
and
we
would
like
to
not
have
2.0
have
something
different
than
what
we
plan
to
go
with
long
term.
A
Yeah,
absolutely
let
me
know
if
there's
any
other
freebsd
related
changes.
We
should
really
pull
in
there
because
it
would
be
nice
if
that
was
very
close
to
what
you
guys
were
running.
B
A
A
A
All
right,
we
looks
like
we're
going
for
a
new
record
of
early
meetings.
Anybody
other
questions,
comments,
topics
to
discuss.
A
Today,
if
not,
then
I
hope
to
see
you
all
at
the
conference.
I
would
remind
folks
that
you
should
you.
I
would
ask
you
to
register,
because
the
registration
we'll
send
you
a
link
to
the
zoom
on
the
registration.
A
So
if
you
register
so
and
you'll
need
the
zoom
link
to
participate
like
ask,
questions
live
otherwise
we'll
be
live
streaming
on
youtube
and-
and
you
know
anybody
will
be
able
to
watch
it
live
there,
but
they
won't
be
able
to
like
ask
questions
of
the
presenters
during
the
conference
and
then
we'll
also
have
like
breakout
sessions
yeah
during
the
breaks
that
you'll
be
able
to
just
chat.
A
You
know
free
form,
chat
with
different
folks
in
different,
like
virtual
rooms,
that'll
be
like
different
zoom
conferences,
resume
meetings
and
that'll
be
for
people
that
for
folks
that
register.