►
From YouTube: OpenZFS 2020 Hackathon Presentations
Description
From the 2020 OpenZFS Developer Summit
Details: https://openzfs.org/wiki/OpenZFS_Developer_Summit_2020
A
If
you
worked
on
something,
if
you
did
anything
that
could
be
writing
a
design
document,
it
could
be
updating
the
documentation.
It
could
be
writing
code
that
doesn't
work.
It
could
be
writing
code.
That
does
work.
We
would
love
to
have.
You
share
share
your
work
with
the
group
and,
if
you,
if
you
do,
share
your
work
as
a
group,
you'll
have
a
good
chance
of
winning
one
of
these
lovely
prizes.
A
So
I
think
we
I
showed
these
before,
but
there's
a
bunch
of
things.
A
bunch
of
food
items
here
from
san
francisco
and
you'll
have
your
choice
of
these,
so
the
winning
projects,
each
member
of
the
winning
projects,
will
get
to
choose
one
of
these
wonderful,
eight
items.
B
B
So
we
we
did
a
little
bit
of
work
on
the
docks
things
like
replacing
zfs
on
linux,
with
open
zfs.
There's
a
couple
of
pr's
now
open
related
to
this.
That.
B
I
think
that's
how
you
pronounce
it
opened
up
on
the
github
page
and
then
we
also
kind
of
rethought
up
of
how
to
lay
out
the
front
page
and
that's
updated
now
too.
So
people
can
go
check
that
out
and
also
there's
the
I
moved
some
some
projects
or
some
features
like
channel
programs,
encryption
trim
from
projects
to
the
features
section
in
the
website.
B
So
just
you
know
polishing
the
docs.
Basically
that's
what
we
were
doing
so
I'm
not
gonna
look
at
the
history,
but
this
is
what
the
main
page
looks
like
now,
it's
a
little
different
than
what
it
used
to
be.
B
Oh,
I
forgot
to
mention
one
other
thing
is
the
github.io.
I
don't
remember
that,
but
we
got
freebsd
install
instructions
into
the
into
the
github.io
page,
so
this
is
actually
pretty
cool.
B
Unfortunately,
george
or
kyogri,
I'm
not
sure
I
would
pronounce
it
isn't
here
right
now.
I
had
to
go
to
sleep,
but
she
whipped
this
up
and
there
was
another
pull
request.
I
think
this
has
to
do
with
you
know.
B
The
free
vsd
changes
that
we
were
talking
about
so
just
converting
this
page
to
live
in
the
open,
cfs
repo.
C
Hi
everyone,
so
I
spent
my
day
working
on
something
that
I've
looked
at
in
the
past,
but
I've
never
really
managed
to
make
much
work
progress
on,
and
I
was
a
little
more
successful
this
time.
C
My
plan
was
to
try
to
get
it
so
that
we
could
add
rust
code
to
the
zfs
kernel
modules
or
have
a
separate
kernel
module
in
the
zfs
trade
written
in
rust.
C
This
is
basically
just
because
I
think
rust
is
neat
and
also
I
know
that
there's
been
some
work
by
external
people
lately
on
getting
rust
as
part
of
the
actual
linux
kernel
development
process.
I
did
not
finish
my
project.
I
made
some
decent
progress.
I
got
it
to
the
point
where
I
could
generate
bindings
that
had
zfs
functions
in
them.
C
So
as
a
test,
I
was
like
making
a
separate
kernel
module
that
had
like
zfs
debug
message
as
a
function
that
you
could
call
and
then,
when
the
module
was
loaded,
it
would
put
a
message
into
the
zfs
devote
message
log.
I
was
managing
to
successfully
build
the
bindings
for
this,
but
unfortunately
linking
the
actual
fill
like
complete
kernel.
Module
together
was
being
frustrated
by
some
build
problems
that
I
was
having
and
some
symbols
that
weren't
being
resolved
correctly.
C
So
I
plan
to
keep
working
on
this
in
the
future
and
hopefully
one
day.
Maybe
I
could
even
post
a
pull
request
with
like
make
files
and
stuff.
D
Yep,
this
was
a
issue
that
I
opened
up
a
while
back
and
has
been
sitting
in
my
inbox
doing
nothing.
D
We
were
running
an
application
that
used
lip
z-pool
with
the
undefined
behavior
sanitizer,
and
it
found
a
case
where
the
shift
exponent
exceeded
the
size
of
the
variable
that
it
was
being
stored
in
so
I
used
a
suggestion
from
matt
and
got
that
fixed
and
committed,
and
after
mixing
up
my
my
spaces
and
tabs,
it's
the
pr
is
doing
its
thing
and
hopefully
we'll
finish
getting
tested
here.
Pretty
soon.
A
Okay,
next
mark
with
d-raid.
E
Yep,
so
we
spent
a
good
part
of
the
day
first
talking
about
various
issues
and
and
possibilities
for
d-rate
expansion
and
then
in
true
hackathon
fashion.
I
hacked
up
where
we
actually,
as
a
group,
packed
up
the
existing
raid
z,
expansion,
design
dock
and
we
now
have.
I
can
find
it
in
my
space,
a
g-raid
design
dock.
E
So
the
big
issue,
issues
that
we
were
really
discussing
was
there's
a
you
know.
What
is
the
relationship
between
the
in
raid
z,
expansion,
you're,
really
operating
sort
of
at
rows
of
a
group
at
a
time
with
d-rate
expansion,
you're
operating
across
entire
sets
of
groups
at
a
time
because
of
the
way
g-raid
is
laid
out?
It
changes
things
a
bit
and
actually
simplifies
parts
of
it.
E
Because
now
you
don't
worry
about
dealing
with
the
sort
of
partial
groups
or
that
you're
pretty
much
be
able
to
process
entire
group
chunks
at
a
time,
and
I
think
that's
quite
news,
but
it
also
means
that
you
are
dealing
with
a
larger
sort
of
unit
of
of
flow
at
a
time
in
the
whole
process
of
expanding,
and
so
that
fair
amount
of
reserve
space
somewhere
for
scratch.
So
as
you're
working,
you
can
keep
your
flying
copied
aside.
E
So
in
the
event
of
a
panic
restore
you
can
recover
it
and
so
we've.
I
believe
we've
decided
that
two
rows,
which
are
roughly
32
meg
times.
The
number
of
drives
is
the
appropriate
amount
of
space
to
reserve
for
expansion,
and
I
think
that
that's
not
an
unreasonable
amount
of
space
to
reserve
from
each
drive.
So
it's
32,
meg,
actually
per
from
each
drive,
is
nice
to
reserve
in
order
to
allow
for
v-ray
expansion.
E
But
that's
going
to
be
a
question
for
the
group
in
general
is
what
you're
feeling
is
about
saying
all
right.
I
have
in
order
for
expansion
to
be
able
to
work
in
the
future
on
a
d-rate.
I
need
to
be
willing
to
set
aside
through
to
meg
stay
off
the
bottom
of
your
drive.
That's
never
going
to
be
used
used
for
allocations.
E
So
yeah,
if
you
make
in
any
reason
any
modern
drive,
is
pretty
much
negligible,
but
people
feel
strong
about
this
stuff.
Sometimes
so
I
I'm
going
to
make
the
the
d-rate
design
document
is
is
a
lot
here,
mostly
because
there's
a
lot
I
I
just
you
know,
I
was
an
easy
job
to
replace
raid
z
with
d
raid.
It
wasn't
quite
that
easy,
but
because
we
made
it
available
for
people
to
take
a
look
at
as
well.
A
That's
it
awesome.
Thanks
mark
okay,
it
looks
like
I
am
up
next,
so
I,
besides
helping
out
market
some
other
folks,
I
worked
on.
A
Trying
to
figure
out
how
I
want
to
make
the
videos
for
the
openzvest
developer
summit,
because
we
do
not
have
a
professional
thousands
of
dollars,
video
production
team
this
time,
so
I'm
doing
it
with
imovie,
which
I'm
sure
is
like
the
worst
tool
for
the
job.
A
But
I
thought
I
would
show
folks
and
also
get
feedback
if
folks
have
on
kind
of
how
I
did
this.
So
I
just
did
it
for
george's
right
now,
but
I
don't
know
if
you
can
see
or
hear
this
at
all
over
zoom,
but
I
basically
did
a
little
picture
and
picture
so
you
have
the
slides
and
then
you
have
the
person
talking
it
comes
out.
A
This
way
I
can
make
the
person
talking
video
like
larger
than
the
way
that
it
comes
out
of
zoom
and
higher
quality,
and
then
I
can
do
things
like
at
the
end
like
zoom
in
on
on
him,
when
he
just
has
his
q
a
slides
up.
F
F
So
basically,
we
came
up
with
this
monstrosity
that
should
have
the
features
for
most
major
releases
of
freebsd
volumas
vfs
on
linux,
opencfs
2.0,
then
some
specific
distributions,
such
as
ubuntu
rel,
truenas
and
freenas,
and
we
also
have
os
10
here.
We
did
not
have
windows
here,
but
I
don't
think
that's
going
to
be
very
relevant.
A
F
A
Cool
very
cool
and
currently
last
on
the
agenda
is
alan.
If
anybody
else
would
like
to
present,
then
please
add
yourself
to
the
spreadsheet:
take
it
away
alan.
G
So
I,
after
working
with
pavaldo
deck
on
his
the
cloning
files
thing
during
the
early
part
of
the
day
when
he
broke
for
lunch,
I
picked
up
jorgen's
idea
of
making
flag
for
zdb
to
make
it
copy
a
file
out,
so
you
could
basically
use
zdb
to
recover
a
file
or
whatever.
G
So
I
wrote
a
little
function
called
z2b
copy
object
and
basically
on
the
command
line,
you
can
run
cdb
with
the
flag.
You
tell
it.
Here's
the
data
set,
here's
the
path
to
the
either
the
object
number
of
the
file
or
the
object
or
the
the
path
to
it
relative
to
the
data
set
and
then
the
third
parameter
is
some
file
that
doesn't
exist
yet
on
your
system
and
it
basically
iterates
through
it
using
dmu,
read
to
pull
out
chunks
of
that
file
and
write
them
to
the
destination
you
specified.
G
It
works,
except
for
currently
it
rounds
up
to
the
block
size
and
writes
a
bunch
of
zeros
to
the
output
file.
After
the
end
of
the
content,
I
gotta
improve
the
way
we
detect
the
size
of
the
object,
but
outside
of
that
it
actually
works.
Now
I
skipped
the
part
of
actually
switching
zdb
to
support
long
ops.
G
So
I
just
do
zdb.
I
did
dash
r
for
read
for
now,
until
we
hook
up
long
ops
and
make
it
scp
or
whatever,
and
then
my
data
in
my
pool
and
data
set
the
path
relative
to
that
and
then
the
output
path.
G
I'm
sorry,
it's
probably
a
bit
small
to
read,
but
it
then
translates
that
relative
path
name
into
the
object.
Id
of
the
item.
A
If
you
make
your
windows
smaller,
then
it'll
appear
bigger
for
us
they're!
Amazing!
Yes,
yes,
read
it
sorry
to
interrupt
yep.
G
Thanks
for
the
tip
so
yeah,
when
we
just
did
zdb-r
data
set
path
in
the
data
set
and
then
some
output
path,
it
looked
up
the
object
number
and
then
does
a
series
of
dmu
reads
in
up
to
one
meg
chunks
and
writes
out
to
that
file.
And
if
we
look
at
it,
we
see.
G
The
source
for
the
zdb
file,
including
the
fact
that
it
was
more
than
just
the
first
block,
and
it's
all
there,
except
for
we,
don't
cut
off
the
end
yet
so
it's
writing
past
the
end
of
the
file
to
the
output
at
the
moment
of
just
null
bytes.
But
you
can
see
when
you
run
the
zdb
command.
The
problem
is
the
file
is
240
kilobytes
and
we're
topping
256
kilobytes,
we're
writing
256
kilobytes
to
it.
G
So
I
think
the
way
I'm
getting
the
size
of
the
file
is
wrong
at
the
moment,
but
once
I
fix
that
it,
it's
almost
ready
for
a
pull
request,
very
cool.
G
It
was
mostly
reusing,
some
of
the
bits
of
from
the
capital
o
flag
of
zdb,
to
do
the
translation
of
a
path
relative
to
the
data
set
to
the
object
number
and
dealing
with
the
fact
that
zdb
only
one
has
a
only
wants
to
have
one
object
open
at
a
time
and
and
cleaning
that
up,
but.
A
I
was
just
I
was
just
impressed
that
there
were
still
some
letter
options
left
to
zdb,
not
that
you
have
to
do
like
dash
percent
or
something
like
that.
Yes,.
A
Comma,
we
haven't
got
there
yet,
hopefully
we'll
adopt
flying
ops
before
we
get
to
that
point.
Yes,
cool
thanks
a
lot
alan
and
I
saw
that
as
you
were
talking
nahum.
Can
you
first?
Can
you
let
us
know
how
to
pronounce
the
name,
because
I'm
afraid
I
didn't
do
it
right.
H
I've
been
working
on
like
various
configurations
that
require
a
bootable
zfs
pool,
and
the
lumos
has
the
dash
capital
b
flag
for
creating
an
extra
256
megs
towards
the
beginning
of
the
disc,
to
leave
room
for
the
efi
file
file
system
and
a
while
back
looks
like
brian
bellendorf
tried
to
probably
successfully
it
compiles,
ported
it
over
to
somewhere
and
then
abandoned
it,
and
so
I
tried
to
pick
it
up
and
try
again
and
some
file
some
functions
had
moved
files.
So
there
was
some
like.
Oh
this,
this
file
is
this.
H
This
function
is
now
in
this
other
file
that
had
to
be
cleared
up,
and
since
I'm
not
a
c
programmer,
there
was
a
static
on
a
function
that
needed
to
be
removed.
That
sarah
helped
me
figure
out
and
seraphim
also
helped
me
a
bunch.
So
this
would
not
have
been
done
without
their
help,
but
I
can
compile
this.
H
A
And
it
looks
like
that
was
our
last
project
there.
So
all
right,
I'm
going
to
share
my
screen-
reveal
the
winners
all
right
in
first
place
with
28
percent
of
the
votes
allen
with
zdb.cp.
Congratulations.
A
Oh
so
anonymous
anonymous,
latecomer
has
tied
it
up
between
second
and
third,
so
second
and
third
places
are
are
tied
between
the
alakan
team,
with
website
and
docs
and
paul
with
the
in
kernel.
Rust
module
awesome.
So
congratulations.
The
other
other
favorited
projects
were
d-rate
expansion,
feature
compatibility
lists
and
efi
boot
partition
awesome.
So
thanks
to
everyone
who
participated,
I
hope
that
you
got
a
chance
to
do
something
that
you
don't
normally
get
to
do
and
work
with
folks
that
you
didn't
normally
get
to
work
with
the
winners.
A
Please
get
in
touch
with
karen
and
the
folks
who
worked
on
the
website
and
docs.
You
feel
free
to
define
for
yourselves
who
were
the
participants.
There
looks
like
at
least
alec
james
and
george.
We
have
we
have
budget
for
multiple
prizes
per
place,
so
you
you
all.
The
participants
will
receive
prizes,
not
just
alec.
A
Awesome
so
now
I
think
we're
closing
this
I'll.
Give
you
a
reminder
of
what
you
get,
what
you're
going
to
get
to
choose
from.