History log of /src/sys/dev/fssvar.h |
Revision | | Date | Author | Comments |
1.32 |
| 20-Feb-2019 |
hannken | Make FSS_ERROR a flag to prevent bogus fscow_disestablish() after error.
|
1.31 |
| 29-Aug-2018 |
hannken | Add two new states FSS_CREATING and FSS_DESTROYING and use them while creating or destroying a snapshot.
Remove now unneeded sc_lock that made fss_ioctl mutually exclusive.
Fss_ioctl no longer blocks forever because a snapshot gets created or destroyed.
Serialize snapshot creation and make it interruptible.
|
1.30 |
| 29-Aug-2018 |
hannken | Convert flags FSS_ACTIVE and FSS_ERROR into new member sc_state with states FSS_IDLE, FSS_ACTIVE and FSS_ERROR.
No functional change intended.
|
1.29 |
| 06-Sep-2015 |
dholland | branches: 1.29.10; 1.29.16; 1.29.18; More on PR 41200: headers that declare ioctls should include sys/ioccom.h. This covers (I think) all the MI headers outside of external/ (and dist/).
|
1.28 |
| 28-Feb-2014 |
skrll | branches: 1.28.6; G/C sys/simplelock.h includes
|
1.27 |
| 29-Nov-2011 |
bouyer | branches: 1.27.8; 1.27.12; Complete backward compat with NetBSd 5.x: time_t changed size, so did struct timeval, and so did struct fss_get. So we need a compat FSSIOCGET50 ioctl.
|
1.26 |
| 29-Nov-2011 |
bouyer | Fix FSSIOCSET50: needs to use the 5.0 struct fss_set, not the current one.
|
1.25 |
| 24-Feb-2011 |
hannken | branches: 1.25.4; fss(4): Allow FSSIOCSET to set the initial flags. Add a new flag "FSS_UNLINK_ON_CREATE" to unlink the backing store before the snapshot gets created.
With this change dump(8) no longer dumps the zero-sized, but named snapshot it is working on. Same applies to fsck_ffs(8).
|
1.24 |
| 05-Apr-2010 |
hannken | branches: 1.24.2; 1.24.4; Remove unused fss_softc member sc_bs_size.
|
1.23 |
| 17-Sep-2008 |
hannken | branches: 1.23.4; 1.23.14; 1.23.16; Replace the fss unmount hook with a vfs_hook.
fssvar.h: struct device * -> device_t. fss.c: establish unmount hook on first attach, remove on last detach. vfs_syscalls.c: remove the call of fss_umount_hook(). vfs_trans.c: destroy cow handlers on unmount as fstrans_unmount() will be called before vfs_hooks.
|
1.22 |
| 14-Sep-2008 |
hannken | Create fss(4) devices on first open and destroy on last close of an unconfigured device. That removes the compile-time constant number of useable devices. While here, add disk_busy()/disk_unbusy() instrumentation.
Reviewed by: Quentin Garnier <cube@netbsd.org>
|
1.21 |
| 12-Sep-2008 |
hannken | - Replace simple_lock/ltsleep/wakeup with mutex/cv. - Replace malloc/free with kmem_alloc/kmem_free. - Use bdev_ioctl() instead of bdevsw_lookup()/(*d_ioctl)(). - Be more fair to readers by cleaning the cache one slot at a time.
|
1.20 |
| 11-Sep-2008 |
hannken | fss_copy_on_write(): return error if reading the snapshotted device failed. fss_read_cluster(): use nestiobuf for reading. fss_bs_thread(): dont read the snapshotted device if a request is completely covered by backing store.
|
1.19 |
| 28-Apr-2008 |
martin | branches: 1.19.2; 1.19.6; Remove clause 3 and 4 from TNF licenses
|
1.18 |
| 04-Jan-2008 |
xtraeme | branches: 1.18.6; 1.18.8; 1.18.10; sys/simplelock.h is required now.
|
1.17 |
| 07-Oct-2007 |
hannken | branches: 1.17.4; 1.17.10; Update the file system copy-on-write handler.
- Instead of hooking the handler on the specdev of a mounted file system hook directly on the `struct mount'.
- Rename from `vn_cow_*' to `fscow_*' and move to `kern/vfs_trans.c'. Use `mount_*specific' instead of clobbering `struct mount' or `struct specinfo'.
- Replace the hand-made reader/writer lock with a krwlock.
- Keep `vn_cow_*' functions and mark as obsolete.
- Welcome to NetBSD 4.99.32 - `struct specinfo' changed size.
Reviewed by: Jason Thorpe <thorpej@netbsd.org>
|
1.16 |
| 09-Jul-2007 |
ad | branches: 1.16.6; 1.16.8; 1.16.10; Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes - select()/poll() improvements - miscellaneous MT safety improvements
|
1.15 |
| 04-Mar-2007 |
christos | branches: 1.15.2; 1.15.4; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.14 |
| 15-Feb-2007 |
ad | branches: 1.14.2; Replace some uses of lockmgr() / simplelocks.
|
1.13 |
| 14-Mar-2006 |
chs | use lockmgr() instead of bespoke code for mutual exclusion in fss_ioctl(). only take the lock when we actually need it (and particularly not for unknown cmds that are just going to fail immediately). fixes PR 33060.
|
1.12 |
| 11-Dec-2005 |
christos | branches: 1.12.4; 1.12.6; 1.12.8; 1.12.10; merge ktrace-lwp.
|
1.11 |
| 24-Oct-2005 |
hannken | Run all i/o from or to backing store through fss_bs_io(). Replace VOP_BMAP()/VOP_BALLOC() by vn_rdwr()/VOP_PUTPAGES().
Inspired by discussion on tech-kern@
|
1.10 |
| 15-Oct-2005 |
yamt | branches: 1.10.2; - change the way to specify a bufq strategy. (by string rather than by number) - rather than embedding bufq_state in driver softc, have a pointer to the former. - move bufq related functions from kern/subr_disk.c to kern/subr_bufq.c. - rename method to strategy for consistency. - move some definitions which don't need to be exposed to the rest of kernel from sys/bufq.h to sys/bufq_impl.h. (is it better to move it to kern/ or somewhere?) - fix some obvious breakage in dev/qbus/ts.c. (not tested)
|
1.9 |
| 17-Apr-2005 |
hannken | branches: 1.9.2; Support user controllable flags for the snapshot driver: - Add FSSIOFSET and FSSIOFGET ioctl() to set/get the flags. - Add FSS_UNCONFIG_ON_CLOSE flag to unconfigure the snapshot device on the last close.
Reviewed by: Jason R. Thorpe <thorpej@netbsd.org>
|
1.8 |
| 27-Feb-2005 |
perry | branches: 1.8.2; nuke trailing whitespace
|
1.7 |
| 29-Oct-2004 |
hannken | branches: 1.7.4; 1.7.6; Move the inclusion of <sys/bufq.h> from fss.c to fssvar.h to make an FSS-enabled kernel compile again.
|
1.6 |
| 25-May-2004 |
hannken | branches: 1.6.2; Add ffs internal snapshots. Written by Marshall Kirk McKusick for FreeBSD.
- Not enabled by default. Needs kernel option FFS_SNAPSHOT. - Change parameters of ffs_blkfree. - Let the copy-on-write functions return an error so spec_strategy may fail if the copy-on-write fails. - Change genfs_*lock*() to use vp->v_vnlock instead of &vp->v_lock. - Add flag B_METAONLY to VOP_BALLOC to return indirect block buffer. - Add a function ffs_checkfreefile needed for snapshot creation. - Add special handling of snapshot files: Snapshots may not be opened for writing and the attributes are read-only. Use the mtime as the time this snapshot was taken. Deny mtime updates for snapshot files. - Add function transferlockers to transfer any waiting processes from one lock to another. - Add vfsop VFS_SNAPSHOT to take a snapshot and make it accessible through a vnode. - Add snapshot support to ls, fsck_ffs and dump.
Welcome to 2.0F.
Approved by: Jason R. Thorpe <thorpej@netbsd.org>
|
1.5 |
| 24-Feb-2004 |
wiz | occured -> occurred. From Peter Postma.
|
1.4 |
| 14-Feb-2004 |
hannken | Add a generic copy-on-write hook to add/remove functions that will be called with every buffer written through spec_strategy().
Used by fss(4). Future file-system-internal snapshots will need them too.
Welcome to 1.6ZK
Approved by: Jason R. Thorpe <thorpej@netbsd.org>
|
1.3 |
| 25-Jan-2004 |
hannken | Make VOP_STRATEGY(bp) a real VOP as discussed on tech-kern.
VOP_STRATEGY(bp) is replaced by one of two new functions:
- VOP_STRATEGY(vp, bp) Call the strategy routine of vp for bp. - DEV_STRATEGY(bp) Call the d_strategy routine of bp->b_dev for bp.
DEV_STRATEGY(bp) is used only for block-to-block device situations.
|
1.2 |
| 11-Jan-2004 |
hannken | Update the file system snapshot driver: - Document the kernel thread. - Rename some functions and variables. - Return EROFS where appropriate. - Use shifts instead of 64-bit divide. - Use a simple_lock to make it MP-safe. - Add M_CANFAIL to malloc to avoid panic on large cluster size. - Allow sparse file for backing store and use VOP_BALLOC() to allocate space. Default size of backing store is the size of the file system.
|
1.1 |
| 10-Dec-2003 |
hannken | The file system snapshot pseudo driver.
Uses a hook in spec_strategy() to save data written from a mounted file system to its block device and a hook in dounmount().
Not enabled by default in any kernel config.
Approved by: Frank van der Linden <fvdl@netbsd.org>
|
1.6.2.7 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.6.2.6 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.6.2.5 |
| 02-Nov-2004 |
skrll | Sync with HEAD.
|
1.6.2.4 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.6.2.3 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.6.2.2 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.6.2.1 |
| 25-May-2004 |
skrll | file fssvar.h was added on branch ktrace-lwp on 2004-08-03 10:44:54 +0000
|
1.7.6.1 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.7.4.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.8.2.2 |
| 17-Mar-2006 |
tron | Pull up following revision(s) (requested by chs in ticket #1202): sys/dev/fssvar.h: revision 1.13 via patch sys/dev/fss.c: revision 1.23 via patch use lockmgr() instead of bespoke code for mutual exclusion in fss_ioctl(). only take the lock when we actually need it (and particularly not for unknown cmds that are just going to fail immediately). fixes PR 33060.
|
1.8.2.1 |
| 21-Apr-2005 |
tron | Pull up revision 1.9 (requested by hannken in ticket #184): Support user controllable flags for the snapshot driver: - Add FSSIOFSET and FSSIOFGET ioctl() to set/get the flags. - Add FSS_UNCONFIG_ON_CLOSE flag to unconfigure the snapshot device on the last close. Reviewed by: Jason R. Thorpe <thorpej@netbsd.org>
|
1.9.2.5 |
| 21-Jan-2008 |
yamt | sync with head
|
1.9.2.4 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.9.2.3 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.9.2.2 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.9.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.10.2.1 |
| 26-Oct-2005 |
yamt | sync with head
|
1.12.10.1 |
| 19-Apr-2006 |
elad | sync with head.
|
1.12.8.1 |
| 01-Apr-2006 |
yamt | sync with head.
|
1.12.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.12.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.14.2.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.15.4.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.15.2.2 |
| 09-Oct-2007 |
ad | Sync with head.
|
1.15.2.1 |
| 09-Apr-2007 |
ad | - Add two new arguments to kthread_create1: pri_t pri, bool mpsafe. - Fork kthreads off proc0 as new LWPs, not new processes.
|
1.16.10.1 |
| 14-Oct-2007 |
yamt | sync with head.
|
1.16.8.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.16.8.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.16.6.1 |
| 26-Oct-2007 |
joerg | Sync with HEAD.
Follow the merge of pmap.c on i386 and amd64 and move pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup code to restore CR4 before jumping back into kernel space as the large page option might cover that.
|
1.17.10.1 |
| 08-Jan-2008 |
bouyer | Sync with HEAD
|
1.17.4.1 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.18.10.3 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.18.10.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.18.10.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.18.8.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.18.6.2 |
| 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.18.6.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.19.6.1 |
| 19-Oct-2008 |
haad | Sync with HEAD.
|
1.19.2.1 |
| 24-Sep-2008 |
wrstuden | Merge in changes between wrstuden-revivesa-base-2 and wrstuden-revivesa-base-3.
|
1.23.16.2 |
| 05-Mar-2011 |
rmind | sync with head
|
1.23.16.1 |
| 30-May-2010 |
rmind | sync with head
|
1.23.14.1 |
| 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.23.4.2 |
| 25-Jan-2012 |
riz | Pull up following revision(s) (requested by bouyer in ticket #1700): sys/dev/fss.c: revision 1.79 sys/dev/fssvar.h: revision 1.26 Fix FSSIOCSET50: needs to use the 5.0 struct fss_set, not the current one.
|
1.23.4.1 |
| 18-Jun-2011 |
bouyer | Pull up following revision(s) (requested by hannken in ticket #1627): sys/kern/vfs_wapbl.c: revisions 1.41-1.42 sbin/dump/snapshot.c: revisions 1.6 (patch) share/man/man4/fss.4: revisions 1.15 (patch) sys/dev/fss.c: revisions 1.73 (patch) sys/dev/fssvar.h: revisions 1.25 usr.sbin/fssconfig/fssconfig.c: revisions 1.7 sys/ufs/ffs/ffs_balloc.c: revisions 1.54 sys/ufs/ffs/ffs_snapshot.c: revisions 1.90, 1.98, 1.100-1.101, 1.103-1.110, 1.111, 1.112-1.115 (patch)
- Try to keep snapshot indirect blocks contiguous. This speeds up snapshot creation by a factor of ~3 and reduces the file system suspension time by a factor of ~5.
- Refine the scope of WAPBL transactions and the limit for deallocations in one transaction so we should no longer get a "wapbl_flush: current transaction too big to flush" panic when creating or removing snapshots on larger logging disks.
- fss(4): Allow FSSIOCSET to set the initial flags. Add a new flag "FSS_UNLINK_ON_CREATE" to unlink the backing store before the snapshot gets created. With this change dump(8) no longer dumps the zero-sized, but named snapshot it is working on.
|
1.24.4.1 |
| 05-Mar-2011 |
bouyer | Sync with HEAD
|
1.24.2.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.25.4.2 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.25.4.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.27.12.1 |
| 18-May-2014 |
rmind | sync with head
|
1.27.8.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.27.8.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.28.6.1 |
| 22-Sep-2015 |
skrll | Sync with HEAD
|
1.29.18.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.29.16.1 |
| 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
1.29.10.1 |
| 01-Sep-2018 |
martin | Pull up following revision(s) (requested by hannken in ticket #999):
sys/dev/fssvar.h: revision 1.30 sys/dev/fssvar.h: revision 1.31 sys/dev/fss.c: revision 1.105 sys/dev/fss.c: revision 1.106
Convert flags FSS_ACTIVE and FSS_ERROR into new member sc_state with states FSS_IDLE, FSS_ACTIVE and FSS_ERROR.
No functional change intended.
Add two new states FSS_CREATING and FSS_DESTROYING and use them while creating or destroying a snapshot.
Remove now unneeded sc_lock that made fss_ioctl mutually exclusive. Fss_ioctl no longer blocks forever because a snapshot gets created or destroyed.
Serialize snapshot creation and make it interruptible.
|