Commit Graph

159797 Commits

Author SHA1 Message Date
christos
5f1a365390 add parens. 2007-06-24 23:25:13 +00:00
christos
a45a783fdb - use fwrite instead of printf.
- pass lint
- check for 0 len.
2007-06-24 23:23:10 +00:00
uwe
4ac53c4aaf options<SPACE><TAB> police
While here, add COMPAT_40.
2007-06-24 23:04:24 +00:00
pooka
c3942902c4 Since we locate in-memory nodes based on the inode number, stat a
file always after creation to cache the inode number given by the
backend file system.  Otherwise we would not find a newly created
node from incore and create another one.  In practise this was
pretty well hidden by the kernel name cache.
2007-06-24 23:02:55 +00:00
christos
751a3d3a74 handle UVM_UNKNOWN_OFFSET. 2007-06-24 22:56:58 +00:00
rumble
436b31f333 Add va_birthtime. 2007-06-24 22:49:44 +00:00
pooka
8bfc66776f document KFLAG_NOCACHE{_PAGE,_NAME,} 2007-06-24 22:32:00 +00:00
pooka
53a4105885 Actually, keep PUFFS_KFLAG_NOCACHE and -o cache around as shorthand
to neither page- nor namecache.
2007-06-24 22:25:49 +00:00
pooka
5662e7f720 PUFFS_KFLAG_NOCACHE became two, so introduce the command line options
-o nonamecache and -o nopagecache and adapt file systems where necessary.
2007-06-24 22:18:38 +00:00
mlelstv
f9a2fc4868 Avoid use of cached pointers that might be stale due to mbuf operations. 2007-06-24 22:16:35 +00:00
pooka
df01a64b7a Split the NOCACHE option in twain: NOCACHE_NAME & NOCACHE_PAGE. 2007-06-24 22:16:03 +00:00
christos
daebf0edfe don't leak a vnode in the wedge case. 2007-06-24 21:38:21 +00:00
christos
a65158cbe3 Add options FILEASSOC; needed for veriexec. 2007-06-24 21:17:31 +00:00
christos
2ffe4b875f Use an elf note to handle pax arguments. This is a temporary solution to
avoid wasting OS flag bits. In the future we'll probably use fileassoc to
achieve this (once there is a way to make fileassoc persistent) or in the
shorter term libelf, so that we can add and remove the note on demand instead
of burning bits on each binary. Of course since this is a tool, this means
that we'll need to think about how to handle libelf...
2007-06-24 20:35:36 +00:00
christos
e0e4b56127 autoconfigure dump partition for wedges. 2007-06-24 20:12:34 +00:00
christos
36619a204c Fix white space compression from Jukka Salmi 2007-06-24 19:51:43 +00:00
kardel
db56afd343 compile fix for amd64 2007-06-24 19:39:06 +00:00
rumble
b9ff3c810f TRUE -> true, FALSE -> false. 2007-06-24 19:26:58 +00:00
pooka
91629617de Call puffs_pn_remove() just in case the file server happens to be
quick with recycling qids.
2007-06-24 19:13:39 +00:00
christos
5568917ed8 PR/36538: Greg A. Woods: fix printfs to match driver name. 2007-06-24 19:07:00 +00:00
pooka
3aa77bc919 Just to demonstrate namemod a bit further, make this flip the case
of filenames / contents instead of rot13 if -f is given.
2007-06-24 18:59:27 +00:00
pooka
39542808a8 cast tolower() arg to unsigned char 2007-06-24 18:57:26 +00:00
christos
3c769789fa PR/36534: Greg A. Woods: test(1) doesn't do -r and -w quite right
Use stat(2) instead of access(2) per POSIX.
2007-06-24 18:54:58 +00:00
pooka
0d05db1c32 use puffs_null_setops() 2007-06-24 18:43:30 +00:00
pooka
159e84cbd3 Introduce puffs_null_setops(), which initializes the ops vector with
puffs nullfs ops.
2007-06-24 18:42:25 +00:00
pooka
a2b6c72725 fix this also, had a similar rototill-typo as rot13fs 2007-06-24 18:37:40 +00:00
christos
2554aff24b PR/36531: Greg A. Woods: another very helpful DEBUG TRACE() call for execve()
failures in /bin/sh
2007-06-24 18:36:23 +00:00
pooka
eb83bd6c94 I wasn't going to add any more silly examples, but I'll bite for
this one, since it's a good exercise ..

Add icfs, which does the same thing as the refuse-based icfs agc
added earlier this week, i.e. null-mounts & converts the entire
namespace to lowercase.  However, it's a fun comparison, since this
is implemented in a completely different fashion from the refuse
version.
2007-06-24 18:32:00 +00:00
pooka
b1da438567 * document puffs_pn_remove
* all-around improve the manual page
2007-06-24 18:16:36 +00:00
dsl
a9e905f23c Refactor this to use the new do_sys_xxx() functions from uipc_syscalls.c
so that it isn't necessary to copy data to/from the stackgap.
Given the nature of the code in this file, it is now probably slightly
  more broken than previously. but nothing serious should be worse!
2007-06-24 18:09:52 +00:00
dsl
a150e6e4f5 Use do_sys_recvmsg(), so_sys_accept(), do_sys_getsockname() and do_sys_senmsg()
in order to avoid the stackgap (etc).
Note that since changing the darwin socket address is simply a matter of
  translating the address family and adding sa_len, it can easily be done
  on the mbuf resident address before/after copying to/from userspace.
Simplify the convertion of AF_LOCAL addresses by usingthe user-supplied
  buffer length instead of dowing an unbounded strlen().
Untested - did this work before?
2007-06-24 18:07:34 +00:00
christos
205a4b0786 PR/36536: Greg A. Woods: stty(1) should mention tty(4) 2007-06-24 18:03:00 +00:00
dsl
0bb6928543 Update to call do_sys_recv() instead of recvit(). 2007-06-24 18:01:48 +00:00
christos
57bbaf572b PR/36546: Aleksey Cheusov: problems with 8-bit input in /bin/ksh, needs to
call setlocale()
2007-06-24 18:00:49 +00:00
dsl
51c050638d Split sys_getpeername() and sys_getsockname() so they can be called when the
'name' is wanted in kernel code.
Similarly split sys_accept() and change the split in recvmsg() so that it
  is useful to the compat functions, recvit() is removed and replaced by
  do_sys_recvmsg().
Factor out the code that writes socked names to userspace (from mbuf) to
  avoid replicated code.
Extract the code that writes socket 'control' (CMSG) data out to userspace,
  being more careful about the 'fd' that may exist inside SCM_RIGHTS msgs.
  (they still get lost if some of the latter copyout calls fail).
Since these are new functions, and old LKMs will fail to load.
2007-06-24 18:00:15 +00:00
christos
c1686632e0 PR/36535: Greg A. Woods: rm(1) should present user:group the same way as
chown(8) et al
2007-06-24 17:59:31 +00:00
christos
546dff6580 PR/36533: Greg A. Woods: minor doc fixes for sh(1) 2007-06-24 17:57:56 +00:00
pooka
564336f084 Introduce puffs_pn_remove() to signal that a node has been deleted
and destroyed, but not yet reclaimed.  This prevents puffs_pn_nodewalk()
from returning stale entries.  Make nullfs use this (some file
systems are a bit too happy with recycling inode numbers).
2007-06-24 17:55:07 +00:00
pooka
86e63e7e27 don't return errno from a function which returns an fd - there's
a "little" room for confusion.  instead, return -1 and let the
caller grab errno.
2007-06-24 17:41:09 +00:00
kardel
cf3eceb66e track 4.2.4p2 import 2007-06-24 16:56:48 +00:00
kardel
9238104d09 resolve merge conflicts of 4.2.4p2 import 2007-06-24 16:55:11 +00:00
kardel
d3063e9f3c Import ntp 4.2.4p2 2007-06-24 15:47:02 +00:00
itohy
aa6964a386 Regen from usbdevs rev 1.476. 2007-06-24 10:56:32 +00:00
itohy
ff96cdce81 Sort vendors and products by number.
Remove duplicates.
2007-06-24 10:43:23 +00:00
veego
4d897a6e25 Regen after the usbdevs updates in rev 1.474 and 1.475 2007-06-24 10:07:05 +00:00
veego
1419b5b5c5 - Add the MGE vendor and two entries.
- Change the APC entry, because it is not Back-UPS Pro 500 specific, it
  is used for more UPS's
Based on a patch from PR kern/31884
2007-06-24 10:02:45 +00:00
itohy
a58d97bba2 usbdevs:
Add vendors and products from FreeBSD/OpenBSD.
 - for aue(4):
	ADMtek AN986A Ethernet
	Add vendor ELCON Systemtechnik and its product Goldpfeil P-LAN
	ELECOM LD-USB20
	Mobility EasiDock Ethernet
	SIIG2 USB TO Ethernet

 - for axe(4):
	Acer Communications & Multimedia EP-1427X-2 Ethernet
	ASIX AX88178 USB 2.0 10/100 Ethernet adapter
	ATen UC210T Ethernet
	Belkin F5D5055 Ethernet adapter
	Billionton USB2AR Ethernet
	D-Link DUB-E100 rev B1
	Good Way Technology GWUSB2E
	I-O DATA ETG-US2
	Ethernet port in the JVC MP-PRX1 port replicator.
	Add new vender ID for Linksys (LINKSYS4) and its product USB1000
	OQO model 01+ Ethernet

 - for cdce(4):
	Acer Labs M5632 USB 2.0 Data Link
	Add vendor Ambit Microsystems and its product NTL 250 cable modem
	COMPAQ iPAQ Linux
	Add vendor G.Mate Inc. and its product YP3X00 PDA
	Two Motorola devices (FreeBSD/OpenBSD don't have the details)
	NetChip Linux Ethernet/RNDIS gadgets

 - for kue(4):
	Silicom Psion Gold Port Ethernet

 - for ural(4):
	Belkin F5D7051 54g USB Network Adapter
	GIGABYTE GN-54G
	Siemens Info 54g USB Network Adapter

 - for url(4):
	AboCom RTL8151
	RealTek RTL8151 PNA
	ZyXEL Prestige

Remove duplicates.
Whitespace police.
2007-06-24 09:46:29 +00:00
isaki
eecbbb187f Remove a duplicated option in MAKEFS_FLAGS.
"minfree=0,optimization=space" is defined at
../../common/Makefile.image.
2007-06-24 05:41:52 +00:00
christos
98d594125d PR/36541: Greg A. Woods: fix -P option, and add solaris -g option. 2007-06-24 01:52:46 +00:00
dyoung
1ee8f4a418 Extract common code from i386, xen, and sparc64, creating
config_handle_wedges() and read_disk_sectors().  On x86, handle_wedges()
is a thin wrapper for config_handle_wedges().  Share opendisk()
across architectures.

Add kernel code in support of specifying a root partition by wedge
name.  E.g., root specifications "wedge:wd0a", "wedge:David's Root
Volume" are possible.  (Patches for config(1) coming soon.)

In support of moving disks between architectures (esp. i386 <->
evbmips), I've written a routine convertdisklabel() that ensures
that the raw partition is at RAW_DISK by following these steps:

        0 If we have read a disklabel that has a RAW_PART with
          p_offset == 0 and p_size != 0, then use that raw partition.

        1 If we have read a disklabel that has both partitions 'c'
          and 'd', and RAW_PART has p_offset != 0 or p_size == 0,
          but the other partition is suitable for a raw partition
          (p_offset == 0, p_size != 0), then swap the two partitions
          and use the new raw partition.

        2 If the architecture's raw partition is 'd', and if there
          is no partition 'd', but there is a partition 'c' that
          is suitable for a raw partition, then copy partition 'c'
          to partition 'd'.

        3 Determine the drive's last sector, using either the
          d_secperunit the drive reported, or by guessing (0x1fffffff).
          If we cannot read the drive's last sector, then fail.

        4 If we have read a disklabel that has no partition slot
          RAW_PART, then create a partition RAW_PART.  Make it span
          the whole drive.

        5 If there are fewer than MAXPARTITIONS partitions,
          then "slide" the unsuitable raw partition RAW_PART, and
          subsequent partitions, into partition slots RAW_PART+1
          and subsequent slots.  Create a raw partition at RAW_PART.
          Make it span the whole drive.

The convertdisklabel() procedure can probably stand to be simplified,
but it ought to deal with all but an extraordinarily broken disklabel,
now.

i386: compiled and tested, sparc64: compiled, evbmips: compiled.
2007-06-24 01:43:34 +00:00