mycroft
b174019ccc
Pass null pointers to VOP_UPDATE rather than having all the callers fetch the
...
current time themselves.
1999-03-05 21:09:48 +00:00
mycroft
86ed73efb4
Permit the access and modify time pointers passed to VOP_UPDATE to be null,
...
meaning the current time.
1999-03-05 20:47:06 +00:00
bouyer
00d7241e81
Don't check fs_bsize before the superblock has been swapped if needed.
...
Check value of sbsize before allocating memory with this value.
1999-03-05 12:02:18 +00:00
wrstuden
862a56e88b
Modify vfsops to seperate vfs_fhtovp() into two routines. vfs_fhtovp() now
...
only handles the file handle to vnode conversion, and a new call,
vfs_checkexp(), performs the export verification.
1999-02-26 23:44:43 +00:00
mrg
b3d5e1889f
pull across patches from warner losh <imp@freebsd.org> (freebsd ufs_vnops.c
...
versions 1.109&1.110), adjusted for our ext2fs support, and also commited
there also. this avoids overflowing the link count.
1999-02-26 07:30:00 +00:00
bouyer
36a5fdb528
Some new fields in the ext2fs superblock, from Tim Shepard.
...
While I'm there, reformat this file a bit.
1999-02-17 13:09:43 +00:00
thorpej
a4376d6a58
Fix printf format problems on Alpha.
1999-02-12 01:38:38 +00:00
bouyer
22d556f6cf
Make sure a buffer optained from bread() is always bresle()'d in case of
...
error. Closes PR kern/1448 from Wolfgang Solfrank.
1999-02-10 13:14:08 +00:00
bouyer
dc306354b0
Move the bswap functions from libutil to libc (this bups the
...
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
1999-01-15 13:31:15 +00:00
bouyer
cdbe530495
No need to #include malloc.h here.
1998-12-04 11:02:30 +00:00
bouyer
3efc699962
Sanity check a few values in the superblock, to avoid mallocing huge
...
memory area if we try to mount a corrupted filesystem. Fixes kern/3933.
1998-12-04 11:00:40 +00:00
bouyer
4787b2ea75
- intentation
...
- sync LK_* flags with ffs/ufs
1998-12-02 10:44:52 +00:00
kenh
cbc0f73bee
Update device special file modification times if NODEVMTIME isn't set.
1998-12-01 23:18:48 +00:00
bouyer
bef8c343db
In ext2fs_sync(), don't flush the vnode if vput() returned an error. Fixes
...
PR kern/6495.
1998-12-01 14:37:44 +00:00
thorpej
1fcae7f1be
defopt FFS_EI
1998-11-12 19:51:10 +00:00
mycroft
d4026f6eb5
GC the B_CACHE bit.
1998-11-09 01:18:34 +00:00
cgd
515148e0a3
cast arg to dbtob to u_quad_t; consisent, and fixed size unnecessary
1998-11-06 23:03:06 +00:00
cgd
af24dfc946
argument to dbtob needs to be cast to u_quad_t here to avoid shift lossage
1998-11-06 23:02:12 +00:00
mycroft
1a5b9c6c30
Do not corrupt file flags when file system is full!
1998-10-27 21:32:58 +00:00
thorpej
978c3d97f5
For consistency w/ FFS/LFS, define EXT2_DINODE_SIZE, and use it instead
...
of pointer arithmetic and/or sizeof(struct ext2fs_dinode).
1998-10-23 00:33:23 +00:00
thorpej
5ecbc50348
Use DINODE_SIZE rather than sizeof(struct dinode).
1998-10-23 00:32:35 +00:00
thorpej
f7948d05a1
Use DINODE_SIZE rather than pointer arithmetic.
1998-10-23 00:31:28 +00:00
thorpej
c8a2232a27
Define a symbolic constant to represent the size of a dinode.
1998-10-23 00:28:45 +00:00
christos
e62c8fd824
Missed a conditional for FFS_EI; appears when we compile without -Ox
1998-10-04 18:07:57 +00:00
bouyer
5440442505
Not time to #include <machine/bswap.h>m, it will come with the move
...
of bswap*() from libutil to libc. Sorry !
1998-09-30 09:08:16 +00:00
bouyer
b10470bc11
#include opt_uvm.h only if _KENREL and !_LKM
...
Make ext2fs_init() call ufs_init(). it was doing the init by itself,
testing for extern done != 0. This bug was hidden by the fact that
ext2fs_init() is called before ffs_init().
1998-09-29 10:24:57 +00:00
pk
3059ae05ba
Apply patch from PR#5542: buffer overflow in lfs_markv().
1998-09-15 10:53:22 +00:00
christos
361a71f864
Fix copyright '\t' -> ' '
1998-09-13 15:14:40 +00:00
pk
37109879dc
PR#6032: define fixed sized on-disk superblock structure.
1998-09-11 21:27:12 +00:00
fvdl
077a042a3f
Fix some maxsymlinklen comparisons for old filesystems that were
...
wrong after the byteswap changes.
1998-09-08 08:37:12 +00:00
fvdl
8fe5a08b64
Correct maxsymlink comparison for old filesystems that was clobbered in
...
byteswap changes.
1998-09-08 08:21:12 +00:00
kenh
466e22e1b7
Add a NODEVMTIME compile-time option. This will inhibit the updating
...
of modification times on device special files. Probably only useful
for low-power systems.
1998-09-04 16:04:26 +00:00
thorpej
38cf17f475
Use the pool allocator and the "nointr" pool page allocator for LFS inodes.
1998-09-01 03:26:05 +00:00
thorpej
3ae149efac
Use the pool allocator and "nointr" pool page allocator for ext2fs inodes.
1998-09-01 03:20:46 +00:00
thorpej
60cfe320cc
Use the pool allocator and the "nointr" pool page allocator for FFS inodes.
...
XXX MFS also comes in here for inodes, and used a different malloc type,
but the structure is the same, so we just use the FFS inode pool.
1998-09-01 03:11:08 +00:00
rvb
7e0aabe421
Remove v_type != DIR check. First, vn_readdir already does
...
this check, before calling VOP_READDIR. Second, vn_readdir
returns a different error even. Finally, some FS's might
want to write their directories into files that look like
BSD directories and then have ufs_readdir parse them.
1998-08-30 00:16:04 +00:00
thorpej
9f42788795
Add some braces to make egcs happy.
1998-08-25 04:43:46 +00:00
thorpej
39f683419f
Back out part of last change (uninitialized work-around).
1998-08-18 18:15:41 +00:00
thorpej
6fc90a1a4d
Add some braces to make egcs happy (ambiguous else warning). Also,
...
deal with bogus uninitialized warning (__noreturn__ related)
1998-08-18 06:47:53 +00:00
matthias
574106c52b
create miscfs/genfs/genfs_vnops.c:genfs_enoioctl and make all the other
...
filesystems use it instead of a private version.
1998-08-10 08:11:10 +00:00
perry
27ca6798df
bzero->memset, bcopy->memcpy, bcmp->memcmp
1998-08-09 20:15:38 +00:00
mrg
5d236ade07
minr KNF nit ..
1998-08-09 03:16:23 +00:00
kleink
12a866151b
Recognize _PC_SYNC_IO.
1998-08-03 14:19:57 +00:00
kleink
933111f98f
Implement support for IEEE Std 1003.1b-1993 synchronous I/O:
...
* in the read vnode operator, check for IO_SYNC being set in the ioflag and
synchronously update the file's meta-data if appropriate.
* in the write vnode operator, update the appropriate checks for IO_SYNC being
set in the ioflag to reflect that IO_DSYNC is now inclusive-or'ed into
IO_SYNC, and require all IO_SYNC bits to be set for operations defined by
synchronized I/O file integrity completion but not by synchronized I/O data
integrity completion.
1998-08-02 18:57:23 +00:00
mjacob
d0aa61ad21
fix to accomodate change in vn_rdwr prototype
1998-07-28 20:37:33 +00:00
thorpej
6326c90134
Change the "aresid" argument of vn_rdwr() from an int * to a size_t *,
...
to match the new uio_resid type.
1998-07-28 18:37:47 +00:00
thorpej
e95c22ee96
Don't cast the null residual pointer passed to vn_rdwr().
1998-07-28 18:17:34 +00:00
drochner
2dcc522f1d
The fragtbl[], inside[] and around[] variables are needed by "fsck",
...
so we can't put them inside "#ifdef _KERNEL".
Put declarations inside .c files where needed to preserve namespace.
1998-07-28 17:30:01 +00:00
mycroft
829367f279
Omit some externs if not _KERNEL.
1998-07-28 04:17:51 +00:00
jonathan
d275e56dee
* defopt COMPAT_{09,10,11,12,13} and COMPAT_NOMID.
...
TODO: revisit interaction between native compat and emul compat usage.
1998-07-05 08:49:30 +00:00
thorpej
0f66e53c03
Use genfs_lease_check()
1998-06-25 22:20:39 +00:00
sommerfe
7ba7fbbb23
Always include fifos; "not an option any more".
1998-06-24 20:58:44 +00:00
sommerfe
76f1116825
Don't include opt_fifo.h if not kernel...
1998-06-23 23:15:50 +00:00
sommerfe
becaafeea0
defopt for options FIFO
1998-06-22 22:00:59 +00:00
mrg
670c3dfa60
splify UVM #ifdef.
1998-06-20 13:14:53 +00:00
kleink
2d869bbacf
KNF, mostly of FFS_EI changes.
1998-06-13 16:26:22 +00:00
cgd
651b44e211
Rework the way kernel include files are installed. In the new method,
...
as with user-land programs, include files are installed by each directory
in the tree that has includes to install. (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.) The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change. Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
kleink
74ce7ac984
KNF: only include one of <sys/{param,types}.h>, not both.
1998-06-10 15:57:39 +00:00
scottr
7171cca4b8
Protect various config(8)-generated files from inclusion while
...
building LKMs. Fixes PR 5557.
1998-06-09 07:46:31 +00:00
mikel
c1f8034333
ffs_ -> ext2fs_ in warning; art@openbsd.org
1998-06-09 06:33:22 +00:00
ragge
1a66918fc0
Wrong include file order; caused compile error on vax.
1998-06-08 17:59:08 +00:00
scottr
d48f258f90
Use the newly-defined opt_quota.h.
1998-06-08 04:27:50 +00:00
kleink
382743ada3
Convert fsync vnode operator implementations and usage from the old `waitfor'
...
argument and MNT_WAIT/MNT_NOWAIT to `flags' and FSYNC_WAIT.
1998-06-05 19:53:00 +00:00
kleink
d4a8052f98
Fix some arithmetics lossage on typeless pointers.
1998-05-08 18:31:13 +00:00
ross
ac5774c288
Fix a 64-bit pointer/int warning.
1998-03-19 03:42:35 +00:00
bouyer
091dafd39f
Add support for reading/writing FFS in non-native byte order, conditioned
...
to "options FFS_EI". The superblock and inodes (without blk addr) are
byteswapped at disk read/write time, other metadatas are byteswapped
when used (as they are acceeded directly in the buffer cache).
This required the addition of a "um_flags" field to struct ufsmount.
ffs_bswap.c contains superblock and inode byteswap routines also used
by userland utilities.
1998-03-18 15:57:26 +00:00
kleink
5cf59ee9ad
Move the permission check in vfs_syscalls.c::change_owner() back to
...
ufs_chown() again - the facility required in this context would be a
filesystem-specific super-user determination, which is not available yet.
1998-03-10 11:56:40 +00:00
cgd
c35a34ab68
ext2fs_checkoverlap is (or at least seems) unused, and its prototype is
...
#ifdef DIAGNOSTIC. Make the function #ifdef DIAGNOSTIC, as well, so we
don't get a warning about the function declaration not being a prototype.
1998-03-04 06:50:25 +00:00
drochner
22dbd3c3da
Don't cast the quad_t file size to u_long, this can cause overflows.
1998-03-03 09:02:51 +00:00
fvdl
221505c12f
Make this compile again with UVM
1998-03-03 01:49:21 +00:00
fvdl
e5209f31b8
A cookie should point to the *next* entry. Grrr.
1998-03-02 22:26:14 +00:00
bouyer
6d339338e6
Close kern/5077: When DIAGNOSTIC is defined, don't complain about
...
bad magic numbers at a mount attempt. A message is still printed when the
magic number is OK, but the version number or the block size is bad.
Patch from Soren S. Jorvang, but different from the one in the PR.
1998-03-02 16:13:42 +00:00
fvdl
d201db498e
Remove accidentally enabled lfs_mountroot from vfsops struct.
1998-03-01 22:16:39 +00:00
fvdl
8c7c2ea123
Remove accidentally enabled mfs_mountroot from vfsops struct.
1998-03-01 22:16:01 +00:00
fvdl
7ba6a2daac
Remove extraneous files from Lite2 merge.
1998-03-01 13:45:28 +00:00
fvdl
e5bc90f40c
Merge with Lite2 + local changes
1998-03-01 02:20:01 +00:00
fvdl
e8d05f0741
Import 4.4BSD-Lite2
1998-03-01 02:12:49 +00:00
fvdl
b50e39fa45
Import 4.4BSD-Lite for reference
1998-03-01 02:09:33 +00:00
thorpej
95e2e3b91b
Include the LFS option header.
1998-02-19 00:54:39 +00:00
drochner
ba81b6f6df
add missing vfsops element
1998-02-18 17:02:20 +00:00
thorpej
b5bf2ed6d0
Place a pointer to an array of our vnodeopv_desc *'s in our vfsops
...
structure, for use by vfs_attach().
1998-02-18 07:05:47 +00:00
kleink
e34b0a84a9
Move some permission-checking code for file owner/group changes up to
...
vfs_syscalls.c::change_owner(). Also, always update the inode's change time
if the operation succeeds.
1998-02-14 19:56:30 +00:00
mrg
d90485202c
- add defopt's for UVM, UVMHIST and PMAP_NEW.
...
- remove unnecessary UVMHIST_DECL's.
1998-02-10 14:08:44 +00:00
chs
abf50cf8c3
add UVM stuff.
1998-02-07 17:28:18 +00:00
chs
f64abc7b4c
add flags arg to hashinit(), to pass to malloc().
1998-02-07 02:44:44 +00:00
mrg
1a8c7604f4
initial import of the new virtual memory system, UVM, into -current.
...
UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some
minor portions derived from the old Mach code. i provided some help
getting swap and paging working, and other bug fixes/ideas. chuck
silvers <chuq@chuq.com> also provided some other fixes.
this is the rest of the MI portion changes.
this will be KNF'd shortly. :-)
1998-02-05 07:59:28 +00:00
thorpej
df7ad322f2
Nuke spurious semicolon, from Konrad Schroder <perseant@hhhh.org>.
1998-01-13 03:30:39 +00:00
bouyer
459fd0e350
When allocating an inode with dtime set, also bzero e2di_blocks[].
1997-10-27 14:43:41 +00:00
bouyer
89f2b833f4
Uses ext2fs_vinit not ufs_vinit.
...
In ext2fs, an inode is deleted either when mode == 0 or dtime != 0. If
dtime != 0, reset others fields before using the inode, or we could end
up with the wrong v_op in ext2fs_vinit.
While I'm there, kill a unused variable in ext2fs_readwrite
1997-10-23 11:41:16 +00:00
christos
e12c721705
Add missing cast for nlink_t
1997-10-17 02:05:34 +00:00
mjacob
949982f2a4
In calculating the f_bavail field, don't take 32 bit quantities and
...
multiply them by 90 (to be divided by 100) and expect them to be sane
for very large values (I was getting a negative 'avail' count).
1997-10-16 18:29:11 +00:00
enami
499f056402
Backout last change for ufs_readlink. The permission check is now done
...
in vfs layer.
1997-10-11 00:10:57 +00:00
bouyer
f5d86626ec
Update for 64 bits directory cookies.
1997-10-10 10:00:12 +00:00
fvdl
6a0575f33e
Last arg to VOP_READDIR became off_t.
1997-10-10 02:13:42 +00:00
bouyer
6ab3092b11
Add byte-swapping functions (bswap16, bswap32, bswap64) to libkern.
...
Only assembly version for i386 bswap16 and bswap32 for now (bswap64 uses
bswap32). Contribution of assembly versions of these are welcome.
Add byte-swapping of ext2fs metadata for big-endian systems.
Tested on i386 and sparc.
1997-10-09 15:42:19 +00:00
enami
164890a9fc
In the function ufs_readlink(), check read permission before
...
reading link.
1997-10-03 16:45:49 +00:00
lukem
319d918511
prototype lfs_cksum ifndef KERNEL
1997-09-15 06:44:48 +00:00
bouyer
09cf6dacdf
Fix bad cut&paste from ufs code: we can't align uio_resid to a directory
...
block size boundary, because size of the returned dir entry may be bigger than
the one read.
1997-08-04 09:11:00 +00:00
bouyer
3bf1a6ad00
ufs_getlbns needs an array of NIADDR+1 struct indir's, and not NIADDR.
...
This fixes a panic due to stack corruption when reading larges files.
1997-07-24 17:18:03 +00:00
fvdl
e351013e56
Fix messed up RCS Id.
1997-07-22 14:36:31 +00:00
fvdl
f2377e977b
When allocating a new block, store the result obtained through counting
...
indirect blocks in a 64 bit integer, to prevent overflows when computing
NINDIR^3
1997-07-17 23:40:07 +00:00
bouyer
1d5e0e6e91
Add a lock locking around inode hashing.
1997-07-17 16:56:44 +00:00
fvdl
286a3374b9
Give the hash lock a better name, it's not just ffs that uses it.
1997-07-15 19:08:18 +00:00
fvdl
5d96e77ef6
Get locking around inode hashing right.
1997-07-07 23:37:36 +00:00
fvdl
acffafa288
Oops, I messed up the lock. Reverting it until I have time to fix it,
...
to avoid people getting trouble after the supscan hits.
1997-07-07 11:47:06 +00:00
fvdl
b362aa16be
Put lock around inode hashing, because getnewvnode or MALLOC might block,
...
creating race conditions.
1997-07-06 12:43:43 +00:00
drochner
8c0a9bab00
Don't cast 64bit (off_t) file sizes to vm_offset_t (32bit on many
...
architectures), truncate them intelligently instead.
The truncation is done centralized in vnode_pager.c.
This prevents from wrap-over effects when parts of large (>2^32 byte) files
are mmapped.
Don't allow to mmap above the numerical range of vm_offset_t.
This is considered a temporary solution until the vm system handles the
object sizes/offsets more cleanly.
1997-07-04 20:22:09 +00:00
bouyer
77d5755416
Sync with ufs/ufs:
...
Avoid panic triggered by rename("foo/", "bar/..") (From Mycroft, via christos)
1997-07-01 07:34:03 +00:00
fvdl
9b30a6a4e5
Return EPERM for an attempt to remove a directory with VOP_REMOVE, not EISDIR.
1997-06-30 20:16:31 +00:00
fvdl
822371a987
Return EPERM, not EISDIR for an attempt to remove a directory.
1997-06-30 20:13:44 +00:00
christos
b59135a6fb
Avoid panic triggered by rename("foo/", "bar/..") (From Mycroft)
1997-06-26 22:23:17 +00:00
pk
2e8a55e122
TIMESPEC_TO_TIMEVAL => TIMEVAL_TO_TIMESPEC
1997-06-13 08:59:51 +00:00
mrg
295af85e9e
remove swap configuration.
1997-06-12 17:12:17 +00:00
bouyer
76c414a957
Add support for ext2fs, this needed a few modifications to ufs/ufs/inode.h:
...
- added an "union inode_ext" to struct inode, for the per-fs extentions.
For now only ext2fs uses it.
- i_din is now an union:
union {
struct dinode ffs_din; /* 128 bytes of the on-disk dinode. */
struct ext2fs_dinode e2fs_din; /* 128 bytes of the on-disk dinode. */
} i_din
Added a lot of #define i_ffs_* and i_e2fs_* to access the fields.
- Added two macros: FFS_ITIMES and EXT2FS_ITIMES. ITIMES calls the rigth
macro, depending on the time of the inode. ITIMES is used where necessary,
FFS_ITIMES and EXT2FS_ITIMES in other places.
1997-06-11 10:09:37 +00:00
bouyer
9e3c291da4
The ext2fs layer, based on the ffs/ufs one. Uses a few functions from
...
sys/ufs/ufs/
1997-06-11 09:33:37 +00:00
kleink
9c03d5cf55
When doing a CREATE, RENAME or DELETE w/ DOWHITEOUT and ISWHITEOUT lookup on a
...
non-existent file and the end of the pathname is reached, and this `current'
directory resides on a read-only mounted file system, don't update/prepare
its inode for the actual operation but return EROFS.
1997-05-12 19:04:16 +00:00
mycroft
e3f99a9397
Pass the vnode type to vaccess(), and use it when checking VEXEC. Make sure
...
that the mode bits passed to vaccess() and returned by foo_getattr() contain
only permission bits.
1997-05-08 16:19:43 +00:00
mycroft
837a72363d
VEXEC -> VLOOKUP, as appropriate.
1997-05-08 10:57:17 +00:00
mikel
55f53d7fdb
return EPERM from ufs_setattr() if an attempt is made by non-superuser
...
to change superuser-only file flags; fixes PR kern/3491.
1997-04-23 05:47:54 +00:00
kleink
9c16cd8a46
Implement a POSIX compliant genfs VOP_SEEK() and use it in the appropriate
...
places; by Chris G. Demetriou and myself.
1997-04-11 21:52:00 +00:00
kleink
2cfcc6c893
Return immediately upon zero byte reads, as updating st_atime in this case
...
violates POSIX.1 read() semantics.
1997-04-04 14:21:32 +00:00
mikel
b81091e992
POSIX.1 specifies that a failed link() to a directory must return EPERM,
...
and EMLINK was not documented; from Klaus Klein in PR standards/3397.
Also documented EOPNOTSUPP for filesystems that don't support hard links.
1997-03-27 07:30:25 +00:00
mycroft
66c4e32b11
Just increment the generation count. Using the time is bogus and defeats
...
fsirand(8).
1997-03-10 06:18:28 +00:00
fvdl
8b21bbed9b
Implement similar fix as in the NQNFS fix from BSDI, to avoid race conditions
...
when unmounting. It cleans up the loop a bit too.
1997-02-22 03:25:05 +00:00
thorpej
727078d31e
- Add ffs_mountroot to ffs_vfsops.
...
- Only attempt to mount a root FFS on a DV_DISK class device.
1997-01-31 03:05:31 +00:00
tls
d0c43309b5
add support for noatime mount flag
1997-01-30 09:52:26 +00:00
tls
0024ac02cf
Correct old inode flag names in comment, and reformat for 80 character screen
1997-01-27 10:30:14 +00:00
cgd
90688fce27
Change the second and third args to struct vfsops' (*vfs_mount)() to
...
'const char *', and 'void *', respectively. The second arg is taken directly
from user arguments, and is const there, so must be const in the prototypes
and functions. The third arg is also taken directly from user arguments.
It doesn't have to be changed, but since it's cleaner to keep the type
the same as the user arg's type, and I'm already making the 'const char *'
change...
1996-12-22 10:10:12 +00:00
is
ebe1c82eda
Make the struct lfs 512 bytes long on 32bit machines whose compiler doesn't
...
align 32bit integers. Use explicit sized typing at some other places.
XXX This still won't fix lfs for 64bit machines, as we have some
assumptions about sizeof(pointer)=sizeof(u_int32_t) in here, and (if I
looked right) a misaligned u_int64_t. The right fix (to cite cgd) will
be to seperate on-disk-representation from in-core, but I don't have
the time (at the moment) to do this.
1996-12-05 19:01:46 +00:00
cgd
f6e4567c57
cast int64_t-sized types to "long long" before printing them with %qd.
...
gcc thinks that the 'q' modifier describes a "long long", and so -Wformat
whines when printing with 'q' on the alpha, since int64_t-sized types are
done with variations on "long" rather than "long long".
1996-11-15 23:11:56 +00:00
thorpej
34e2fb3bb6
Performance enhancement from Kirk McKusick <mckusick@McKusick.COM>:
...
When freeing an indirect block, there is no need to write it (synchronously,
no less!) before tossing it.
1996-11-06 03:02:59 +00:00
christos
90c7de0919
revert previous kprintf changes
1996-10-12 21:58:44 +00:00
christos
de1b2b437e
printf -> kprintf, sprintf -> ksprintf
1996-10-10 17:16:17 +00:00
christos
2dff852a85
Add prototype for quotactl.
1996-09-28 19:07:06 +00:00
christos
9cdf304505
Make this compile cleanly from userland (fsck_ffs).
1996-09-20 22:14:59 +00:00
mycroft
2bc736661a
Implement poll(2).
1996-09-07 12:40:22 +00:00
mycroft
c52352c819
Add a set of generic file system operations that most file systems use.
...
Also, fix some time stamp bogosities.
1996-09-01 23:47:48 +00:00
mycroft
261382c331
Change VOP_UPDATE() semantics:
...
* Make 2nd and 3rd args timespecs, not timevals.
* Consistently pass a Boolean as the 4th arg (except in LFS).
Also, fix ffs_update() and lfs_update() to actually change the nsec fields.
1996-05-11 18:26:27 +00:00
pk
44af669e3d
Appease gcc: unused variables if !QUOTA
1996-03-25 12:53:35 +00:00
christos
48fda0b4ca
Fix printf format strings
1996-03-17 02:16:18 +00:00
scottr
c9f7e94a5c
Remove hack to work around <sys/dirent.h> DIRSIZ conflict
1996-03-09 19:42:41 +00:00
gwr
331e377b30
Need to #undef DIRSIZ from <sys/dirent.h> before we redefine it.
1996-02-29 20:09:56 +00:00
cgd
9c95634273
in mfs_print: mfs_baseoff is a pointer, should be printed as %p, and
...
should NOT be cast to unsigned int.
1996-02-21 00:06:45 +00:00
christos
7e24291099
Protect include in lfs_cksum.c so that it can be used by userland programs.
1996-02-16 02:22:05 +00:00
christos
e2c2c98181
di_size is a quad and needs %qu not %lu
1996-02-12 22:08:47 +00:00
christos
11e9f2ce94
Add fwd declaration for struct ucred
1996-02-12 15:20:12 +00:00
christos
fb9b45b582
put back traditional symlink change that somehow got lost.
1996-02-11 02:06:13 +00:00
christos
9fe380e1ab
cross that t and dot that i. Typo in last commit.
1996-02-09 23:30:19 +00:00
christos
273fa18bff
ufs prototype changes
1996-02-09 22:36:00 +00:00
christos
573481f5fc
mfs prototypes
1996-02-09 22:31:27 +00:00
christos
7bd9e243f3
lfs prototypes
1996-02-09 22:28:45 +00:00
christos
ec3d880232
ffs prototypes
1996-02-09 22:22:18 +00:00
mycroft
53fccab940
Fix vop_link, vop_symlink, and vop_remove semantics in several ways:
...
* Change the argument names to vop_link so they actually make sense.
* Implement vop_link and vop_symlink for all file systems, so they do proper
cleanup.
* Require the file system to decide whether or not linking and unlinking of
directories is allowed, and disable it for all current file systems.
1996-02-09 14:45:36 +00:00
jtc
b73662fea2
Revert to sane symlink semantics. This is something we should have done
...
long ago. Fixes many PRs.
1996-02-07 17:01:25 +00:00
jtc
dd05bd5124
Rename struct timespec fields to conform to POSIX.1b
1996-02-01 00:04:52 +00:00
cgd
b567511c78
Fix from Lite-2: when reloading the file system, save fs_maxcluster and
...
the old summary structure pointers, and recalculate cluster per cyl. grp.
information.
1995-12-19 23:27:53 +00:00
mycroft
7edc899fdd
ffs -> ufs
1995-11-11 22:00:15 +00:00
mycroft
1dde00e8a4
Correct a comment regarding cookies, from Greg Hudson.
1995-10-09 11:19:32 +00:00
thorpej
1955514b6c
Make system calls conform to a standard prototype and bring those
...
prototypes into scope.
1995-09-21 23:39:20 +00:00
mycroft
b2f17c7648
Do any pending I/O before trying to unmount, per John Kohl.
1995-09-01 19:39:18 +00:00
cgd
e9d17d38b5
avoid unnecessary aging of buffers. This used to make sense, when buffer
...
caches were much smaller, but makes little sense now, and will become more
useless as RAM (and buffer cache) sizes grow. Suggested by Bob Baron.
1995-07-24 21:19:27 +00:00
cgd
60db543a18
don't just throw away updates to the cylinder group bitmaps, actually
...
write them to disk! From Keith Smith at Harvard, via Kirk McKusick.
fixes the occasional `blkfree: freeing free block' that has been seen
when cluster reallocation code is enabled.
1995-07-19 15:47:36 +00:00
cgd
8f62c773e8
don't assume the f_fsnamelen is nul-truncated or longer than MFSNAMELEN
1995-06-18 14:45:14 +00:00
cgd
94b7cf1b85
compensate for timeval/timespec/stat structure changes.
1995-06-15 23:22:41 +00:00
mycroft
ae9e49ed0d
Fix thinko in previous commit. Do this as suggested by John Kohl.
1995-05-30 11:41:38 +00:00
mycroft
60c966ee4e
When replacing a whiteout, set i_endoff to 0, so the directory cannot be
...
shrunk.
1995-05-30 10:44:49 +00:00
cgd
64d4944e2f
from Mike Karels:
...
allow Q_SYNC regardless of "target" uid, we allow it with -1;
fix bug that caused all ops to refer to user quotas, not group.
[finally had a chance to check this!]
1995-05-10 18:00:45 +00:00
mycroft
fc46bf42f7
Make use of the `fs_clean' field. If it was set when the file system was
...
mounted or upgraded to r-w, then clear it and set it again later when the
file system is unmounted or downgraded.
1995-04-12 21:21:00 +00:00
jtc
db0046c14d
KERNEL -> _KERNEL
1995-03-28 19:59:56 +00:00
jtc
f76f1f89ad
KERNEL -> _KERNEL
1995-03-26 20:35:13 +00:00
cgd
dd6089fc52
explicitly cast &time to (struct timeval *) when passing it to VOP_UPDATE.
...
new prototypes and picky compilers make a volatile mess.
1995-03-24 15:33:23 +00:00
mycroft
f75ba16b09
Update to use timer{add,sub}().
1995-03-21 13:33:34 +00:00
mycroft
2f805fa51b
copy*str() should use size_t.
1995-03-09 12:05:21 +00:00
cgd
ad86c7f247
size for copyinstr should be u_long
1995-03-08 01:51:49 +00:00
cgd
32ec40eee8
cast pointer to long, not int
1995-03-08 01:51:38 +00:00
mycroft
4c34be6b52
Clean up deleted files.
1995-03-01 00:00:00 +00:00
mycroft
41f181e0d8
Clean up the code to frob mnt_stat a bit.
1995-01-18 09:44:34 +00:00
mycroft
9843f45605
Turn mountlist into a CIRCLEQ, and handle setting and checking of MNT_ROOTFS
...
differently.
1995-01-18 06:19:49 +00:00
cgd
80c18810b0
fix pr 568
1995-01-03 01:23:50 +00:00
mycroft
f969fcc548
Don't look at d_type for old format file systems.
1994-12-30 22:45:55 +00:00
mycroft
e242058ed6
Clear IN_RENAME on failed rename of directory.
1994-12-27 19:55:24 +00:00
ws
2f0fb8ee09
Implement and use a common access checking routine
1994-12-24 16:44:12 +00:00
mycroft
40d02e621d
#include sys/queue.h, but also hide kernel structures in #ifdef KERNEL.
1994-12-21 20:07:26 +00:00
mycroft
1b682c968a
Add RCS ids where missing.
1994-12-21 20:00:18 +00:00
mycroft
6a5daf3070
Ignore rotational optimization if nrpos == 1, as suggested by Stefan Esser.
1994-12-16 05:55:15 +00:00
mycroft
b4aa6d3a28
Call foo_statfs() from a common place when mounting.
1994-12-15 19:46:08 +00:00
mycroft
080e194e58
Remove extra arg to vn_open().
1994-12-14 19:03:13 +00:00
mycroft
a63cb01c7d
Sync with CSRG.
1994-12-14 13:03:35 +00:00
mycroft
4b18546438
Sync with CSRG.
1994-12-13 21:14:43 +00:00
mycroft
c5b0ae2805
Not ready for part of the previous change yet...
1994-12-13 20:51:56 +00:00
mycroft
527b796ff5
Turn lease_check() into a vnode op, per CSRG.
1994-12-13 20:14:30 +00:00
mycroft
5857125e47
Sync with CSRG.
1994-12-13 19:10:43 +00:00
mycroft
2981ef6595
Sync with CSRG.
1994-12-13 09:58:11 +00:00
mycroft
b619d35b99
Use __timeradd(), not timevaladd().
1994-12-11 17:57:15 +00:00
mycroft
a4aea8ad25
Round struct lfs to 512 bytes.
1994-11-17 16:58:41 +00:00
christos
1b76292bf9
added extra argument to vn_open
1994-11-14 06:02:03 +00:00
cgd
6ac2bbfc35
be more careful with types, also pull in headers where necessary.
1994-10-30 21:43:03 +00:00
mycroft
4c7eedf0b8
This is not my day.
1994-10-28 20:20:18 +00:00
mycroft
c0fd0f67f1
Fix typo.
1994-10-28 20:16:10 +00:00
mycroft
0badb64371
For now, limit the maxfilesize to 2^31*bsize-1 in core. This is temporary.
1994-10-28 20:15:09 +00:00