Updated README to reflect the current state of the project and to
be less developer focused. It now simply includes basic build
instructions for packages and little example of some of the cool
things you can do.
Also remove the out of data TODO file. This sort of thing can
and be tracked on the GitHub issue tracker.
The unlocked version of blk_end_request() should be used in the
zvol_request() error handling to avoid deadlocking the request_queue
queue_lock. Things get a little more complicated for older kernel
APIs but the compat layer has been updated as well to reflect this.
These changes do not belong on linux-kernel-module since they
are tweaks to user space utilities. I'm reverting them from
this topic branch and will be moving them to a new topic branch
which can be used for just this sort of thing.
Links in /dev for volumes/snapshots were only being created
at volume/snapshot creation time. Those links are now also
created dynamically at module load time based on the spa config.
In other words all you need to do to get access to your zfs
datasets after a reboot is load the module. It's magic!
It turns out the zil allocates quite large buffers. This isn't
all the surprising but we need to suppress the warnings until
it's clear what to do about it.
These two allocations are 16k in size which trips the SPL warning
about large kmem_allocs(). For now simply shift them to a vmem_alloc().
Yes, this has it's own set of problems but this happens infrequently
enough not to be a real issue. But more importantly it means that
we've flagged this place in the code via this topic branch as a
place which still needs long term work.
Interestingly this has only been a problem on a clean RHEL6
install so I suspect the include was removed from one of the
standard system include headers. We should be including it
explicitly anyway since it's used in both of these .c files.
It used to be the case that libuuid was part of e2fsprogs. However,
since other projects unrelated to e2fsprogs make use of that library
it was getting aukward to have that dependency. The package was
split from e2fsprogs and moved to its own devel package in the
util-linux-ng project. Anyway, I'm just updating the error message
to reflect the new upstream reality.