mirror_zfs/lib/libspl/include/sys
Etienne Dechamps 30930fba21 Add support for DISCARD to ZVOLs.
DISCARD (REQ_DISCARD, BLKDISCARD) is useful for thin provisioning.
It allows ZVOL clients to discard (unmap, trim) block ranges from
a ZVOL, thus optimizing disk space usage by allowing a ZVOL to
shrink instead of just grow.

We can't use zfs_space() or zfs_freesp() here, since these functions
only work on regular files, not volumes. Fortunately we can use the
low-level function dmu_free_long_range() which does exactly what we
want.

Currently the discard operation is not added to the log. That's not
a big deal since losing discard requests cannot result in data
corruption. It would however result in disk space usage higher than
it should be. Thus adding log support to zvol_discard() is probably
a good idea for a future improvement.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2012-02-09 16:19:38 -08:00
..
dktp Add support for DISCARD to ZVOLs. 2012-02-09 16:19:38 -08:00
sysevent Add support for DISCARD to ZVOLs. 2012-02-09 16:19:38 -08:00
acl_impl.h Add linux libspl support 2010-08-31 13:41:59 -07:00
acl.h Add linux libspl support 2010-08-31 13:41:59 -07:00
bitmap.h Add linux libspl support 2010-08-31 13:41:59 -07:00
byteorder.h Add linux libspl support 2010-08-31 13:41:59 -07:00
callb.h Add linux libspl support 2010-08-31 13:41:59 -07:00
cmn_err.h Add linux libspl support 2010-08-31 13:41:59 -07:00
compress.h Add linux libspl support 2010-08-31 13:41:59 -07:00
cred.h Add linux libspl support 2010-08-31 13:41:59 -07:00
debug.h Add linux libspl support 2010-08-31 13:41:59 -07:00
dkio.h Fix for access beyond end of device error 2010-11-10 21:29:07 -08:00
dklabel.h Fix for access beyond end of device error 2010-11-10 21:29:07 -08:00
feature_tests.h Add linux libspl support 2010-08-31 13:41:59 -07:00
file.h Add linux libspl support 2010-08-31 13:41:59 -07:00
frame.h Add linux libspl support 2010-08-31 13:41:59 -07:00
int_limits.h Add linux libspl support 2010-08-31 13:41:59 -07:00
int_types.h Add linux libspl support 2010-08-31 13:41:59 -07:00
inttypes.h Add linux libspl support 2010-08-31 13:41:59 -07:00
isa_defs.h Add linux libspl support 2010-08-31 13:41:59 -07:00
kmem.h Add linux libspl support 2010-08-31 13:41:59 -07:00
kstat.h Add linux libspl support 2010-08-31 13:41:59 -07:00
list_impl.h Add linux libspl support 2010-08-31 13:41:59 -07:00
list.h Add linux libspl support 2010-08-31 13:41:59 -07:00
machelf.h Add linux libspl support 2010-08-31 13:41:59 -07:00
Makefile.am Fix block device-related issues in zdb. 2010-12-14 09:52:46 -08:00
Makefile.in Add support for DISCARD to ZVOLs. 2012-02-09 16:19:38 -08:00
mhd.h Add linux libspl support 2010-08-31 13:41:59 -07:00
mkdev.h Add linux libspl support 2010-08-31 13:41:59 -07:00
mntent.h Linux compat 2.6.39: mount_nodev() 2011-07-01 13:36:39 -07:00
mnttab.h Add 'zfs mount' support 2011-02-04 16:11:58 -08:00
mount.h Add overlay(-O) mount option support 2012-01-12 15:49:38 -08:00
note.h Add linux libspl support 2010-08-31 13:41:59 -07:00
param.h Correct MAXUID 2011-04-29 14:03:12 -07:00
priv.h Add linux libspl support 2010-08-31 13:41:59 -07:00
processor.h Add linux libspl support 2010-08-31 13:41:59 -07:00
sdt.h Add linux libspl support 2010-08-31 13:41:59 -07:00
stack.h Add linux libspl support 2010-08-31 13:41:59 -07:00
stat.h Fix block device-related issues in zdb. 2010-12-14 09:52:46 -08:00
stropts.h Add linux libspl support 2010-08-31 13:41:59 -07:00
sunddi.h Add linux libspl support 2010-08-31 13:41:59 -07:00
sysevent.h Add linux libspl support 2010-08-31 13:41:59 -07:00
sysmacros.h Add linux libspl support 2010-08-31 13:41:59 -07:00
systeminfo.h Add linux libspl support 2010-08-31 13:41:59 -07:00
systm.h Add linux libspl support 2010-08-31 13:41:59 -07:00
time.h Add linux libspl support 2010-08-31 13:41:59 -07:00
types32.h Add linux libspl support 2010-08-31 13:41:59 -07:00
types.h Add linux libspl support 2010-08-31 13:41:59 -07:00
tzfile.h Add linux libspl support 2010-08-31 13:41:59 -07:00
uio.h Add linux libspl support 2010-08-31 13:41:59 -07:00
utsname.h Add linux libspl support 2010-08-31 13:41:59 -07:00
va_list.h Add linux libspl support 2010-08-31 13:41:59 -07:00
varargs.h Add linux libspl support 2010-08-31 13:41:59 -07:00
vnode.h Add linux libspl support 2010-08-31 13:41:59 -07:00
vtoc.h Fix for access beyond end of device error 2010-11-10 21:29:07 -08:00
zone.h Add linux libspl support 2010-08-31 13:41:59 -07:00