ad
d991fcb3b6
More changes to improve kern_descrip.c.
...
- Avoid atomics in more places.
- Remove the per-descriptor mutex, and just use filedesc_t::fd_lock.
It was only being used to synchronize close, and in any case we needed
to take fd_lock to free the descriptor slot.
- Optimize certain paths for the <NDFDFILE case.
- Sprinkle more comments and assertions.
- Cache more stuff in filedesc_t.
- Fix numerous minor bugs spotted along the way.
- Restructure how the open files array is maintained, for clarity and so
that we can eliminate the membar_consumer() call in fd_getfile(). This is
mostly syntactic sugar; the main functional change is that fd_nfiles now
lives alongside the open file array.
Some measurements with libmicro:
- simple file syscalls are like close() are between 1 to 10% faster.
- some nice improvements, e.g. poll(1000) which is ~50% faster.
2009-05-24 21:41:25 +00:00
lukem
dadffc77c0
Fix sign-compare issues.
2009-04-12 06:36:12 +00:00
christos
4fe86cf5b0
64 bit dev_t
2008-12-29 00:59:08 +00:00
gmcgarry
0e0358051d
Cast f_type to signed integer before comparison with negative values.
2008-09-09 00:56:23 +00:00
lukem
93505eb7ec
Add back rev 1.83. (hi christos!)
2008-07-23 00:57:53 +00:00
christos
380fafb740
a better attempt on printing dtype_misc
2008-07-22 22:58:04 +00:00
lukem
98e5374ccb
Remove the \n and tabs from the __COPYRIGHT() strings.
...
Tweak to use a consistent format.
2008-07-21 14:19:20 +00:00
christos
eaa1a34779
handle NULL better.
2008-04-04 21:15:30 +00:00
christos
03829a56bb
elementary handling for different types of DTYPE_FOO.
...
XXX: DTYPE_CRYPTO is unused.
XXX: should we change fd_clone() to pass a DTYPE_FOO?
2008-04-04 21:14:08 +00:00
christos
6238528d0f
catch up with struct filedesc changes.
2008-04-04 18:27:00 +00:00
he
7fa93d44f6
Please repeat after me: I shall not define _KERNEL before including
...
<sys/types.h> in user-land programs. Doing so causes build problems
for lots of our ports due to differences in how <sys/bswap.h> ends up
defining the swap functions/macros.
2008-03-23 23:01:21 +00:00
ad
5456139476
Catch up with recent file descriptor changes.
2008-03-22 02:39:06 +00:00
perry
8b0f9554ff
convert __attribute__s to applicable cdefs.h macros
2007-12-15 19:44:37 +00:00
dyoung
ca1b22492a
Bug fix: filed.fd_ofiles is always a pointer to the open files
...
table, so always read the table from kernel virtual memory at that
address. Do not ever try to read the table from filed0.fd_dfiles,
because it just isn't necessary, and sometimes we read a stale
table from there.
2007-09-09 01:26:55 +00:00
yamt
2416177358
tweak for user.h cleanup.
...
while i'm here, remove unnecessary #include.
2006-05-11 11:56:38 +00:00
mrg
9ce2c843f8
maxfiles -> fstat_maxfiles. (this _KERNEL definition code needs to not
...
clash with kernel headers....)
2006-05-11 01:21:23 +00:00
christos
62bee0ffa5
PR/32788: KAMADA Ken'ichi: add support for tmpfs
2006-02-10 16:01:45 +00:00
christos
553881914b
WARNS=3, knf, ansi prototypes
2005-07-17 07:36:26 +00:00
atatat
a92869d7ef
Cast fst.fileid to unsigned long and print it as such. Inode numbers
...
are never negative.
2004-12-14 03:09:24 +00:00
christos
09c258b188
Add ptyfs.
2004-12-12 22:41:03 +00:00
itojun
b95181fc9b
NI_WITHSCOPEID was not picked up by IETF standardization process.
2004-11-16 05:59:32 +00:00
dsl
e833833eb1
Add (unsigned char) cast to ctype functions
2004-10-30 17:29:47 +00:00
christos
6bd1d6d4db
Replace the statfs() family of system calls with statvfs().
...
Retain binary compatibility.
2004-04-21 01:05:31 +00:00
aymeric
5f3a5a8279
fix the way the ext2fs-specific size and mode variables are fetched:
...
they are indirectly gotten from kernel memory and as such should be read
with KVM_READ.
This fixes fstat core dumps when some process holds a reference in a Linux
ext2fs filesystem.
Thanks to Aleksy Schubert (alx.at.mimuw.dot.edu.dot.pl) for debugging this
with me.
2004-04-02 14:22:05 +00:00
fvdl
49ec36daa1
Don't compare integers and NULL.
2003-10-21 02:16:59 +00:00
agc
89aaa1bb64
Move UCB-licensed code from 4-clause to 3-clause licence.
...
Patches provided by Joel Baker in PR 22365, verified by myself.
2003-08-07 11:13:06 +00:00
itojun
3c95d355e5
use bounded string op
2003-07-15 05:56:55 +00:00
fvdl
42614ed3f3
Add support for UFS2. UFS2 is an enhanced FFS, adding support for
...
64 bit block pointers, extended attribute storage, and a few
other things.
This commit does not yet include the code to manipulate the extended
storage (for e.g. ACLs), this will be done later.
Originally written by Kirk McKusick and Network Associates Laboratories for
FreeBSD.
2003-04-02 10:39:19 +00:00
christos
0fcef5865c
undo mallocvar.h changes!
2003-02-02 02:35:58 +00:00
tron
3f39a3d045
Include "sys/mallocvar.h" with "_KERNEL" defined in time to avoid
...
build failure because MALLOC_DECLARE() is not defined.
2003-02-01 18:31:09 +00:00
martin
8010344d66
Make it compile again on LP64 archs.
...
XXX - we *realy* need some format string macros for size_t/off_t!
2003-01-20 06:20:37 +00:00
dsl
7e2ddd8ef0
Use kvm_getprocs2 so independant of kernel version
...
(change aggreed by christos)
2003-01-19 18:14:06 +00:00
yamt
ebc708387a
add VT_LFS case.
2002-10-26 06:03:50 +00:00
jdolecek
879d35cda1
merge rev. 1.50.2.1 (made by lukem):
...
rudimentary support for for displaying DTYPE_KQUEUE fds
2002-10-23 22:37:11 +00:00
simonb
ba31699a83
Add an extra column for inode numbers, and pull back the mode field to
...
just 5 columns if in "numeric" mode. Other fields should dynamically
resize, but not today...
2002-02-12 03:28:20 +00:00
jdolecek
305085a35d
for (new)pipes, print 'n' if it's in nonblocking mode, and 'a' if it's
...
set to async
2001-11-25 18:49:02 +00:00
lukem
99147a7648
remove #include <ufs/ufs/quota.h> where it was just to appease
...
<ufs/ufs/inode.h>, since the latter now includes the former. leave the former
in source that obviously uses specific bits of it (for completeness.)
2001-10-26 05:56:06 +00:00
jdolecek
ac2147b9f2
remove accidentaly left debug printf
...
change the pipe descriptor output to include 'r' or 'w' to explicitly
indicate it's open for reading or writing, similarily to "regular" descriptors
2001-09-28 20:29:04 +00:00
jdolecek
92f9fd86ff
the descriptor flags may also contain other stuff besides FWRITE|FREAD,
...
so do '& FWRITE' instead of '== FWRITE' in the check in pipe-related code
2001-09-28 20:16:43 +00:00
jdolecek
298d03ceba
fix comment
2001-07-08 20:24:05 +00:00
wiz
f3f6c5b675
`accessible' only has one `a'.
2001-06-19 12:52:20 +00:00
lukem
a4224d7f92
convert if ... else if ... tree to a switch
2001-06-17 08:27:57 +00:00
jdolecek
28dbb7357f
Add support for DTYPE_PIPE pipes (a.k.a NEW_PIPE)
2001-06-16 12:08:05 +00:00
mrg
7276c20511
don't #define _LKM to work around header lossage; it is no longer necessary.
2001-06-05 09:20:12 +00:00
lukem
c2b84904ae
use %ll_ instead of the less standard %q_
2001-01-04 23:05:54 +00:00
enami
a5989caf7a
Redo previous a bit different way so that mount point of top layer is shown
...
instead of lowest one and ``fstat file-on-upperlayer'' works.
2000-08-14 09:17:11 +00:00
enami
1dccbbfbd2
Print lower vnode if vnode is on a layered filesystem.
2000-08-14 06:03:21 +00:00
sommerfeld
080fdae8fc
Bring into line with recent ktrace changes
2000-05-27 15:02:04 +00:00
jdolecek
1371d1b72d
add support for msdosfs
2000-02-04 11:02:00 +00:00
jdolecek
9200b8eabf
move the mapping of vnode type to file type to separate function getftype()
...
and use it where appropriate
2000-02-04 10:35:46 +00:00