zfs/include/sys
Brian Behlendorf df554c148e Fix 'zfs set volsize=N pool/dataset'
This change fixes a kernel panic which would occur when resizing
a dataset which was not open.  The objset_t stored in the
zvol_state_t will be set to NULL when the block device is closed.
To avoid this issue we pass the correct objset_t as the third arg.

The code has also been updated to correctly notify the kernel
when the block device capacity changes.  For 2.6.28 and newer
kernels the capacity change will be immediately detected.  For
earlier kernels the capacity change will be detected when the
device is next opened.  This is a known limitation of older
kernels.

Online ext3 resize test case passes on 2.6.28+ kernels:
$ dd if=/dev/zero of=/tmp/zvol bs=1M count=1 seek=1023
$ zpool create tank /tmp/zvol
$ zfs create -V 500M tank/zd0
$ mkfs.ext3 /dev/zd0
$ mkdir /mnt/zd0
$ mount /dev/zd0 /mnt/zd0
$ df -h /mnt/zd0
$ zfs set volsize=800M tank/zd0
$ resize2fs /dev/zd0
$ df -h /mnt/zd0

Original-patch-by: Fajar A. Nugraha <github@fajar.net>
Closes #68
Closes #84
2011-05-02 08:54:40 -07:00
..
fm Fix 'zfs set volsize=N pool/dataset' 2011-05-02 08:54:40 -07:00
fs Fix 'zfs set volsize=N pool/dataset' 2011-05-02 08:54:40 -07:00
Makefile.am Add xvattr support 2011-03-02 11:43:50 -08:00
Makefile.in Fix 'zfs set volsize=N pool/dataset' 2011-05-02 08:54:40 -07:00
arc.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
avl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
avl_impl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
bplist.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
bpobj.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
dbuf.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
ddt.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
dmu.h Linux 2.6.x compat, blkdev_compat.h 2011-02-23 12:29:38 -08:00
dmu_impl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
dmu_objset.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
dmu_traverse.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
dmu_tx.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
dmu_zfetch.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
dnode.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
dsl_dataset.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
dsl_deadlist.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
dsl_deleg.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
dsl_dir.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
dsl_pool.h Prototype/structure update for Linux 2011-02-10 09:27:21 -08:00
dsl_prop.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
dsl_scan.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
dsl_synctask.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
efi_partition.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
metaslab.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
metaslab_impl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
nvpair.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
nvpair_impl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
refcount.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
rrwlock.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
sa.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
sa_impl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
spa.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
spa_boot.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
spa_impl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
space_map.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
txg.h Add API to wait for pending commit callbacks 2011-02-16 11:20:06 -08:00
txg_impl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
u8_textprep.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
u8_textprep_data.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
uberblock.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
uberblock_impl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
uio_impl.h Add basic uio support 2011-02-10 09:21:43 -08:00
unique.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
uuid.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
vdev.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
vdev_disk.h Linux 2.6.x compat, blkdev_compat.h 2011-02-23 12:29:38 -08:00
vdev_file.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
vdev_impl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
xvattr.h Add xvattr support 2011-03-02 11:43:50 -08:00
zap.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zap_impl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zap_leaf.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zfs_acl.h Add xvattr support 2011-03-02 11:43:50 -08:00
zfs_context.h Fix libzpool cv_* build error 2011-03-31 12:20:53 -07:00
zfs_debug.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zfs_dir.h Prototype/structure update for Linux 2011-02-10 09:27:21 -08:00
zfs_fuid.h Prototype/structure update for Linux 2011-02-10 09:27:21 -08:00
zfs_ioctl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zfs_onexit.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zfs_rlock.h Range lock performance improvements 2011-03-08 12:44:06 -08:00
zfs_sa.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zfs_stat.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zfs_vfsops.h Register .remount_fs handler 2011-03-15 13:33:29 -07:00
zfs_vnops.h Add zfs_open()/zfs_close() 2011-03-08 11:04:51 -08:00
zfs_znode.h Fix evict() deadlock 2011-03-22 12:14:55 -07:00
zil.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zil_impl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zio.h Initial zio delay timing 2010-10-12 14:55:02 -07:00
zio_checksum.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zio_compress.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zio_impl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zpl.h Implemented NFS export_operations. 2011-04-29 12:36:13 -07:00
zrlock.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zvol.h Linux 2.6.x compat, blkdev_compat.h 2011-02-23 12:29:38 -08:00