Files
mirror_zfs/module/zfs
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
..
2012-02-02 11:24:30 -08:00
2010-08-31 08:38:35 -07:00
2010-08-26 14:24:34 -07:00
2011-05-31 12:17:27 -07:00
2011-05-31 12:17:27 -07:00
2010-08-26 14:24:34 -07:00
2010-08-31 13:41:58 -07:00
2011-02-18 09:31:25 -08:00
2010-08-31 13:41:58 -07:00
2011-05-04 10:02:37 -07:00
2011-02-10 09:27:22 -08:00
2010-08-31 08:38:45 -07:00
2011-11-03 10:19:21 -07:00
2010-08-31 13:41:58 -07:00
2010-08-31 13:41:58 -07:00
2011-05-04 10:02:37 -07:00
2011-02-23 12:52:51 -08:00
2011-05-04 10:02:37 -07:00
2010-08-31 13:41:58 -07:00
2011-05-04 10:02:37 -07:00
2010-08-31 08:38:46 -07:00
2010-08-31 08:38:49 -07:00
2011-04-29 12:36:13 -07:00
2010-12-07 16:05:25 -08:00
2011-11-28 15:45:51 -08:00
2010-08-31 13:41:59 -07:00
2010-08-31 13:41:58 -07:00
2010-08-31 13:41:58 -07:00
2010-08-31 13:41:58 -07:00
2012-02-02 11:24:30 -08:00
2012-01-17 08:54:00 -08:00
2010-08-27 15:34:02 -07:00
2010-08-27 15:28:32 -07:00
2011-05-04 10:02:37 -07:00
2010-08-31 08:38:44 -07:00
2010-08-27 15:28:32 -07:00
2012-01-17 13:49:07 -08:00
2010-08-31 08:38:46 -07:00
2011-07-01 13:36:39 -07:00
2010-08-31 13:41:58 -07:00
2012-02-02 11:24:30 -08:00
2010-10-12 14:55:02 -07:00
2011-03-02 11:44:34 -08:00
2012-02-02 11:24:30 -08:00
2011-03-02 11:44:34 -08:00
2010-08-31 13:41:50 -07:00
2011-03-03 11:29:15 -08:00
2012-01-27 09:23:36 -08:00
2012-02-09 15:20:37 -08:00
2011-05-04 10:02:37 -07:00
2010-09-17 16:24:15 -07:00
2012-02-09 16:19:38 -08:00