| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
'RELENG_4_9_0_RELEASE'.
This commit was manufactured to restore the state of the 4.9-RELEASE image.
Releases prior to 5.3-RELEASE are omitting the secure/ and crypto/ subdirs.
|
| |
|
|
|
|
|
|
| |
(B_ -> BX_). Modify the VN device to use IO_NOWDRAIN (MFC from similar
change in -current's MD device).
Notes:
svn path=/stable/4/; revision=86541
|
| |
|
|
|
|
|
|
|
|
|
|
| |
devices. The VOP_ISLOCKED() call was completely bogus and could cause
the VN device to issue VOP_READ() and VOP_WRITE() calls without obtaining
the vnode lock if another process (e.g. like the buf_daemon or syncer)
was holding the lock. This could potentially result in a corrupt filesystem.
(MD in -current already does the right thing).
Notes:
svn path=/stable/4/; revision=86203
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
later. We now call cdesw_remove() to unregister the device, NULL
out any pointers to the vn_softc that exist in dev_t `si_drv1'
fields, and perform a destroy_dev() corresponding to the initial
make_dev().
This is not an MFC; vn(4) is no longer in -current.
PR: kern/18270, i386/26049
Submitted by: peter.edwards@ireland.com, chervarium@nove.bg
Reviewed by: phk
Approved by: jkh
Notes:
svn path=/stable/4/; revision=74820
|
| |
|
|
|
|
|
| |
Tested by: "Sean O'Connell" <sean@stat.Duke.EDU>
Notes:
svn path=/stable/4/; revision=60608
|
| |
|
|
|
|
|
|
|
| |
to a swap backed vn device.
OK'ed by: dillon
Notes:
svn path=/head/; revision=55176
|
| |
|
|
| |
Notes:
svn path=/head/; revision=54655
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lockstatus() and VOP_ISLOCKED() gets a new process argument and a new
return value: LK_EXCLOTHER, when the lock is held exclusively by another
process.
* The ASSERT_VOP_(UN)LOCKED family is extended to use what this gives them
* Extend the vnode_if.src format to allow more exact specification than
locked/unlocked.
This commit should not do any semantic changes unless you are using
DEBUG_VFS_LOCKS.
Discussed with: grog, mch, peter, phk
Reviewed by: peter
Notes:
svn path=/head/; revision=54444
|
| |
|
|
| |
Notes:
svn path=/head/; revision=52965
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Merge the contents (less some trivial bordering the silly comments)
of <vm/vm_prot.h> and <vm/vm_inherit.h> into <vm/vm.h>. This puts
the #defines for the vm_inherit_t and vm_prot_t types next to their
typedefs.
This paves the road for the commit to follow shortly: change
useracc() to use VM_PROT_{READ|WRITE} rather than B_{READ|WRITE}
as argument.
Notes:
svn path=/head/; revision=52635
|
| |
|
|
|
|
|
|
| |
problems. Now that Matt has fixed vn, this can go. The vn driver
should have used d_maxio (now si_iosize_max) anyway.
Notes:
svn path=/head/; revision=51808
|
| |
|
|
| |
Notes:
svn path=/head/; revision=51707
|
| |
|
|
|
|
|
|
|
|
| |
the sector size, the new value for bp->b_bcount was incorrectly
calculated. Fixed.
Submitted by: Tor.Egge@fast.no
Notes:
svn path=/head/; revision=51703
|
| |
|
|
|
|
|
|
|
|
|
| |
have been there in the first place. A GENERIC kernel shrinks almost 1k.
Add a slightly different safetybelt under nostop for tty drivers.
Add some missing FreeBSD tags
Notes:
svn path=/head/; revision=51658
|
| |
|
|
|
|
|
|
|
|
|
|
| |
adjust the bp->b_bcount the same way for unlabeled VN access as dscheck
does for labeled access.
We also increase the block size to at least 8K for efficiency.
Reviewed by: Tor.Egge@fast.no
Notes:
svn path=/head/; revision=51469
|
| |
|
|
|
|
|
| |
Otherwise leave at zero and let the generic code decide.
Notes:
svn path=/head/; revision=51378
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
size != 512 that are configured without a label. The bug should only
have effected swap-backed VN mounts without a label.
Add several major features to VN. In the kernel we add a swap
pre-reservation capability, which can be used to guarentee seek
consistency for swap-backed VN nodes. This also incidently allows
a swap-backed VN filesystem to be recovered after a crash in some
cases (if the same swap blocks happen to be reserved).
We also add a number of new options to vnconfig which do the work
of pre-zeroing or creating/truncating/extending a file which greatly
simplifies using VN in a file-backed configuration.
Add FreeBSD CVS label to sys/sys/vnioctl.h, as well as a new ioctl
flag for the swap pre-reservation feature.
Reviewed by: Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>
Notes:
svn path=/head/; revision=51341
|
| |
|
|
|
|
|
|
|
| |
More likely to follow.
Submitted by: phk@freebsd.org
Notes:
svn path=/head/; revision=51111
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
a quick think and discussion among various people some form of some of
these changes will probably be recommitted.
The reversion requested was requested by dg while discussions proceed.
PHK has indicated that he can live with this, and it has been agreed
that some form of some of these changes may return shortly after further
discussion.
Notes:
svn path=/head/; revision=50830
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
the highly non-recommended option ALLOW_BDEV_ACCESS is used.
(bdev access is evil because you don't get write errors reported.)
Kill si_bsize_best.
Use the specfs routines rather having cloned copies in devfs.
Notes:
svn path=/head/; revision=50622
|
| |
|
|
|
|
|
| |
code, we can find the name from any convenient dev_t
Notes:
svn path=/head/; revision=50511
|
| |
|
|
| |
Notes:
svn path=/head/; revision=50494
|
| |
|
|
|
|
|
|
| |
1. implement read-only ability
2. make it play nice with cdevsw (use cdevsw_remove() uon kldunload)
Notes:
svn path=/head/; revision=50490
|
| |
|
|
| |
Notes:
svn path=/head/; revision=50477
|
| |
|
|
|
|
|
| |
for misprinting in %lx format.
Notes:
svn path=/head/; revision=50253
|
| |
|
|
|
|
|
| |
a workaround.
Notes:
svn path=/head/; revision=50207
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce BUF_STRATEGY(struct buf *, int flag) macro, and use it throughout.
please see comment in sys/conf.h about the flag argument.
Remove strategy argument from all the diskslice/label/bad144
implementations, it should be found from the dev_t.
Remove bogus and unused strategy1 routines.
Remove open/close arguments from dssize(). Pick them up from dev_t.
Remove unused and unfinished setgeom support from diskslice/label/bad144 code.
Notes:
svn path=/head/; revision=49771
|
| |
|
|
| |
Notes:
svn path=/head/; revision=49548
|
| |
|
|
|
|
|
|
|
| |
a few lines into <sys/vnode.h>.
Add a few fields to struct specinfo, paving the way for the fun part.
Notes:
svn path=/head/; revision=49535
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
vnodes referencing this device.
Details:
cdevsw->d_parms has been removed, the specinfo is available
now (== dev_t) and the driver should modify it directly
when applicable, and the only driver doing so, does so:
vn.c. I am not sure the logic in checking for "<" was right
before, and it looks even less so now.
An intial pool of 50 struct specinfo are depleted during
early boot, after that malloc had better work. It is
likely that fewer than 50 would do.
Hashing is done from udev_t to dev_t with a prime number
remainder hash, experiments show no better hash available
for decent cost (MD5 is only marginally better) The prime
number used should not be close to a power of two, we use
83 for now.
Add new checkalias2() to get around the loss of info from
dev2udev() in bdevvp();
The aliased vnodes are hung on a list straight of the dev_t,
and speclisth[SPECSZ] is unused. The sharing of struct
specinfo means that the v_specnext moves into the vnode
which grows by 4 bytes.
Don't use a VBLK dev_t which doesn't make sense in MFS, now
we hang a dummy cdevsw on B/Cmaj 253 so that things look sane.
Storage overhead from all of this is O(50k).
Bump __FreeBSD_version to 400009
The next step will add the stuff needed so device-drivers can start to
hang things from struct specinfo
Notes:
svn path=/head/; revision=48936
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reformat and initialize correctly all "struct cdevsw".
Initialize the d_maj and d_bmaj fields.
The d_reset field was not removed, although it is never used.
I used a program to do most of this, so all the files now use the
same consistent format. Please keep it that way.
Vinum and i4b not modified, patches emailed to respective authors.
Notes:
svn path=/head/; revision=47625
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
udev_t in the kernel but still called dev_t in userland.
Provide functions to manipulate both types:
major() umajor()
minor() uminor()
makedev() umakedev()
dev2udev() udev2dev()
For now they're functions, they will become in-line functions
after one of the next two steps in this process.
Return major/minor/makedev to macro-hood for userland.
Register a name in cdevsw[] for the "filedescriptor" driver.
In the kernel the udev_t appears in places where we have the
major/minor number combination, (ie: a potential device: we
may not have the driver nor the device), like in inodes, vattr,
cdevsw registration and so on, whereas the dev_t appears where
we carry around a reference to a actual device.
In the future the cdevsw and the aliased-from vnode will be hung
directly from the dev_t, along with up to two softc pointers for
the device driver and a few houskeeping bits. This will essentially
replace the current "alias" check code (same buck, bigger bang).
A little stunt has been provided to try to catch places where the
wrong type is being used (dev_t vs udev_t), if you see something
not working, #undef DEVT_FASCIST in kern/kern_conf.c and see if
it makes a difference. If it does, please try to track it down
(many hands make light work) or at least try to reproduce it
as simply as possible, and describe how to do that.
Without DEVT_FASCIST I belive this patch is a no-op.
Stylistic/posixoid comments about the userland view of the <sys/*.h>
files welcome now, from userland they now contain the end result.
Next planned step: make all dev_t's refer to the same devsw[] which
means convert BLK's to CHR's at the perimeter of the vnodes and
other places where they enter the game (bootdev, mknod, sysctl).
Notes:
svn path=/head/; revision=47028
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Virtualize bdevsw[] from cdevsw. bdevsw() is now an (inline)
function.
Join CDEV_MODULE and BDEV_MODULE to DEV_MODULE (please pay attention
to the order of the cmaj/bmaj arguments!)
Join CDEV_DRIVER_MODULE and BDEV_DRIVER_MODULE to DEV_DRIVER_MODULE
(ditto!)
(Next step will be to convert all bdev dev_t's to cdev dev_t's
before they get to do any damage^H^H^H^H^H^Hwork in the kernel.)
Notes:
svn path=/head/; revision=46635
|
| |
|
|
|
|
|
|
|
| |
in *devsw[] rather than the 46 local copies of the same functions.
(grog will do the same for vinum when he has time)
Notes:
svn path=/head/; revision=46625
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1:
s/suser/suser_xxx/
2:
Add new function: suser(struct proc *), prototyped in <sys/proc.h>.
3:
s/suser_xxx(\([a-zA-Z0-9_]*\)->p_ucred, \&\1->p_acflag)/suser(\1)/
The remaining suser_xxx() calls will be scrutinized and dealt with
later.
There may be some unneeded #include <sys/cred.h>, but they are left
as an exercise for Bruce.
More changes to the suser() API will come along with the "jail" code.
Notes:
svn path=/head/; revision=46112
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old VN device broke in -4.x when the definition of B_PAGING
changed. This patch fixes this plus implements additional capabilities.
The new VN device can be backed by a file ( as per normal ), or it can
be directly backed by swap.
Due to dependencies in VM include files (on opt_xxx options) the new
vn device cannot be a module yet. This will be fixed in a later commit.
This commit delimitted by tags {PRE,POST}_MATT_VNDEV
Notes:
svn path=/head/; revision=44739
|
| |
|
|
|
|
|
|
| |
as well as swap I/O now. This path failed to properly set bp->b_resid
on I/O completion.
Notes:
svn path=/head/; revision=43492
|
| |
|
|
| |
Notes:
svn path=/head/; revision=43080
|
| |
|
|
| |
Notes:
svn path=/head/; revision=42985
|
| |
|
|
|
|
|
|
| |
This clearly needs alot more thought, and we dont need this to hunt
us down in 3.0-RELEASE.
Notes:
svn path=/head/; revision=39187
|
| |
|
|
|
|
|
| |
This was apparently missed when all the #ifdef SLICE gunk was put in.
Notes:
svn path=/head/; revision=39104
|
| |
|
|
|
|
|
|
| |
Forgotten by: julian
Reviewed by: bde
Notes:
svn path=/head/; revision=38493
|
| |
|
|
|
|
|
|
| |
in via the uio struct. This enables device drivers to use != DEV_BSIZE
blocking on devices with wierd sector/block sizes (ie CDROM's).
Notes:
svn path=/head/; revision=38438
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
and DSO_NOLABELS flags prevent searching for slices and labels
respectively. Current drivers don't set these flags. When
DSO_NOLABELS is set, the in-core label for the whole disk is cloned
to create an in-core label for each slice. This gives the correct
result (a good in-core label for the compatibility slice) if
DSO_ONESLICE is set or only one slice is found, but usually gives
broken labels otherwise, so DSO_ONESLICE should be set if DSO_NOLABELS
is set.
Notes:
svn path=/head/; revision=37974
|
| |
|
|
|
|
|
|
|
|
|
| |
interupt level events. This needs a lot of cleanup, but has been working
here for a month or two.. originally needed for CAM integration
but that hasn't happenned yet. The probing state machines for each
handler should be replaced by a more generic state-service. It's
still quite messy in there..
Notes:
svn path=/head/; revision=37616
|
| |
|
|
| |
Notes:
svn path=/head/; revision=37555
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is only cdevsw (which should be renamed in a later edit to deventry
or something). cdevsw contains the union of what were in both bdevsw an
cdevsw entries. The bdevsw[] table stiff exists and is a second pointer
to the cdevsw entry of the device. it's major is in d_bmaj rather than
d_maj. some cleanup still to happen (e.g. dsopen now gets two pointers
to the same cdevsw struct instead of one to a bdevsw and one to a cdevsw).
rawread()/rawwrite() went away as part of this though it's not strictly
the same patch, just that it involves all the same lines in the drivers.
cdroms no longer have write() entries (they did have rawwrite (?)).
tapes no longer have support for bdev operations.
Reviewed by: Eivind Eklund and Mike Smith
Changes suggested by eivind.
Notes:
svn path=/head/; revision=37389
|
| |
|
|
|
|
|
|
|
| |
as the value in b_vp is often not really what you want.
(and needs to be frobbed). more cleanups will follow this.
Reviewed by: Bruce Evans <bde@freebsd.org>
Notes:
svn path=/head/; revision=37384
|
| |
|
|
|
|
|
|
| |
to some known value!
(probable cause of soft updates exploding with vn devices)
Notes:
svn path=/head/; revision=37366
|
| |
|
|
| |
Notes:
svn path=/head/; revision=36740
|