Age | Commit message (Collapse) | Author |
|
From FreeBSD
|
|
machines or some configurations or in some phase of the moon (we actually
don't know when or why) files disappeared. Since we've not been able to
track down the problem in two weeks intense debugging and we need -current
to be stable, back out everything to a state it had before UBC.
We apologise for the inconvenience.
|
|
- get rid of VOP_BALLOCN and VOP_SIZE
- move the generic getpages and putpages into miscfs/genfs
- create a genfs_node which must be added to the top of the private portion
of each vnode for filsystems that want to use genfs_{get,put}pages
- rename genfs_mmap to vop_generic_mmap
|
|
|
|
|
|
the filesystem if we're allowed to mmap the file.
|
|
ACQUIRE_LOCK_INTERLOCKED set the owner back without validating that the state
is ok. This could lead to changed states and FREE_LOCK could set spl to
any random value.
Try to preserve the state of the lock.
XXX - all this locking in the code is insane. all this debugging code
breaks stuff.
|
|
|
|
and bpp == NULL.
|
|
In flush_inodedep_deps - release the lock before sleep.
When allocating a pagecache dependency buffer - make sure it's always
correctly initialized.
|
|
code is written mostly by Chuck Silvers <chuq@chuq.com>/<chs@netbsd.org>.
Tested for the past few weeks by many developers, should be in a pretty stable
state, but will require optimizations and additional cleanups.
|
|
|
|
Pass over the quota code in ufs/. Make code paths clearer. Clean up some names.
Move all code that manipulates quotas directly into ufs_quota.c
Use vfs_mount_foreach_vnode to traverse list of vnodes in mountpoint.
|
|
|
|
|
|
|
|
buffer in that case. Also add a new argument - blknop, which can be used to
return the allocated blkno.
|
|
(Look ma, I might have broken the tree)
|
|
|
|
when doing sync. From FreeBSD.
art@ ok.
|
|
fix the rest of the kernel some other time.
|
|
regular files.
ftruncate and truncate that go through FFS/EXT2FS/MFS will now return
EINVAL when done on devices.
Bug introduced when VOP_TRUNCATE was removed, thus removing spec_truncate.
Thanks to millert@ for tracking this one down.
|
|
|
|
|
|
|
|
|
|
fixes "duplicated free" panic. Update file system from read-write to
read-only freed memory but may fail later if file system busy.
deraadt@ ok.
|
|
From FreeBSD with little changes.
art@ ok.
|
|
This problem occur only on kernels without soft-updates support.
art@ ok.
|
|
FreeBSD's log:
> The ffs superblock includes a 128-byte region for use by temporary
> in-core pointers to summary information. An array in this region
> (fs_csp) could overflow on filesystems with a very large number of
> cylinder groups (~16000 on i386 with 8k blocks). When this happens,
> other fields in the superblock get corrupted, and fsck refuses to
> check the filesystem.
>
> Solve this problem by replacing the fs_csp array in 'struct fs'
> with a single pointer, and add padding to keep the length of the
> 128-byte region fixed. Update the kernel and userland utilities
> to use just this single pointer.
>
> With this change, the kernel no longer makes use of the superblock
> fields 'fs_csshift' and 'fs_csmask'. Add a comment to newfs/mkfs.c
> to indicate that these fields must be calculated for compatibility
> with older kernels.
art@ ok.
|
|
|
|
since fs_contigdirs takes 64 bits on those platforms. This fixes
a problem on alpha where "struct fs" grew. A better solution is
to make fs_csp into a pointer and use the remainder for pointer
spares and allocate fs_contigdirs from those. This will happen
some time post-2.9.
|
|
It allocates directory inode in the same cylinder group as a parent
directory in. This speedup file/directory intensive operations on
a big file systems in times.
Don't forget to recompile fsck_ffs with updated fs.h or you will get
"VALUES IN SUPER BLOCK DISAGREE WITH THOSE IN FIRST ALTERNATE" at
the next boot. In any case you can ignore this error safely.
Requested by deraadt@
|
|
from interrupt at splbio.
costa@ ok.
|
|
and otherwise are disabled.
art@ ok.
|
|
|
|
|
|
Saves approx. 256k memory on a GENERIC i386 and moves 670k out of kmem_map.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|