Re: Need some advice regarding portable user IDs
On Tue, 17 Aug 1999, Wilfredo Sanchez wrote: A group of us at Apple are trying to figure out how to handle situations where a filesystem with "foreign" user ID's are present. The basic problem is that the user experience using Unix semantics are not really pleasant. I think some examples would help: I was thinking about this the other day, while mousting a series of floppy disks, and it seems to me that what you're looking for, at least for removable media, is a sort of single-user UFS that says "Joe Schmoe owns this file system." Assuming that neither you nor Joe have accounts on each other's machines: 0) Non-root users should be able to mount disks. This really goes without saying for desktop systems. 1) You mount_suufs his disk with some sort of "foreign-user" option, and the system chooses an unused, per device UID and GID, and all the directories are mapped to that ownership. 2) You copy the files to a world wrx directory, and they all automagically become foreign ownership. 3) Joe goes to his computer and mounts his disk, and voila, he owns everything (it's his filesystem after all). This handles the simple case of just shuffling files around. If you wanted more elaborate collaborations, you'd really have to give each other accounts. You could monkey around with keeping passwd files and such on the medium and umapping, but you couldn't copy files from the Zip to the local FS without future-user-clash. This also affords Joe more than your normal level of security, assuming he trusts root on all the systems involved. Marc. -- Marc Ramirez - OwnerGreat Big Throbbing Brains [EMAIL PROTECTED] http://www.gbtb.com Our brains throb, so yours won't have to! To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: cvs commit: src/bin/test test.c
[Hi-jacked out of cvs-committers cvs-all] On Tue, 17 Aug 1999 17:18:53 MST, Brian Feldman wrote: green 1999/08/17 17:18:53 PDT Modified files: bin/test test.c Log: The new test(1) did not use access() correctly. I don't know why, since supposedly it's ksh-derived, and it's not broken in pdksh. I've added a test for test running as root: if testing for -x, the file must be mode 0111 to get "success", rather than just existant. Reviewed by:chris What were you actually trying to fix, here? I didn't see any discussion of this on hackers, current or bugs, nor in response to my initial commit message. Ciao, Sheldon. To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: Need some advice regarding portable user IDs
On Wed, Aug 18, 1999 at 05:00:48AM -0400, Marc Ramirez wrote: I was thinking about this the other day, while mousting a series of floppy disks, and it seems to me that what you're looking for, at least for removable media, is a sort of single-user UFS that says "Joe Schmoe owns this file system." our(*) msdos and ados filesystems (at least) do (sort of) this. Regards, -is *) where we = NetBSD To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: Need some advice regarding portable user IDs
On 18 Aug, Marc Ramirez wrote: Oh! I was under the impression that it just didn't work, even with correct perms, but I use FreeBSD. Lemme try it... Can't mount, even with 0666 on /dev/fd0. Maybe I'm being stupid. Wouldn't be the first time! Marc. No miracle, the mount command has uid 0 hardcoded in the source where you are checked if you are allowed to use the mount command. I've been thinking of a neat way to re-organize that code myself for some time now, and thought I had come up with a solution (It's the reason I subscribed to this list in the first place). With the current discussion, I figure it has some major shortcomings. It adds some things too, though, like the permissions to audio devices, etc. Anyway, I wrote a "paper" about it that I can post here if anybody is interested. In that case, which format s liked best: plain text, TeX or postscript? I assume the first. -- Alban Hertroys. http://wit401310.student.utwente.nl == If there is a here-after, then there are much more people dead than alive. Even that much more that the number of living people is insignificant in comparison to the dead ones. Thus it is safe to say that we don't exist. To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: lpd security check for changed-file vs NFS
On Tue, 17 Aug 1999, Garance A Drosihn wrote: At 6:37 PM -0700 8/17/99, Matthew Dillon wrote: If you removed the stat test, I would simply get rid of the -s option entirely - require that all files be queued to the print spool. The administration would kill me. I would prefer to avoid that. (note that the check isn't completely removed, it's "only" nullified for NFS-mounted files. We use AFS for most things here, so the vast Couldn't you turn it off only for NFS mounted files? David scheidt Any advice on how to kick AIX so the st_dev+st_ino check will work right is also welcome. It baffles me why AIX does things the way it does. It kinda looks like the values it uses are pointers to some The joke about AIX is that it was created by aliens who were given the UNIX documentation, but no example system. I have seen very little that suggests this to be untrue. To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
[Fwd: First FreeMWare release!]
Hello: I thought that some of you might be interested in this. If this message should not have been posted to this list please let me know. Darren Wiebe [EMAIL PROTECTED] Hey folks, It's been awhile. Sorry, I've been busy working on other fronts, but I did have time to put together a first go at the virtualization framework we need for FreeMWare. ftp://ftp.freemware.org/pub/freemware/fmw-990817b.tar.gz Which if you're having problems, is really just: ftp://bochs.com/pub/freemware/fmw-990817b.tar.gz Attached is the "fmw-990817b.README" that goes along with it. -Kevin This is the beginnings to the virtualization framework that we need for FreeMWare. I have compiled it and run it on: Linux 2.0.36 (came with Red Hat 5.2) Linux 2.2.5-15 (came with Red Hat 6.0) I've made an attempt to keep things modularized in respect to the host OS. Anything OS specific should be put in "kernel/host-xyz.c" or "include/host-xyz.h". This code is extremely experimental, and will likely result in a system crash, and who knows what other ill effects. Don't run it on a system with any important data on it, and make liberal user of the sync command! Expect to have to use the power button. We have to clean up the ioctl interface, using macros instead of passing raw numbers I pulled out of a hat, etc, etc. This was my first Linux kernel driver, so don't assume I did anything correctly. :^) -Kevin Directions for install etc. --- Go into the user directory and type make. user cd user user make Go into the kernel directory and type make. user cd ../kernel user make Make the device node for freemware, as root user: root mknod /dev/freemware0 c 63 0 Fire up the kernel module: root insmod fmw.o As a regular user, fire up the user program: user cd ../kernel user ./user # defaults to 1 iteration -or user ./user 10 # any number of iterations here Whenever you recompile the kernel stuff, or want to get rid of the kernel module, remove the old kernel module first. As root: root rmmod fmw Each time the host switches to the monitor/guest environment and runs that context. Normally, execution will continue in that context until a hardware interrupt occurs or other exception. The monitor interrupt handler switches back to the host context to handle the interrupt. The monitor/guest context will not resume execution until the next ioctl() call from the user program. NOTE: By default, I have a macro called TEST_MODE set to 1, in kernel/monitor.c. In this mode, rather than waiting until an interrupt hits, control will be passed immediately back to the the host. This is to test that the switching back/forth between host/monitor+guest works, without interrupts. I have not yet got interrupts redirection working properly. If you set TEST_MODE to 0 and recompile, an interrupt seems to cause everything to switch back to the host context, but then the system hangs after a short period of time, or causes a kernel oops. I have not tracked this down yet. It does register in /proc/freemware, that a redirection of an IRQ0 occurred. Something is getting screwed up with interrupts in the kernel perhaps, after the software interrupt call to invoke the host kernel interrupt handler for the hardware interrupt we received while in guest context. Any ideas on what the problem is?
Re: Need some advice regarding portable user IDs
"Wilfredo" == Wilfredo Sanchez [EMAIL PROTECTED] writes: Wilfredo I think the desired behaviour would be that since this is Wilfredo effectively now Joe's zip disk, he should be able to do as he Wilfredo pleases. One proposal might be to give the console user the Wilfredo equivalent of root's priveledges on any removeable media he inserts Right now, with MSDOS floppies, with no userids, the user owning the mount point gets his userid applied to the entire disk. This allows me to mount my floppies, etc. on mount points that I own, and I own all the resulting files. I think you want the same thing as an option for UFS mounts. Wilfredo Presumably the console user is the one fiddling with the external Wilfredo media. I don't think this is entirely true, and isn't a useful or enforceable restriction. Wilfredo As another example, a similar situation often comes up on the net Wilfredo with tar files containing UIDs and GIDs other than zero. Only with SYSV chown semantics that allow non-root to make files not owned by them. Wilfredo So perhaps there needs to be a way to mark a drive as local Wilfredo (perhaps with a host ID of some sort?) and noticing when a volume is Wilfredo "foreign" that you need to do something special. Certainly you might Wilfredo want to ignore setuid bits, for starters. This could simply be Wilfredo something like fstab, which lists the local drives, and everything Wilfredo else isn't considered local. This is solved by having the "nouid" or somesuch thing add to /etc/fstab by the admin who knows which ones should be trusted. Linux provides "user" to get the behaviour that we get for free. Wilfredo Has anyone dived into this area already and have some experience Wilfredo with it? It's confusing me pretty good. See what ATT did with RFS. This may be a negative example (i.e. don't do this). :!mcr!:| Cow#1: Are you worried about getting Mad Cow Disease? Michael Richardson | Cow#2: No. I'm a duck. Home: A HREF="http://www.sandelman.ottawa.on.ca/People/Michael_Richardson/Bio.html"[EMAIL PROTECTED]/A. PGP key available. To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
async v. sync v. default mode on ufs
It was pointed out to me by a co-worker that FreeBSD has actually three modes of operation for mounting ufs filesystems. Could someone please explain to me, and him, the differences between the three. Also does anyone knows how these compare to sync and async on Linux? Just a btw, you seem to be able to set sync and async on a filesystem at the same time. What gives? dlane# mount -u -o sync,async,noatime /var dlane-printer# mount /dev/wd0s1a on / (local, noatime, synchronous, writes: sync 405 async 23) /dev/wd0s1e on /usr (local, noatime, synchronous, writes: sync 118365 async 83882) /dev/wd0s1f on /var (asynchronous, local, noatime, synchronous, writes: sync 93 async 216) procfs on /proc (local) dlane# /var looks questionable... I would never try that on purpose, but it just kinda happened, and when I looked at it I though "wow that's broken"! Larry Lile [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: Onstream?
In message [EMAIL PROTECTED] Christopher Masto writes: : Do they still not allow you to release the specs? How is the code : going to become part of FreeBSD if they won't allow its release? I didn't sign an NDA to get my copy of the spec or the hardware... Neither did I. But I was requested by Jim Jonez of Onstream to not release the specs. I also don't have time to devote to the onstream IDE project. I'm looking for someone with the kernel skills and track record to take over for me. I thought Soren was doing it... To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: Need some advice regarding portable user IDs
On Wed, 18 Aug 1999, David Malone wrote: On Wed, Aug 18, 1999 at 07:39:11AM -0400, Marc Ramirez wrote: Oh! I was under the impression that it just didn't work, even with correct perms, but I use FreeBSD. Lemme try it... Can't mount, even with 0666 on /dev/fd0. Maybe I'm being stupid. Wouldn't be the first time! You have to turn it on with a sysctl: "sysctl -w vfs.usermount=1" I think. So it is. Thanks. Marc. -- Marc Ramirez - OwnerGreat Big Throbbing Brains [EMAIL PROTECTED] http://www.gbtb.com Our brains throb, so yours won't have to! To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: VMWare: porting kernel modules to FreeBSD
On Wed, Aug 18, 1999 at 09:16:29AM -0500, Chris Dillon wrote: On Wed, 18 Aug 1999, Mark Huizer wrote: Hi there, I had a look recently at the code for one of the kernel modules that VMWare requires (driver-only.tar), and it looks like something that should be portable to FreeBSD, although there is some messy stuff in it (assembly that seems to be using Linux specific stuff, brrr..) But anyway: it looks feasable. Is anyone already working on this, or are some people interested in helping with this? As far as I can see, the linux emulation is good enough to run the vmware program, "all" you need to do is implement /dev/vmmon and /dev/vmnet, given the fact that the code is written really unportable, so there is some rewriting to be done. Then with the KLD's vmmon,vmnet and linux you should be able to run vmware. WooHoo! Well, I can't celebrate quite yet, but I'll definately be buying a copy of VMWare if anyone gets this to work (WAY above my head, so no help from me, sorry). More than likely, many people other than myself would also buy a copy of VMWare for Linux just to run under FreeBSD, so maybe you can convince VMWare, Inc. to give you or whoever else decides to tackle this some monetary compensation? It would also help to bring us a step closer to a native FreeBSD version of VMWare, since some (most?) of the work would already be done for them (the porting of vmmon and vmnet). We will _definitely_ buy VMWare if we can run it on a FreeBSD host system - I believe that I've told them so in the past. Joe -- Josef KarthauserFreeBSD: How many times have you booted today? Technical Manager Viagra for your server (http://www.uk.freebsd.org) Pavilion Internet plc. [[EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED]] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: RE: Need some advice regarding portable user IDs
| when new media is available and it will try to mount it. The present | behaviour in Mac OS X Server is that everything mounted this way is | trusted, though the Finder should be requesting nosetuid; I should | check that. It's also possible that the kernel will number drives in | a different order (eg. /dev/sd0a this boot might be /dev/sd1a next | boot), particularly if you are shuffling drives around. (Remember | that hot-swap complicates this.) So a string like "/dev/sd0a" in | fstab is fragile, and it works out better if we keep that information | on the mounted media rather than on the root volume. | | What happens with conflicting names? Append "_1", "_2", etc. -Fred -- Wilfredo Sanchez, [EMAIL PROTECTED] Apple Computer, Inc., Core Operating Systems / BSD Technical Lead, Darwin Project 1 Infinite Loop, 302-4K, Cupertino, CA 95014 To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: OpenLDAP tests?
Found it. This let the tests run fine for me. === RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/daemon.c,v retrieving revision 1.14.2.7.2.8 retrieving revision 1.14.2.7.2.9 diff -u -r1.14.2.7.2.8 -r1.14.2.7.2.9 --- servers/slapd/daemon.c 1999/03/02 18:30:05 1.14.2.7.2.8 +++ servers/slapd/daemon.c 1999/07/20 05:10:35 1.14.2.7.2.9 @@ -390,7 +390,6 @@ void slap_set_shutdown( int sig ) { - Debug( LDAP_DEBUG_ANY, "slapd got shutdown signal %d\n", sig, 0, 0 ); slapd_shutdown = 1; ldap_pvt_thread_kill( listener_tid, LDAP_SIGUSR1 ); @@ -401,8 +400,6 @@ void slap_do_nothing( int sig ) { - Debug( LDAP_DEBUG_TRACE, "slapd got do_nothing signal %d\n", sig, 0, 0 ); - /* reinstall self */ (void) SIGNAL( sig, slap_do_nothing ); } On Wed, 18 Aug 1999, Steven Ames wrote: Thanks! I'll check the site (but would appreciate your sending it to me also). -Steve On Tue, 17 Aug 1999, Jaye Mathisen wrote: There is a patch that fixes this, I found it, and submitted a bug report on their web page. I don't have it handy, but if you go to www.openldap.org and to their faq-o-matic, and it should be in there. I'll see if I can find it and send it to you in the mean time. On Tue, 17 Aug 1999, Steven Ames wrote: I've got a project at work where using LDAP would make my life much simpler. So... on my home PC (running FBSD 4.0-CURRENT 8.2.99) I installed openldap from the ports collection (V1.2.3...ports cvsuped about an hour ago from cvsup5.freebsd.org). I cd into the test area /usr/ports/work/ldap/tests and type 'make'. Looking good... until... on test0003-search it stops. It just holds. My CPU is up to 99% and its chewed up 18 minutes of CPU before I hit Ctrl-C and stopped it. I did a 'make clean' moved scripts/test0003-seach to scripts/test0009-search (so it would run last) and tried again. Same results on test0004-modify. *sigh* Do the tests just not run? I didn't dare to just go ahead and use it as I'm not familiar enough with LDAP to judge if a failure is my fault or a system problem. I'd feel a lot safer if the tests all passed so that if anything goes wrong from that point I can call it user error. Anyone? -Steve To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: BSD XFS Port BSD VFS Rewrite
In message [EMAIL PROTECTED], Terry Lambert writes: I'm not familiar with the VFS_default stuff. All the vop_default_desc routines in NetBSD point to error routines. In FreeBSD, they now point to default routines that are *not* error routines. This is the problem. I admit the change was very well intentioned, since it made the code a hell of a lot more readable, but choosing between readable and additional function, I take function over form (I think the way I would have "fixed" the readability is by making the operations that result in the descriptor set for a mounted FS instance be both discrete, and named for their specific function). As I recall most of FBSD's default routines are also error routines, if the exceptions were a problem it would would be trivial to fix. You would have to de-collapse several VOP lists that have been pre-collapsed. You are talking gibberish here. Please show code where this is a problem. -- Poul-Henning Kamp FreeBSD coreteam member [EMAIL PROTECTED] "Real hackers run -current on their laptop." FreeBSD -- It will take a long time before progress goes too far! To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: BSD XFS Port BSD VFS Rewrite
In message [EMAIL PROTECTED], Bill Studenmund writes: Whew! That's reasuring. I agree there are things which need fixing. It'd be nice if both NetBSD and FreeBSD could fix things in the same way. Well, that still remains to be seen... The use of the "vfs_default" to make unimplemented VOP's fall through to code which implements function, while well intentioned, is misguided. I beg to differ. The only difference is that we pass through multiple layers before we hit the bottom of the stack. There is no loss of functionality but significant gain of clarity and modularity. If I understood the issue, it is that the leaf fs's (the bottom ones) would use a default routine for non-error functionality. I think Terry's point (which I agree with) was that a leaf fs's default routine should only return errors. I beg to differ. It is far more likely, in my mind, that you will want to handle a currently existing, unimplemented VOP than add a new one. Using the default for all unimplemented VOPs makes this possible, using the same logic which makes adding a VOP possible. Go back and review the diffs from when I did this, and my other argument why this is a good idea should be obvious. I doubt we need more than 64 bit times. 2^63 seconds works out to 292,279,025,208 years, or 292 (american) billion years. Current theories put the age of the universe at I think 12 to 16 billion years. So 64-bit signed times in seconds will cover from before the big bang to way past any time we'll be caring about. :-) But we cannot do time in seconds resolution, we need to resolve at least the cpu clock frequency, which right now is approaching 1GHz (30bit!) -- Poul-Henning Kamp FreeBSD coreteam member [EMAIL PROTECTED] "Real hackers run -current on their laptop." FreeBSD -- It will take a long time before progress goes too far! To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: BSD XFS Port BSD VFS Rewrite
Both struct timespec and struct timeval are major mistakes, they make arithmetic on timestamps an expensive operation. Timestamps should be stored as integers using an fix-point notations, for instance 64bits with 32bit fractional seconds (the NTP timestamp), or in the future 128/48. ... Extending from 64 to 128bits would be a cheap shift and increased precision and range could go hand in hand. I doubt we need more than 64 bit times. 2^63 seconds works out to 292,279,025,208 years, or 292 (american) billion years. I think Poul's point is that in the future seconds is probably way too coarse grained. Computer's are getting faster all the time, and in the future we may need 64 seconds, plus an additional 64 bits for the fractions of a second, which will be necessary for accurate timekeeping. Nate To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: BSD XFS Port BSD VFS Rewrite
On Wed, 18 Aug 1999, Poul-Henning Kamp wrote: Matt doesn't represent the FreeBSD project, and even if he rewrites the VFS subsystem so he can understand it, his rewrite would face considerable resistance on its way into FreeBSD. I don't think there is reason to rewrite it, but there certainly are areas that need fixing. You are misinformed as far as I know.. From discussions I saw, th main architect of a VFS rewrite would be Kirk, and Matt would be acting as Kirk's right-hand-man. The use of the "vfs_default" to make unimplemented VOP's fall through to code which implements function, while well intentioned, is misguided. I beg to differ. The only difference is that we pass through multiple layers before we hit the bottom of the stack. There is no loss of functionality but significant gain of clarity and modularity. Well I believe that Kirk considers them misguided too, but he stated that he wasn't going to remove them without serious thought about the alternatives. To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: BSD XFS Port BSD VFS Rewrite
2. Advisory locks are hung off private backing objects. I'm not sure. The struct lock * is only used by layered filesystems, so they can keep track both of the underlying vnode lock, and if needed their own vnode lock. For advisory locks, would we want to keep track both of locks on our layer and the layer below? Don't we want either one or the other? i.e. layers bypass to the one below, or deal with it all themselves. I think you want the lock on the intermediate layer: basically, on every vnode that has data associated with it that is unique to a layer. Let's not forget, also, that you can expose a layer into the namespace in one place, and expose it covered under another layer, at another. If you locked down to the backing object, then the only issue you would be left with is one or more intermediate backing objects. Right. That exported struct lock * makes locking down to the lowest-level file easy - you just feed it to the lock manager, and you're locking the same lock the lowest level fs uses. You then lock all vnodes stacked over this one at the same time. Otherwise, you just call VOP_LOCK below and then lock yourself. I think this defeats the purpose of the stacking architecture; I think that if you look at an unadulterated NULLFS, you'll see what I mean. Intermediate FS's should not trap VOP's that are not applicable to them. One of the purposes of doing a VOP_LOCK on intermediate vnodes that aren't backing objects is to deal with the global vnode pool management. I'd really like FS's to own their vnode pools, but even without that, you don't need the locking, since you only need to flush data on vnodes that are backing objects. If we look at a stack of FS's with intermediate exposure into the namespace, then it's clear that the issue is really only applicable to objects that act as a backing store: -- -- FS Exposed in hierarchyBacking object -- -- top yes no intermediate_1 no no intermediate_2 no yes intermediate_3 yes no bottom no yes -- -- So when we lock "top", we only lock in intermediate_2 and in bottom. Then we attempt to lock in intermediate_3, but it fails: not because there is a lock on the vnode in intermediate_3, but because there is a lock in bottom. It's unnecessary to lock the vnodes in the intermediate path, or even at the exposure level, unless they are vnodes that have an associated backing store. The need to lock in intermediate_2 exists because it is a translation layer or a namespace escape. It deals with compression, or it deals with file-as-a-directory folding, or it deals with file-hiding (perhaps for a quoata file), etc.. If it didn't, it wouldn't need backing store (and therefore wouldn't need to be locked). For a layer with an intermediate backing object, I'm prepared to declare it "special", and proxy the operation down to any inferior backing object (e.g. a union FS that adds files from two FS's together, rather than just directoriy entry lists). I think such layers are the exception, not the rule. Actually isn't the only problem when you have vnode fan-in (union FS)? i.e. a plain compressing layer should not introduce vnode locking problems. If it's a block compression layer, it will. Also a translation layer; consider a pure Unicode system that wants to remotely mount an FS from a legacy system. To do this, it needs to expand the pages from the legacy system [only it can, since the legacy system doesn't know about Unicode] in a 2:1 ratio. Now consider doing a byte-range lock on a file on such a system. To propogate the lock, you have to do an arithmetic conversion at the translation layer. This gets worse if the lower end FS is exposed in the namespace as well. You could make the same arguments for other types of translation or namespace escapes. I think that export policies are the realm of /etc/exports. The problem with each FS implementing its own policy, is that this is another place that copyinstr() gets called, when it shouldn't. Well, my thought was that, like with current code, most every fs would just call vfs_export() when it's presented an export operation. But by retaining the option of having the fs do its own thing, we can support different export semantics if desired. I think this bears down on whether the NFS server VFS consumer is allowed access to the VFS stack at the particular intermediate layer. I think this is really an administrative policy decision, and not an option for the VFS. I think it would be bad if a given VFS could refuse to participate in a
Re: BSD XFS Port BSD VFS Rewrite
I'm not familiar with the VFS_default stuff. All the vop_default_desc routines in NetBSD point to error routines. In FreeBSD, they now point to default routines that are *not* error routines. This is the problem. I admit the change was very well intentioned, since it made the code a hell of a lot more readable, but choosing between readable and additional function, I take function over form (I think the way I would have "fixed" the readability is by making the operations that result in the descriptor set for a mounted FS instance be both discrete, and named for their specific function). As I recall most of FBSD's default routines are also error routines, if the exceptions were a problem it would would be trivial to fix. You would have to de-collapse several VOP lists that have been pre-collapsed. You are talking gibberish here. Please show code where this is a problem. When you write a proxy stacking layer, such as John Heidemann's network proxy stacking layer (an NFS alternative), VOP's which would normally be handled by vfs_default have to be handled on the other end of the proxy, instead, in the same way that they would be handled by the vfs_default stuff. Some VOP's, like advisory locking, need both local assertion and remote proxy of the VOP to avoid introducing race windows. The result of this is that, if you rely on the vfs_default stuff, then you can't proxy those VOP's into a different address space, either on another machine, or to a user space VFS stacking layer developement environment. This is the same problem that embedding VM references directly into any FS causes, and that vm_object_t aliases would exacerbate. John has, in the past, sent me a number of stacking layers done by various people, with the requirement that I not redistribute them, as they are not what he would consider to be properly representative of finished work. Since John himself did the network proxy, you could perhaps get him to send you a copy, so you could have direct access to code where this was a problem. Make sure that the system you are talking to over the proxy is not assumed to be a FreeBSD system (e.g. don't assume that the vfs_default stuff exists on the other end of the proxy, or that it would be functional). Terry Lambert [EMAIL PROTECTED] --- Any opinions in this posting are my own and not those of my present or previous employers. To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: BSD XFS Port BSD VFS Rewrite
In message [EMAIL PROTECTED], Terry Lambert writes: You would have to de-collapse several VOP lists that have been pre-collapsed. You are talking gibberish here. Please show code where this is a problem. When you write a proxy stacking layer, such as John Heidemann's network proxy stacking layer (an NFS alternative), VOP's which would normally be handled by vfs_default have to be handled on the other end of the proxy, instead, in the same way that they would be handled by the vfs_default stuff. And what prevents you from taking over the default op ? -- Poul-Henning Kamp FreeBSD coreteam member [EMAIL PROTECTED] "Real hackers run -current on their laptop." FreeBSD -- It will take a long time before progress goes too far! To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: BSD XFS Port BSD VFS Rewrite
On Wed, 18 Aug 1999, Terry Lambert wrote: Right. That exported struct lock * makes locking down to the lowest-level file easy - you just feed it to the lock manager, and you're locking the same lock the lowest level fs uses. You then lock all vnodes stacked over this one at the same time. Otherwise, you just call VOP_LOCK below and then lock yourself. I think this defeats the purpose of the stacking architecture; I think that if you look at an unadulterated NULLFS, you'll see what I mean. Please be more precise. I have looked at an unadulterated NULLFS, and found it lacking. I don't see how this change breaks stacking. Intermediate FS's should not trap VOP's that are not applicable to them. True. But VOP_LOCK is applicable to layered fs's. :-) One of the purposes of doing a VOP_LOCK on intermediate vnodes that aren't backing objects is to deal with the global vnode pool management. I'd really like FS's to own their vnode pools, but even without that, you don't need the locking, since you only need to flush data on vnodes that are backing objects. If we look at a stack of FS's with intermediate exposure into the namespace, then it's clear that the issue is really only applicable to objects that act as a backing store: ---- FSExposed in hierarchyBacking object ---- top yes no intermediate_1no no intermediate_2no yes intermediate_3yes no bottomno yes ---- So when we lock "top", we only lock in intermediate_2 and in bottom. No. One of the things Heidemann notes in his dissertation is that to prevent deadlock, you have to lock the whole stack of vnodes at once, not bit by bit. i.e. there is one lock for the whole thing. Actually isn't the only problem when you have vnode fan-in (union FS)? i.e. a plain compressing layer should not introduce vnode locking problems. If it's a block compression layer, it will. Also a translation layer; consider a pure Unicode system that wants to remotely mount an FS from a legacy system. To do this, it needs to expand the pages from the legacy system [only it can, since the legacy system doesn't know about Unicode] in a 2:1 ratio. Now consider doing a byte-range lock on a file on such a system. To propogate the lock, you have to do an arithmetic conversion at the translation layer. This gets worse if the lower end FS is exposed in the namespace as well. Wait. byte-range locking is different from vnode locking. I've been talking about vnode locking, which is different from the byte-range locking you're discussing above. Nope. The problem is that while stacking (null, umap, and overlay fs's) work, we don't have the coherency issues worked out so that upper layers can cache data. i.e. so that the lower fs knows it has to ask the uper layers to give pages back. :-) But multiple ls -lR's work fine. :-) With UVM in NetBSD, this is (supposedly) not an issue. UBC. UVM is a new memory manager. UBC unifies the buffer cache with the VM system. You could actually think of it this way, as well: only FS's that contain vnodes that provide backing should implement VOP_GETPAGES and VOP_PUTPAGES, and all I/O should be done through paging. Right. That's part of UBC. :-) Take care, Bill To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: Need some advice regarding portable user IDs
On Wed, 18 Aug 1999, Marc Ramirez wrote: Oh! I was under the impression that it just didn't work, even with correct perms, but I use FreeBSD. Lemme try it... Can't mount, even with 0666 on /dev/fd0. Maybe I'm being stupid. Wouldn't be the first time! It's controlled by a sysctl in FreeBSD which defaults to "off" - I forget what it is called. Kris To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Gigabit ethernet support?
Any supported cards in 3.2.x? The HCL pages don't list any:( Thanks, --- David To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: Need some advice regarding portable user IDs
On Tue, 17 Aug 1999, Brian C. Grayson wrote: On Tue, Aug 17, 1999 at 07:17:45PM -0700, Wilfredo Sanchez wrote: A group of us at Apple are trying to figure out how to handle situations where a filesystem with "foreign" user ID's are present. Have you looked at mount_umap(8)? I (naively) think it would solve most of your concerns. I don't think so. umap is for translating credentials between domains. I think what Fred wants to do is different, and that is to ignore the credentials on the system. Fred, right now what happens in MacOS when I take a disk which has sharing credentials set up, and hook it into another machine? How are the credentials handled there? Also, one of the problems which has been brought up in the thread is that umap needs to know what credentials to translate to. For that, we'd need to stash the credentails on the drive. Take care, Bill To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
yp_mkdb
I am in the process of upgrading a NIS master using version 2.1.0 to version 3.2. The 'Makefile' has been customized to include automount maps for our IRIX machines as was the 'Makefile' in the old NIS Master. The problem is that for some reason the program 'yp_mkdb' in 3.2 is much more picky. It does not tolerate lines as such: nschein -rw,intrnister:/usr/home: It complains when it encounters the '-' if removed it works fine. Also it has problems with the '+' and absence of a whitespace following the first ASCI string in the following line: +auto.home What has changed in yp_mkdb? Is there a way to escape certain symbols? I have already tried \ '' "". Or is there another way to make the database file? Nathaniel Schein To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: Gigabit ethernet support?
Yes, several vendors cards are supported in 3.2...most notably cards based on Titon I or Titon II chipsets (Alteon cards, 3Com 3c985, Netgear GA620, etc). -marc Marc Nicholas netSTOR Technologies, Inc. http://www.netstor.com "Fast, Expandable and Affordable Internet Caching Products" 1.877.464.4776 416.979.9000 fax: 416.979.8223 cell: 416.346.9255 On Wed, 18 Aug 1999, David Miller wrote: Any supported cards in 3.2.x? The HCL pages don't list any:( Thanks, --- David To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: BSD XFS Port BSD VFS Rewrite
Right. That exported struct lock * makes locking down to the lowest-level file easy - you just feed it to the lock manager, and you're locking the same lock the lowest level fs uses. You then lock all vnodes stacked over this one at the same time. Otherwise, you just call VOP_LOCK below and then lock yourself. I think this defeats the purpose of the stacking architecture; I think that if you look at an unadulterated NULLFS, you'll see what I mean. Please be more precise. I have looked at an unadulterated NULLFS, and found it lacking. I don't see how this change breaks stacking. OK, there's the concept of "collapse" of stacking layer. This was first introduced in the Rosenthal stacking vnode architecture, out of Sun Microsystems. Rosenthal was concerned that, when you stack 500 putatively "null" NULLFS's, that the amount of function call overhead not increase proportionally. To resolve this, he introduced the concept of a "collapsed" VFS stack. That is, the actual array of function vectors is actually a one dimensional projection of a two dimensional stack, and that the visible portion is actually where the first layer on the way down the stack that implements a VOP occurs. We can visualize this like so: VOPs Layer | VOP1VOP2VOP3VOP4VOP5VOP6... --- L1 - - - imp - - ... L2 imp - - imp - imp ... L3 imp - - imp imp - ... L4 - - imp - - - ... L5 imp imp imp imp imp imp ... The resulting "collapsed" array of entry vectors looks like so: L2VOP1 L5VOP2 L4VOP3 L1VOP4 L3VOP5 L2VOP6 ... There is an implicit assumption here that most stacks will not be randomly staggered like this example. The idea behind this assumption is that additional layers will most frequently add functionality, rather than replacing it. Heidemann carried this idea over into his architecture, to be employed at the point that a VFS stack is first instanced. The BSD4.4 implementation of this is partially flawed. There is an implicit implementation of this for the UFS/FFS "stack" of layers, in the VOP's descriptor array exported by the combination of the two being hard coded as being a precollapsed stack. This is actually antithetical to the design. The second place this flaw is apparent is in the inability to add VOP's into an existing kernel, since the entry point vector is a fixed size, and is not expanded implicitly by the act of adding a VFS layer containing a new VOP. For the use of non-error vfs_defaults, this is also flawed for proxies, but not for the consumer of the VFS stack, only for the producer end on the other side of the proxy, which although it does not implement a particular VOP, needs to _NOT_ use the local vfs_default for the VOP, but instead needs to proxy the VOP over to the other side for remote processing. The act of getting a vfs_default VOP after a collapse, instead of having a NULL entry point that the descriptor call mechanism treats as a call failure, damages the ability to proxy unknown VOP's. Intermediate FS's should not trap VOP's that are not applicable to them. True. But VOP_LOCK is applicable to layered fs's. :-) Only for translation layers that require local backing store. I'm prepared to make an exception for them, and require that they explicitly call the VOP in the underlying vnode over which they are stacked. This is the same compromise that both Rosenthal and Heidemann consciously chose. One of the purposes of doing a VOP_LOCK on intermediate vnodes that aren't backing objects is to deal with the global vnode pool management. I'd really like FS's to own their vnode pools, but even without that, you don't need the locking, since you only need to flush data on vnodes that are backing objects. If we look at a stack of FS's with intermediate exposure into the namespace, then it's clear that the issue is really only applicable to objects that act as a backing store: -- -- FS Exposed in hierarchyBacking object -- -- top yes no intermediate_1 no no intermediate_2 no yes intermediate_3 yes no bottom no yes -- -- So when we lock "top", we only lock in intermediate_2 and in bottom. No. One of the things Heidemann notes in his dissertation is that to prevent deadlock, you have to lock the whole stack of vnodes at
Re: RE: Need some advice regarding portable user IDs
: And what happens accross NIS domains? UID = SSN? Oops -- it's too late for RFC 666. Besides, that's Bill, not Steve. To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: RE: Need some advice regarding portable user IDs
On Wed, 18 Aug 1999, Anthony Kimball wrote: : And what happens accross NIS domains? UID = SSN? Oops -- it's too late for RFC 666. Besides, that's Bill, not Steve. ROTFLMFAO (rolling on the floor laughing my f***ing a** off) ;^) Thanks for brightening my day with this grin inducing line. - Todd To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
RE: Gigabit ethernet support?
Bill Paul has developed a driver for the Alteon Tigon 1 and 2 cards. http://www.freebsd.org/~wpaul/Alteon/ FYI, Charles -Original Message- From: David Miller [mailto:[EMAIL PROTECTED]] Sent: Wednesday, August 18, 1999 1:55 PM To: [EMAIL PROTECTED] Subject: Gigabit ethernet support? Any supported cards in 3.2.x? The HCL pages don't list any:( Thanks, --- David To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: BSD XFS Port BSD VFS Rewrite
Terry, It is very fine with this example, but I'm not even going to bother much with it for several reasons, most of which you can find codified in the development rules for X11 which you can find in Scheiflers book. But for the record: your example would get even shorter on the code we had before I started using the default op sensibly because all the layers tended to shunt things they didn't understand to errno rather than pass them through, so in fact my change took us closer to being able to handle the rather lofty example you have here. Once you show me an actual implementation which has a problem with it, I will look at it again, until then, I think pretty much everything else is more important (Scheiflers 1st rule :-) Poul-Henning And what prevents you from taking over the default op ? It needs to be NULL, not taken over. machine 1 machine2machine 3 vfs consumer upper proxy - lower proxy vfs stacking layer upper proxy - lower proxy vfs producer How do I get a VOP, unknown to machine 2, from the vfs consumer on machine 1 that does know about it, to the vfs producer on machine 3 that also knows about it? -- Poul-Henning Kamp FreeBSD coreteam member [EMAIL PROTECTED] "Real hackers run -current on their laptop." FreeBSD -- It will take a long time before progress goes too far! To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: Gigabit ethernet support?
On Wed, 18 Aug 1999, David Miller wrote: Any supported cards in 3.2.x? The HCL pages don't list any:( Support for the Alteon Tigon 1 2 based boards and the SysKonnect bards is in 3.2-STABLE. (Both drivers by Bill Paul.) -- | Matthew N. Dodd | '78 Datsun 280Z | '75 Volvo 164E | FreeBSD/NetBSD | | [EMAIL PROTECTED] | 2 x '84 Volvo 245DL| ix86,sparc,pmax | | http://www.jurai.net/~winter | This Space For Rent | ISO8802.5 4ever | To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: Need some advice regarding portable user IDs
On Wed, 18 Aug 1999, Wilfredo Sanchez wrote: I think Mac OS 8 will forget about the credentials. I don't actually know much about how sharing works. But the current file sharing behaviour is not entirely useful to think about, because it doesn't effect the local permissions (much), and the local permission are what I'm worried about. Exported filesystems are another story, and I don't want to compilcate things too much by worrying about that right now. My thought here was more that this was the closest thing to prior art that MacOS has, and that that might be a good user experience to emulate. ;-) Probably the thing to do is either have options to the mount call which have the mounting user own everything, or to set up a umap which maps the desired user to root for access on the filesystem. Take care, Bill To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: BSD XFS Port BSD VFS Rewrite
You would have to de-collapse several VOP lists that have been pre-collapsed. You are talking gibberish here. Please show code where this is a problem. When you write a proxy stacking layer, such as John Heidemann's network proxy stacking layer (an NFS alternative), VOP's which would normally be handled by vfs_default have to be handled on the other end of the proxy, instead, in the same way that they would be handled by the vfs_default stuff. And what prevents you from taking over the default op ? It needs to be NULL, not taken over. machine 1 machine2machine 3 vfs consumer upper proxy - lower proxy vfs stacking layer upper proxy - lower proxy vfs producer How do I get a VOP, unknown to machine 2, from the vfs consumer on machine 1 that does know about it, to the vfs producer on machine 3 that also knows about it? My understanding is that it is very hard, given vfs_default: On machine 1, since the upper proxy doesn't know from VOP's, it wants to locally satisfy it from vfs_default on machine 1. Taking over the default op doesn't really help me; I have to do surgery to the in core dispatch vector instance to do the job properly (e.g. zapping it out, not taking it over). On machine 2, it is out of range, but still needs to be passed through the stacking layer, from the lower porxy to the upper proxy (and the response, back). Terry Lambert [EMAIL PROTECTED] --- Any opinions in this posting are my own and not those of my present or previous employers. To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: lpd security check for changed-file vs NFS
At 8:48 AM -0500 8/18/99, David Scheidt wrote: On Tue, 17 Aug 1999, Garance A Drosihn wrote: At 6:37 PM -0700 8/17/99, Matthew Dillon wrote: If you removed the stat test, I would simply get rid of the -s option entirely - require that all files be queued to the print spool. The administration would kill me. I would prefer to avoid that. (note that the check isn't completely removed, it's "only" nullified for NFS-mounted files. We use AFS for most things here, so the vast Couldn't you turn it off only for NFS mounted files? I first took this to mean "turn off the security check", but now I see it means "turn off the -s option". In thinking about this suggestion, I think that as long as I allow-but-ignore the option for nfs files, it might work out better than I initially thought it would. I don't want to completely reject '-s' because they have that embedded in a lot of scripts and canned procedures that I doubt they want to search for right now. But just ignoring the option for NFS files might not be too bad. I do keep thinking that they would have a fit if some 'lpr -s' didn't work because it ran out of space to copy the file into the spool directory. Still, I'll have to think about this some more. Thanks. Any advice on how to kick AIX so the st_dev+st_ino check will work right is also welcome. It baffles me why AIX does things the way it does. It kinda looks like the values it uses are pointers to some The joke about AIX is that it was created by aliens who were given the UNIX documentation, but no example system. I have seen very little that suggests this to be untrue. Everytime I start thinking "well AIX isn't TOO bad", something like this comes along to remind me... --- Garance Alistair Drosehn = [EMAIL PROTECTED] Senior Systems Programmer or [EMAIL PROTECTED] Rensselaer Polytechnic Institute To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: Need some advice regarding portable user IDs
On Wed, 18 Aug 1999, Bill Studenmund wrote: On Tue, 17 Aug 1999, Brian C. Grayson wrote: On Tue, Aug 17, 1999 at 07:17:45PM -0700, Wilfredo Sanchez wrote: A group of us at Apple are trying to figure out how to handle situations where a filesystem with "foreign" user ID's are present. Have you looked at mount_umap(8)? I (naively) think it would solve most of your concerns. I don't think so. umap is for translating credentials between domains. I think what Fred wants to do is different, and that is to ignore the credentials on the system. Fred, right now what happens in MacOS when I take a disk which has sharing credentials set up, and hook it into another machine? How are the credentials handled there? Also, one of the problems which has been brought up in the thread is that umap needs to know what credentials to translate to. For that, we'd need to stash the credentails on the drive. I'm probably being extremely naive myself, but I just envisioned a scenario like this (pardon me if someone else has already suggested this): When a filesystem is mounted as foreign (HOW that is determined I won't talk about), every file in the filesytem has its credentials mapped to that of the mountpoint. File mode bits are not remapped in any way. New files gain the credentials of their _foreign_ parent. That's the skinny. Now I'll give a (much longer) example to clarify. An origin filesystem (created by and mounted on the same system) which happens to have stuff owned by several different users (this is all pseudo... don't mind sizes, dates, and link counts in this example): drwxr-xr-x 4 root wheel512 Aug 18 15:42 ./ drwxr-x--- 4 harry users512 Mar 10 10:21 dir1/ drwxr-xr-x 2 john users512 Jul 1 18:40 dir2/ ls -la dir1 -rw-r- 1 harry users0 Aug 18 15:48 bar -rw-r- 1 harry users0 Aug 18 15:48 foo Take this filesystem and mount it as a "foreign" filesystem on another machine. User 'jake' owns the mountpoint on the machine. drwxr-xr-x 2 jake users512 Jan 4 1999 /mnt/ mount_foreign /dev/whatever /mnt ls -la /mnt drwxr-xr-x 4 jake users512 Aug 18 15:42 ./ drwxr-x--- 4 jake users512 Mar 10 10:21 dir1/ drwxr-xr-x 2 jake users512 Jul 1 18:40 dir2/ ls -la /mnt/dir1/ -rw-r- 1 jake users0 Aug 18 15:48 bar -rw-r- 1 jake users0 Aug 18 15:48 foo Note file mode bits were not affected, but everything gained the user/group of the mountpoint. Now what happens if user 'jake' adds something to the filesystem? touch /mnt/dir1/baz ls -la /mnt/dir1/ -rw-r- 1 jake users0 Aug 18 15:48 bar -rw-r- 1 jake users0 Aug 18 15:48 foo -rw-r- 1 jake users0 Aug 18 15:50 baz From jake's perspective, this happens as if it were an origin filesystem and he owned everything on it. Now, mount the filesystem again on it's origin system. drwxr-xr-x 4 root wheel512 Aug 18 15:42 ./ drwxr-x--- 4 harry users512 Mar 10 10:21 dir1/ drwxr-xr-x 2 john users512 Jul 1 18:40 dir2/ Nothing changed here as far as credentials are concerned. ls -la dir1 -rw-r- 1 harry users0 Aug 18 15:48 bar -rw-r- 1 harry users0 Aug 18 15:48 foo -rw-r- 1 harry users0 Aug 18 15:50 baz The new file added by the foreign user inherited the credentials of its origin parent, just as it would have normally. Points to ponder: 1) When writing to a foreign filesystem, should file mode bits be inherited from the parent, or be based on the umask of the foreign user writing the file at that time? Can the umask of the foreign owner be preserved (which isn't necessarily the same thing as inheriting from the parent) and used? 2) How should chown and chgrp act when attempting to modify credentials on one of these foreign filesystems? Should it affect only the local credential mapping (temporarily) and not modify the foreign filesystem? Should you completely ignore the attempts and not do anything? I vote for temporarily changing credentials (until unmounted), but that is certainly a lot harder to implement than just ignoring the changes. :-) 3) What happens if you want to mount the filesystem on a machine besides the origin, but you do NOT want to do credential mapping (i.e. the systems both have the same sets of users)? This wouldn't matter if you just used a mount option or different filesystem type when mounting, but I'm assuming something automagic is wanted here. 4) What happens if you change the credentials of the mountpoint after you have mounted the foreign filesystem? Should the mappings follow the new credentials, or stay as they were when first mounted? Even if I have no idea what I'm talking about and this was the stupidest idea anyone has ever heard of, I hope that I at least sparked off a few new thought processes and got some more ideas flowing. :-) -- Chris Dillon - [EMAIL PROTECTED] - [EMAIL PROTECTED]
Re: lpd security check for changed-file vs NFS
In message [EMAIL PROTECTED] David Scheidt writes: : Couldn't you turn it off only for NFS mounted files? For the general case (eg the code checked into the system), the check needs to remain enabled. Anything else is insecure. Warner To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: lpd security check for changed-file vs NFS
:For the general case (eg the code checked into the system), the check :needs to remain enabled. Anything else is insecure. : :Warner I have to agree... whenever one starts discussing weird, esoteric workarounds one inevitably introduces security holes. I really think just disabling the -s option may be the best solution. Garance: I recommend you actually check to see how big your printer spools get. If they look reasonable then turning off -s is not going to hurt anything. I expect that most users don't even know the option exists and so don't use it anyway. -Matt Matthew Dillon [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: lpd security check for changed-file vs NFS
On Wed, 18 Aug 1999, Matthew Dillon wrote: :For the general case (eg the code checked into the system), the check :needs to remain enabled. Anything else is insecure. : :Warner Oh, absolutely. However, one of the reasons people use an operating system they have source to is to make it work for them. I have to agree... whenever one starts discussing weird, esoteric workarounds one inevitably introduces security holes. I really think just disabling the -s option may be the best solution. It is apparent that I was unclear. What I meant was use the fstat test for local files. For NFS mounted files, don't use the test, since it doesn't work, and don't allow the the -s option. (Better would be to accept, and ignore the -s, perhaps producing a warning?) David Scheidt To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: BSD voice synthesis
I haven't played with it for a few weeks, but I recall seeing a default volume somewhere. (in the documantation) I think you can set it in your init files but I can't go look right now. julian (it seemed ok to me but I didn't test it too much) On Wed, 18 Aug 1999, Nik Clayton wrote: On Tue, Aug 03, 1999 at 12:37:39AM -0700, Julian Elischer wrote: Just fetched and compiled the "festival" package. http://www.cstr.ed.ac.uk/projects/festival Likewise, based on your comments. Has anyone had any problems with the volume being far too low? The sound card on this box is a pcm2 (CS423x/Yamaha/AD1816 CS4236 sn 0x) at 0x530-0x537 irq 5 drq 1 fl ags 0x13 on isa and I run mixer pcm 80 in /etc/rc.local, to set the volume to a comfortable level for playing .mp3 files and the like. If I turn the speakers right up then I can hear the output, but then everything else is distorted. Any thoughts? N -- [intentional self-reference] can be easily accommodated using a blessed, non-self-referential dummy head-node whose own object destructor severs the links. -- Tom Christiansen in [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
anybody love qsort.c?
The FreeBSD qsort implementation has a rather nasty degenerate case. If you have data that partitions exactly about the median pivot, yet which is unsorted in either partition, you get get treated to an insertion sort. Example: 1 2 3 4 5 6 7 8 9 10 19 18 17 16 14 14 13 12 11 qsort picks 10 as the median, does no swaps on its first pass, and so decides to switch to an insertion sort. The idea is that if no swaps occur, the data is likely to be nearly already sorted and a good candidate for insertion sort. This turns out to be a (very) bad idea if you have some unsorted data buried in the middle of a (very) large dataset. The implementation claims to come from Bentley and McIlroy's paper, "Engineering a Sort Function," and this is largely true, but the insertion sort optimization(?) isn't in that paper. The GNU qsort.c only does an insertion sort if it is below a certain threshhold in size, and so never attempts such a sort on the whole dataset. (The GNU qsort does a number of other things pooh-poohed in the Bentley paper.) It's a pretty straightforward change to bypass the insertion sort for large subsets of the data. If no one has a strong love for qsort, I'll educate myself on how to make and contribute this change. Christopher Christopher Seiwald Perforce Software 1-510-864-7400 [EMAIL PROTECTED] f-f-f-fast SCM http://www.perforce.com To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: anybody love qsort.c?
Christopher Seiwald writes: The FreeBSD qsort implementation has a rather nasty degenerate case. If you have data that partitions exactly about the median pivot, yet which is unsorted in either partition, you get get treated to an insertion sort. Example: 1 2 3 4 5 6 7 8 9 10 19 18 17 16 14 14 13 12 11 qsort picks 10 as the median, does no swaps on its first pass, and so decides to switch to an insertion sort. The idea is that if no swaps occur, the data is likely to be nearly already sorted and a good candidate for insertion sort. This turns out to be a (very) bad idea if you have some unsorted data buried in the middle of a (very) large dataset. The implementation claims to come from Bentley and McIlroy's paper, "Engineering a Sort Function," and this is largely true, but the insertion sort optimization(?) isn't in that paper. The GNU qsort.c only does an insertion sort if it is below a certain threshhold in size, and so never attempts such a sort on the whole dataset. (The GNU qsort does a number of other things pooh-poohed in the Bentley paper.) It's a pretty straightforward change to bypass the insertion sort for large subsets of the data. If no one has a strong love for qsort, I'll educate myself on how to make and contribute this change. Sounds good to me.. let's fix it. -Archie ___ Archie Cobbs * Whistle Communications, Inc. * http://www.whistle.com To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: OpenLDAP tests?
Me too. Remarkable what removing a couple of Debug lines will do for you. Thanks! -Steve Found it. This let the tests run fine for me. === RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/daemon.c,v retrieving revision 1.14.2.7.2.8 retrieving revision 1.14.2.7.2.9 diff -u -r1.14.2.7.2.8 -r1.14.2.7.2.9 --- servers/slapd/daemon.c 1999/03/02 18:30:05 1.14.2.7.2.8 +++ servers/slapd/daemon.c 1999/07/20 05:10:35 1.14.2.7.2.9 @@ -390,7 +390,6 @@ void slap_set_shutdown( int sig ) { - Debug( LDAP_DEBUG_ANY, "slapd got shutdown signal %d\n", sig, 0, 0 ); slapd_shutdown = 1; ldap_pvt_thread_kill( listener_tid, LDAP_SIGUSR1 ); @@ -401,8 +400,6 @@ void slap_do_nothing( int sig ) { - Debug( LDAP_DEBUG_TRACE, "slapd got do_nothing signal %d\n", sig, 0, 0 ); - /* reinstall self */ (void) SIGNAL( sig, slap_do_nothing ); } On Wed, 18 Aug 1999, Steven Ames wrote: Thanks! I'll check the site (but would appreciate your sending it to me also). -Steve On Tue, 17 Aug 1999, Jaye Mathisen wrote: There is a patch that fixes this, I found it, and submitted a bug report on their web page. I don't have it handy, but if you go to www.openldap.org and to their faq-o-matic, and it should be in there. I'll see if I can find it and send it to you in the mean time. On Tue, 17 Aug 1999, Steven Ames wrote: I've got a project at work where using LDAP would make my life much simpler. So... on my home PC (running FBSD 4.0-CURRENT 8.2.99) I installed openldap from the ports collection (V1.2.3...ports cvsuped about an hour ago from cvsup5.freebsd.org). I cd into the test area /usr/ports/work/ldap/tests and type 'make'. Looking good... until... on test0003-search it stops. It just holds. My CPU is up to 99% and its chewed up 18 minutes of CPU before I hit Ctrl-C and stopped it. I did a 'make clean' moved scripts/test0003-seach to scripts/test0009-search (so it would run last) and tried again. Same results on test0004-modify. *sigh* Do the tests just not run? I didn't dare to just go ahead and use it as I'm not familiar enough with LDAP to judge if a failure is my fault or a system problem. I'd feel a lot safer if the tests all passed so that if anything goes wrong from that point I can call it user error. Anyone? -Steve To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: Gigabit ethernet support?
Bill Paul wrote: Of all the gin joints in all the towns in all the world, Charles Randall had to walk into mine and say: Bill Paul has developed a driver for the Alteon Tigon 1 and 2 cards. http://www.freebsd.org/~wpaul/Alteon/ FYI, Charles -Original Message- From: David Miller [mailto:[EMAIL PROTECTED]] Sent: Wednesday, August 18, 1999 1:55 PM To: [EMAIL PROTECTED] Subject: Gigabit ethernet support? Any supported cards in 3.2.x? The HCL pages don't list any:( The ti driver supports several cards, including the Alteon AceNIC, the 3Com 3c985-SX, the Netgear GA620, the DEC EtherWORKS 1000, the SGI PCI gigabit ethernet card, the NEC gigabit ethernet card and possibly some from IBM as well, though I don't know the PCI vendor/device IDs for those so I can't be sure (if you find them out, you can try hacking them into the driver). All of these are supported by the same driver because they're all OEMed from Alteon. We have two of the NetGear GA620's here, and they work quite nicely. I use them for testing throughput via Gig-E on our switches. Mine is running in a lowly PII/233, on a 32-bit x 33 Mhz slot, and can push bits at 320 Mbps. The GA620 will work in any 32 or 64 bit, 33 or 66 Mhz slot. A 64x66 slot would probably speed things up appreciably. They're relatively cheap, too, going for $339 at DataComm Warehouse. I'm still working on those Packet Engine cards, Bill. They're really quite disorganized and difficult to work with up there in Spokane... -- "Where am I, and what am I doing in this handbasket?" Wes Peters Softweyr LLC http://softweyr.com/ [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: Gigabit ethernet support?
Of all the gin joints in all the towns in all the world, David Malone had to walk into mine and say: On Wed, Aug 18, 1999 at 06:43:24PM -0400, Bill Paul wrote: Just out of curiosity, I thought I saw that you could get Intel Etherexpress 1Gb/s cards. Do these exist and if so would they work with the fxp driver as it is? David. The Intel gigabit ethernet cards are nothing like the EtherExpress fast ethernet adapters. Getting information out of Intel is like trying to squeeze blood from a stone. Either they want you to sign a non disclosure agreement that prevents you from releasing driver source (or makes it hard) or they won't give you any information at all. Sometimes they also play a different game where they release some information and pretend they're being 'open' but in reality the stuff they release is just fluff and you still have to sign an NDA to get your hands on the good stuff. As an aside, there are bound to be extra problems with the Intel gigabit NICs because, if I'm not mistaken, then use an on-board i960 processor to drive them. This means that in order to make the NIC work, you have to load firmware into it, and with firmware comes sticky licensing issues. The Alteon Tigon chipset also requires firmware (it has embedded MIPS R4000 CPUs) but Alteon actually released the firmware source code along with all the other Tigon development information. They even have a mailing list where you can send in questions regarding the firmware and get answers from a real live developer. Until such time as Intel gets its head out of its ass in this regard, I refuse to have anything to do with their networking products, especially when I have two other sources of perfectly good gigabit ethernet NICs available to me with full, unencumbered documentation. Initially this was not true of SysKonnect: they had a Linux driver for their cards but no programming info available. Much to my surprise, after a lengthy e-mail discussion, they actually agreed to release the manual for their GEnesis ASIC not just to me but to anybody without NDA on their web site. You would think that Intel would be prepared to make the same commitment to their customers, but so far as I know, they're still stuck in their proprietary ways. -Bill -- = -Bill Paul(212) 854-6020 | System Manager, Master of Unix-Fu Work: [EMAIL PROTECTED] | Center for Telecommunications Research Home: [EMAIL PROTECTED] | Columbia University, New York City = "It is not I who am crazy; it is I who am mad!" - Ren Hoek, "Space Madness" = To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: Gigabit ethernet support?
Wes Peters wrote... Bill Paul wrote: Of all the gin joints in all the towns in all the world, Charles Randall had to walk into mine and say: Bill Paul has developed a driver for the Alteon Tigon 1 and 2 cards. http://www.freebsd.org/~wpaul/Alteon/ FYI, Charles -Original Message- From: David Miller [mailto:[EMAIL PROTECTED]] Sent: Wednesday, August 18, 1999 1:55 PM To: [EMAIL PROTECTED] Subject: Gigabit ethernet support? Any supported cards in 3.2.x? The HCL pages don't list any:( The ti driver supports several cards, including the Alteon AceNIC, the 3Com 3c985-SX, the Netgear GA620, the DEC EtherWORKS 1000, the SGI PCI gigabit ethernet card, the NEC gigabit ethernet card and possibly some from IBM as well, though I don't know the PCI vendor/device IDs for those so I can't be sure (if you find them out, you can try hacking them into the driver). All of these are supported by the same driver because they're all OEMed from Alteon. We have two of the NetGear GA620's here, and they work quite nicely. I use them for testing throughput via Gig-E on our switches. Mine is running in a lowly PII/233, on a 32-bit x 33 Mhz slot, and can push bits at 320 Mbps. The GA620 will work in any 32 or 64 bit, 33 or 66 Mhz slot. A 64x66 slot would probably speed things up appreciably. I doubt a faster PCI interface would really speed things up. My guess is that you've got some other bottleneck other than PCI bandwidth. Is the CPU pegged on either end? I would recommend that you make sure you've got a couple of things tweaked, they may increase your performance somewhat: - set your MTU to 9000, unless of course you're going through a switch that can't handle it - turn on net.inet.tcp.rfc1323, it enables support for TCP windows larger than 64K - increase net.inet.tcp.sendspace and net.inet.tcp.recvspace to 256K. You'll have to edit src/sys/socketvar.h and increase SB_MAX. From what I've seen (this may not be quite correct, but it's close enough) SB_MAX has to be double whatever you want to set sendspace and recvspace to. This has the effect of changing the TCP window size to 256K, I think. From what I've seen, increasing it to 512K is counterproductive unless you've got a card with 1MB of SRAM on board. (The Netgear boards have 512K.) And finally, netperf seems to work reasonably well for testing performance: http://www.netperf.org They're relatively cheap, too, going for $339 at DataComm Warehouse. FWIW, NECX has them for $310. Ken -- Kenneth Merry [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: anybody love qsort.c?
Christopher Seiwald scribbled this message on Aug 18: It's a pretty straightforward change to bypass the insertion sort for large subsets of the data. If no one has a strong love for qsort, I'll educate myself on how to make and contribute this change. why don't you implement this w/ the 5 element median selection qsort algorithm? my professor for cis413 talked about this algorithm and that it really is the fastest qsort algorithm... I don't have any pointers to a paper on this... but I might be able to dig some info up on it if you are interested... -- John-Mark Gurney Voice: +1 541 684 8449 Cu Networking P.O. Box 5693, 97405 "The soul contains in itself the event that shall presently befall it. The event is only the actualizing of its thought." -- Ralph Waldo Emerson To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: Need some advice regarding portable user IDs
"Ronald G. Minnich" wrote: the only portable user ids are names as strings. you can kludge and kludge but at some point the kludges will pile up too high, fall over, and hurt somebody. how many new options did we see proposed in the last 12 hours for this problem? Actually, I think that's a kludge too. I'd rather go for encrypted data with a signature based on a public/private key algorithm, having the signature stand for "user id". But then, I have trouble going half way when it comes down to security. -- Daniel C. Sobral(8-DCS) [EMAIL PROTECTED] [EMAIL PROTECTED] - Can I speak to your superior? - There's some religious debate on that question. To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: async v. sync v. default mode on ufs
Larry Lile wrote: It was pointed out to me by a co-worker that FreeBSD has actually three modes of operation for mounting ufs filesystems. Could someone please explain to me, and him, the differences between the three. There are two kinds of stuff written to the fs: data and metadata. Data is what goes inside files, metadata are things like filenames and sizes (gross simplification, emphasis on gross). Default for FreeBSD is async data and sync data. Sync and Async modes go full sync/async for both metadata and data (in theory, anyway :). The advantage with sync metadata is that the fs never gets "too" damaged. With async metadata writes, the fs can get in a state that fsck won't be able to get back to life. Sync metadata writes will be restricted to recoverable inconsistencies (ie, you may lose files and directories, but not the filesystem). Also does anyone knows how these compare to sync and async on Linux? Sync and async modes on Linux, last I checked, are like full sync and full async modes on FreeBSD. Then, there is softupdates, which is a whole new ball game. Softupdates is async, but it will order, delete, collapse and expand metadata writes so the file system will never get in an inconsistent state. Just a btw, you seem to be able to set sync and async on a filesystem at the same time. What gives? Beats me. dlane# mount -u -o sync,async,noatime /var dlane-printer# mount /dev/wd0s1a on / (local, noatime, synchronous, writes: sync 405 async 23) /dev/wd0s1e on /usr (local, noatime, synchronous, writes: sync 118365 async 83882) /dev/wd0s1f on /var (asynchronous, local, noatime, synchronous, writes: sync 93 async 216) procfs on /proc (local) dlane# /var looks questionable... Indeed. :-) I would never try that on purpose, but it just kinda happened, and when I looked at it I though "wow that's broken"! Looks that way. Try opening a PR. :-) -- Daniel C. Sobral(8-DCS) [EMAIL PROTECTED] [EMAIL PROTECTED] - Can I speak to your superior? - There's some religious debate on that question. To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: Gigabit ethernet support?
"Kenneth D. Merry" wrote: Wes Peters wrote... Bill Paul wrote: Of all the gin joints in all the towns in all the world, Charles Randall had to walk into mine and say: Bill Paul has developed a driver for the Alteon Tigon 1 and 2 cards. http://www.freebsd.org/~wpaul/Alteon/ FYI, Charles -Original Message- From: David Miller [mailto:[EMAIL PROTECTED]] Sent: Wednesday, August 18, 1999 1:55 PM To: [EMAIL PROTECTED] Subject: Gigabit ethernet support? Any supported cards in 3.2.x? The HCL pages don't list any:( The ti driver supports several cards, including the Alteon AceNIC, the 3Com 3c985-SX, the Netgear GA620, the DEC EtherWORKS 1000, the SGI PCI gigabit ethernet card, the NEC gigabit ethernet card and possibly some from IBM as well, though I don't know the PCI vendor/device IDs for those so I can't be sure (if you find them out, you can try hacking them into the driver). All of these are supported by the same driver because they're all OEMed from Alteon. We have two of the NetGear GA620's here, and they work quite nicely. I use them for testing throughput via Gig-E on our switches. Mine is running in a lowly PII/233, on a 32-bit x 33 Mhz slot, and can push bits at 320 Mbps. The GA620 will work in any 32 or 64 bit, 33 or 66 Mhz slot. A 64x66 slot would probably speed things up appreciably. I doubt a faster PCI interface would really speed things up. My guess is that you've got some other bottleneck other than PCI bandwidth. Is the CPU pegged on either end? Not on mine, it's running about 45%. The other end is much faster, a PII/400, and is just discarding the packets, so it's not sweating. I would recommend that you make sure you've got a couple of things tweaked, they may increase your performance somewhat: - set your MTU to 9000, unless of course you're going through a switch that can't handle it Not yet, that's part of what I will be developing. ;^) Due to architectural limitations, we may not be able to support jumbo frames larger than 8k. - turn on net.inet.tcp.rfc1323, it enables support for TCP windows larger than 64K OK. - increase net.inet.tcp.sendspace and net.inet.tcp.recvspace to 256K. You'll have to edit src/sys/socketvar.h and increase SB_MAX. From what I've seen (this may not be quite correct, but it's close enough) SB_MAX has to be double whatever you want to set sendspace and recvspace to. This has the effect of changing the TCP window size to 256K, I think. From what I've seen, increasing it to 512K is counterproductive unless you've got a card with 1MB of SRAM on board. (The Netgear boards have 512K.) OK. And finally, netperf seems to work reasonably well for testing performance: http://www.netperf.org Cool. I've been using several tools, since we do our real performance testing with a SmartBits. I use spray to generate UDP traffic and a hacked-up version of tcpblast for tcp traffic. I'll clean it up and re-release it one of these days. They're relatively cheap, too, going for $339 at DataComm Warehouse. FWIW, NECX has them for $310. Cool. We don't have an account there; if I get one from DataComm all I have to do is give them the account number and it shows up on my desk the next morning. It's MORE convenient than going to the store. ;^) -- "Where am I, and what am I doing in this handbasket?" Wes Peters Softweyr LLC http://softweyr.com/ [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message
Re: OpenLDAP tests?
There is a patch that fixes this, I found it, and submitted a bug report on their web page. I don't have it handy, but if you go to www.openldap.org and to their faq-o-matic, and it should be in there. I'll see if I can find it and send it to you in the mean time. On Tue, 17 Aug 1999, Steven Ames wrote: I've got a project at work where using LDAP would make my life much simpler. So... on my home PC (running FBSD 4.0-CURRENT 8.2.99) I installed openldap from the ports collection (V1.2.3...ports cvsuped about an hour ago from cvsup5.freebsd.org). I cd into the test area /usr/ports/work/ldap/tests and type 'make'. Looking good... until... on test0003-search it stops. It just holds. My CPU is up to 99% and its chewed up 18 minutes of CPU before I hit Ctrl-C and stopped it. I did a 'make clean' moved scripts/test0003-seach to scripts/test0009-search (so it would run last) and tried again. Same results on test0004-modify. *sigh* Do the tests just not run? I didn't dare to just go ahead and use it as I'm not familiar enough with LDAP to judge if a failure is my fault or a system problem. I'd feel a lot safer if the tests all passed so that if anything goes wrong from that point I can call it user error. Anyone? -Steve To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: Onstream?
In message 19990817230910.a6...@netmonger.net Christopher Masto writes: : Do they still not allow you to release the specs? How is the code : going to become part of FreeBSD if they won't allow its release? I didn't sign an NDA to get my copy of the spec or the hardware... I also don't have time to devote to the onstream IDE project. I'm looking for someone with the kernel skills and track record to take over for me. Warner To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: Probably bug with allocation memory in FreeBSD-3.2-RELEASE
On Wed, 18 Aug 1999, Ilia Chipitsine wrote: Why i think this is bug? Because any user can hung FreeBSD, settings in /etc/login.conf can't help. Are you sure about that? Setting datasize limits will prevent malloc() from doing what you're trying to make it do. Are you sure you're setting your login.conf settings properly? guys, just a silly question ! how dod you think login.conf works with xdm ?! right ! xdm simply ignores it ... This is only example. 'Stable system' must be stable in any time, even out-of-swap occured. To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: Budget on user-ppp
[.] Brian, The i4b stuff seems to have some sophisticated costing control code (isdn.rates). It appears that you can define the costs at different times of day and thereby vary the timeouts, etc. I wonder whether any of this can be adapted for modem ppp. I've added it to my todo list. I'll probably look at the BACP or MP+ stuff first though, and then at the ``when to bring up another link'' code all fun games :-) [.] FWIW, ppp can now be given a minimum idle timer. While not covering everything, it does address the minimum call charge side of things. -- Brian br...@awfulhak.orgbr...@freebsd.org http://www.Awfulhak.org br...@openbsd.org Don't _EVER_ lose your sense of humour ! br...@freebsd.org.uk To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: Need some advice regarding portable user IDs
On Tue, 17 Aug 1999, Wilfredo Sanchez wrote: A group of us at Apple are trying to figure out how to handle situations where a filesystem with foreign user ID's are present. The basic problem is that the user experience using Unix semantics are not really pleasant. I think some examples would help: I was thinking about this the other day, while mousting a series of floppy disks, and it seems to me that what you're looking for, at least for removable media, is a sort of single-user UFS that says Joe Schmoe owns this file system. Assuming that neither you nor Joe have accounts on each other's machines: 0) Non-root users should be able to mount disks. This really goes without saying for desktop systems. 1) You mount_suufs his disk with some sort of foreign-user option, and the system chooses an unused, per device UID and GID, and all the directories are mapped to that ownership. 2) You copy the files to a world wrx directory, and they all automagically become foreign ownership. 3) Joe goes to his computer and mounts his disk, and voila, he owns everything (it's his filesystem after all). This handles the simple case of just shuffling files around. If you wanted more elaborate collaborations, you'd really have to give each other accounts. You could monkey around with keeping passwd files and such on the medium and umapping, but you couldn't copy files from the Zip to the local FS without future-user-clash. This also affords Joe more than your normal level of security, assuming he trusts root on all the systems involved. Marc. -- Marc Ramirez - OwnerGreat Big Throbbing Brains mr...@gbtb.com http://www.gbtb.com Our brains throb, so yours won't have to! To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: cvs commit: src/bin/test test.c
[Hi-jacked out of cvs-committers cvs-all] On Tue, 17 Aug 1999 17:18:53 MST, Brian Feldman wrote: green 1999/08/17 17:18:53 PDT Modified files: bin/test test.c Log: The new test(1) did not use access() correctly. I don't know why, since supposedly it's ksh-derived, and it's not broken in pdksh. I've added a test for test running as root: if testing for -x, the file must be mode 0111 to get success, rather than just existant. Reviewed by:chris What were you actually trying to fix, here? I didn't see any discussion of this on hackers, current or bugs, nor in response to my initial commit message. Ciao, Sheldon. To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: Need some advice regarding portable user IDs
On Tue, 17 Aug 1999, Wilfredo Sanchez wrote: A group of us at Apple are trying to figure out how to handle situations where a filesystem with foreign user ID's are present. [...] that he can't read the files, because I have a lamer umask, and as a bonus, I don't have an account on his machine, so the files are owned by some random UID. [...] effectively now Joe's zip disk, he should be able to do as he pleases. One proposal might be to give the console user the equivalent of root's priveledges on any removeable media he inserts into the machine while he's logged in on the console. This solves [...] implications aside for the moment), is that knowing what media is removeable is becoming increasingly difficult. Hot-swappable drives [...] So perhaps there needs to be a way to mark a drive as local (perhaps with a host ID of some sort?) and noticing when a volume is foreign that you need to do something special. Certainly you might [...] This has been tackled by folks distributing via ISO9660+RockRidge.. It's based on a few assumptions: 1) It's data specifically tagged for export. 2) If you're giving it to Other Guy, you obviously want him to be able to read it and navigate it without impediment (otherwise, you wouldn't have put it on there, would you?) 3) Other Guy is responsible for managing his new files. So, let's remove the ROM mentality and apply it to our removable media problem: 1) The data may or may not be specifically tagged export. With a ROM, you only decide once what this child of your creativity's purpose will be in life. Is it staying home or going abroad? It would be safe to assume that a very solid majority of users will be neither familiar with mastering nor happy with having the inflexibility of being forced to decide at Erase Disk... time (who changed it to that anyway? :P ) whether this volume is local or exported. 2) You'll still want Other Guy to be able to navigate without impediment. The default action would be to save ownership/permission information on media for local use and present a least common denominator view (chown -R 0.0 chmod -R a=rX) for other recipients. It ought to be transparent, but otherwise able to be manually fiddled with (sometimes you just don't want other people to be able to find out your uname is fuckwit1). So yeah, you'll want to tag your media as MINE. A superhappyfun-hash of the hostname and something else ought to make a nice tag. So far as where to put it depends on the FS. Take a looksee at RockRidge's RRIP and SUSP at: ftp://ftp.ymi.com/pub/rockridge/ Or be slicker with UDF at: http://www.osta.org/html/ostatech.html#udf 3) Other guy is still responsible for managing his new files. This can and will get oftly interesting oftly quickly. a) Other Guy goes to mount the media the originator gave him. He checks the superhappyfun-hash ID, which doesn't match his system. The disk is considered alien and goes to LCD mode. One could blindly assume that if Other Guy was able to mount the media (not necessarily be at console) that he ought to own everything on it. Reasonable. b) Other Guy (optionally) has his machine try a little harder to figure out what's actually going on. It could look at the ownership/permissions on the media itself, get a feel for what's what and where, then try to construct a filesystem utopia. This can, in and of itself, get oftly intersting oftly quickly. c) Other Guy (optionally) tweaks things himself. d) From there? He could designate himself the new originator of the media by relabeling the source ID to 'OGsuperhappyfun-hash'. Or, he could store his own o/p map .. locally or maybe on the media itself? He could also remaster the media (fuckwit2).. Ohh, what a tangled web we do weave ... :) Personally, I like the redesignation.. This could get very expensive, though, for large volumes and/or frequent system swaps (remap, move, remap, move, remap, move, remap.) As another example, a similar situation often comes up on the net with tar files containing UIDs and GIDs other than zero. No it doesn't. If you can't chown, touch, or chmod the extracted file to match the archived state, you won't. It's yours with your umask. ___ ___ . . ___ \/ |\ |\ \ _\_ /__ |-\ |-\ \__ To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: Need some advice regarding portable user IDs
On Wed, Aug 18, 1999 at 05:00:48AM -0400, Marc Ramirez wrote: I was thinking about this the other day, while mousting a series of floppy disks, and it seems to me that what you're looking for, at least for removable media, is a sort of single-user UFS that says Joe Schmoe owns this file system. our(*) msdos and ados filesystems (at least) do (sort of) this. Regards, -is *) where we = NetBSD To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: Need some advice regarding portable user IDs
On Wed, 18 Aug 1999, Ignatios Souvatzis wrote: On Wed, Aug 18, 1999 at 05:00:48AM -0400, Marc Ramirez wrote: I was thinking about this the other day, while mousting a series of floppy disks, and it seems to me that what you're looking for, at least for removable media, is a sort of single-user UFS that says Joe Schmoe owns this file system. our(*) msdos and ados filesystems (at least) do (sort of) this. Yeah. That's definitely where I'd start from. I think the main obstacle for any *BSD system in the ease-of-use department will be the must-mount-as-root issue. I don't know what's involved in getting that to work properly. Maybe the best solution is to have some sort of automount daemon. That would more than likely work for devices with media detection (Mac floppys come to mind... :) The devil's in the details... Marc. Regards, -is *) where we = NetBSD To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message -- Marc Ramirez - OwnerGreat Big Throbbing Brains mr...@gbtb.com http://www.gbtb.com Our brains throb, so yours won't have to! To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: Need some advice regarding portable user IDs
Yeah. That's definitely where I'd start from. I think the main obstacle for any *BSD system in the ease-of-use department will be the must-mount-as-root issue. huh? NetBSD (at least) allows non-root mounts (forced to nodev,nosuid, ..) if the user owns the mount point and has appropriate access to the underlying device.. I thought that was a 4.4Lite feature.. - Bill To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: Need some advice regarding portable user IDs
I had a thought on this It seems you are trying to provide the floppy model that users currently have with their PCs. User A writes the floppy, User B can read it and do whatever he wants... (I know this is Apple - but I'll stick to MSDOS for the discussion, and floppy indicates any removable media.) The reason for this is that MSDOS filesystems don't keep any user credentials. So, use B can read anything on any floppy he can find. Wouldn't creating a file system that didn't support user credentials solve your problem? Format the floppy in that file system and hand it to user B. When user B mounts it, he can do whatever he wants. User A is aware of how the floppy was created, as presumably some special step is required to create the discard credential file system on the floppy. Perhaps, such a file system could even be a UFS with a special marker somewhere? Then, this marker could be twiddled after the fact. For example, user A formats and makes a new UFS file system on the floppy, and copies the files over. Marks it as having no credentials (twiddles the bit) and hands it to user B. User B mounts it, with a regular UFS mount - but because the magic bit is twiddled GID and UID are ??? (here's where things break down, just what do you use for those? root/nobody/user's giduid?) Just some thoughts... - Dave Rivers - To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: Need some advice regarding portable user IDs
[ CC's trimmed ] On Wed, 18 Aug 1999, Bill Sommerfeld wrote: Yeah. That's definitely where I'd start from. I think the main obstacle for any *BSD system in the ease-of-use department will be the must-mount-as-root issue. huh? NetBSD (at least) allows non-root mounts (forced to nodev,nosuid, ..) if the user owns the mount point and has appropriate access to the underlying device.. Oh! I was under the impression that it just didn't work, even with correct perms, but I use FreeBSD. Lemme try it... Can't mount, even with 0666 on /dev/fd0. Maybe I'm being stupid. Wouldn't be the first time! Marc. I thought that was a 4.4Lite feature.. - Bill -- Marc Ramirez - OwnerGreat Big Throbbing Brains mr...@gbtb.com http://www.gbtb.com Our brains throb, so yours won't have to! To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: Need some advice regarding portable user IDs
On Wed, Aug 18, 1999 at 07:39:11AM -0400, Marc Ramirez wrote: Oh! I was under the impression that it just didn't work, even with correct perms, but I use FreeBSD. Lemme try it... Can't mount, even with 0666 on /dev/fd0. Maybe I'm being stupid. Wouldn't be the first time! You have to turn it on with a sysctl: sysctl -w vfs.usermount=1 I think. David. To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: Need some advice regarding portable user IDs
On 18 Aug, Marc Ramirez wrote: Oh! I was under the impression that it just didn't work, even with correct perms, but I use FreeBSD. Lemme try it... Can't mount, even with 0666 on /dev/fd0. Maybe I'm being stupid. Wouldn't be the first time! Marc. No miracle, the mount command has uid 0 hardcoded in the source where you are checked if you are allowed to use the mount command. I've been thinking of a neat way to re-organize that code myself for some time now, and thought I had come up with a solution (It's the reason I subscribed to this list in the first place). With the current discussion, I figure it has some major shortcomings. It adds some things too, though, like the permissions to audio devices, etc. Anyway, I wrote a paper about it that I can post here if anybody is interested. In that case, which format s liked best: plain text, TeX or postscript? I assume the first. -- Alban Hertroys. http://wit401310.student.utwente.nl == If there is a here-after, then there are much more people dead than alive. Even that much more that the number of living people is insignificant in comparison to the dead ones. Thus it is safe to say that we don't exist. To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: Need some advice regarding portable user IDs
Hi, huh? NetBSD (at least) allows non-root mounts (forced to nodev,nosuid, ..) if the user owns the mount point and has appropriate access to the underlying device.. I thought that was a 4.4Lite feature.. Yes, it was part of 4.4Lite2. And I still have the discussion from 1994 between Chris Demetriou, Kirk McKusick and myself which triggered this feature. (For the record, (the equivalent of) c...@netbsd.org was CC'ed on this discussion, and Theo kicked in later, too). Back then, I was arguing to use the mounter's uid, if it wasn't root, as owner for all files (well, we were discussing this more or less with respect to msdosfs only, so you have to set some uid as the owner of files anyway), but Chris was arguing that the man in front of the box should be able to mount some floppy for some other guy and give him access to his files. Actually substituting the mounter for the owner of the files should be quite easy to implement (since most filesystems now use the generic vaccess routine for access checking, it wouldn't even require changes to most filesystems), as the mounter is available in the mount structure anyway. (It is checked on an unmount, so only the mounter (and root, of course) can unmount a filesystem). However, if we'd make it an option to the generic mount code, it would probably be a good idea to make the substitution uid and gid extra arguments to the mount command for the reasons Chris mentioned back then. Ciao, Wolfgang PS: BTW, shouldn't this be on tech-k...@netbsd.org instead of tech-userlevel? -- w...@tools.de (Wolfgang Solfrank, TooLs GmbH) +49-228-985800 To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: BSD XFS Port BSD VFS Rewrite
In message pine.sol.3.96.990816105106.27345h-100...@marcy.nas.nasa.gov, Bill Studenmund writes: On Sat, 14 Aug 1999, Terry Lambert wrote: I am currently conducting a thorough study of the VFS subsystem in preparation for an all-out effort to port SGI's XFS filesystem to FreeBSD 4.x at such time as SGI gives up the code. Matt Dillon has written in hackers- that the VFS subsystem is presently not well understood by any of the active kernel code contributers and that it will be rewritten later this year. This is obviously of great concern to me in this port. It is of great concern to me that a rewrite, apparently because of non-understanding, is taking place at all. That concerns me too. Many aspects of the 4.4 vnode interface were there for specific reasons. Even if they were hack solutions, to re-write them because of a lack of understanding is dangerous as the new code will likely run into the same problems as before. :-) Matt doesn't represent the FreeBSD project, and even if he rewrites the VFS subsystem so he can understand it, his rewrite would face considerable resistance on its way into FreeBSD. I don't think there is reason to rewrite it, but there certainly are areas that need fixing. The use of the vfs_default to make unimplemented VOP's fall through to code which implements function, while well intentioned, is misguided. I beg to differ. The only difference is that we pass through multiple layers before we hit the bottom of the stack. There is no loss of functionality but significant gain of clarity and modularity. Adding a new VOP entails the same thing as it has always done. 3. The filesystem itself is broken for Y2038 The space which was historically reserved for the Y2038 fix (a 64 bit time_t) was absconeded with for subsecond resoloution. This change should be reverted, and fsck modified to re-zero the values, given a specific argument. That would break make(1) on contemporary machines. One other suggestion I've heard is to split the 64 bits we have for time into 44 bits for seconds, and 20 bits for microseconds. That's more than enough modification resolution, and also pushes things to past year 500,000 AD. Versioning the indoe would cover this easily. This would be misguided, and given the current speed of evolution lead to other problems far before 2038. Both struct timespec and struct timeval are major mistakes, they make arithmetic on timestamps an expensive operation. Timestamps should be stored as integers using an fix-point notations, for instance 64bits with 32bit fractional seconds (the NTP timestamp), or in the future 128/48. Extending from 64 to 128bits would be a cheap shift and increased precision and range could go hand in hand. If we don't want to extend the size of the timestamps before 2038, (and we should not only look at filesystems here), then the correct fix will be to move the epoch and use the inode version to mark this fact. -- Poul-Henning Kamp FreeBSD coreteam member p...@freebsd.org Real hackers run -current on their laptop. FreeBSD -- It will take a long time before progress goes too far! To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
VMWare: porting kernel modules to FreeBSD
Hi there, I had a look recently at the code for one of the kernel modules that VMWare requires (driver-only.tar), and it looks like something that should be portable to FreeBSD, although there is some messy stuff in it (assembly that seems to be using Linux specific stuff, brrr..) But anyway: it looks feasable. Is anyone already working on this, or are some people interested in helping with this? As far as I can see, the linux emulation is good enough to run the vmware program, all you need to do is implement /dev/vmmon and /dev/vmnet, given the fact that the code is written really unportable, so there is some rewriting to be done. Then with the KLD's vmmon,vmnet and linux you should be able to run vmware. Mark -- Mark Huizer - mark.hui...@nl.origin-it.com - x...@xaa.iae.nl Reality is an illusion caused by lack of alcohol To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: lpd security check for changed-file vs NFS
On Tue, 17 Aug 1999, Garance A Drosihn wrote: At 6:37 PM -0700 8/17/99, Matthew Dillon wrote: If you removed the stat test, I would simply get rid of the -s option entirely - require that all files be queued to the print spool. The administration would kill me. I would prefer to avoid that. (note that the check isn't completely removed, it's only nullified for NFS-mounted files. We use AFS for most things here, so the vast Couldn't you turn it off only for NFS mounted files? David scheidt Any advice on how to kick AIX so the st_dev+st_ino check will work right is also welcome. It baffles me why AIX does things the way it does. It kinda looks like the values it uses are pointers to some The joke about AIX is that it was created by aliens who were given the UNIX documentation, but no example system. I have seen very little that suggests this to be untrue. To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
[Fwd: First FreeMWare release!]
Hello: I thought that some of you might be interested in this. If this message should not have been posted to this list please let me know. Darren Wiebe dkwi...@hagenhomes.com---BeginMessage--- Hey folks, It's been awhile. Sorry, I've been busy working on other fronts, but I did have time to put together a first go at the virtualization framework we need for FreeMWare. ftp://ftp.freemware.org/pub/freemware/fmw-990817b.tar.gz Which if you're having problems, is really just: ftp://bochs.com/pub/freemware/fmw-990817b.tar.gz Attached is the fmw-990817b.README that goes along with it. -KevinThis is the beginnings to the virtualization framework that we need for FreeMWare. I have compiled it and run it on: Linux 2.0.36 (came with Red Hat 5.2) Linux 2.2.5-15 (came with Red Hat 6.0) I've made an attempt to keep things modularized in respect to the host OS. Anything OS specific should be put in kernel/host-xyz.c or include/host-xyz.h. This code is extremely experimental, and will likely result in a system crash, and who knows what other ill effects. Don't run it on a system with any important data on it, and make liberal user of the sync command! Expect to have to use the power button. We have to clean up the ioctl interface, using macros instead of passing raw numbers I pulled out of a hat, etc, etc. This was my first Linux kernel driver, so don't assume I did anything correctly. :^) -Kevin Directions for install etc. --- Go into the user directory and type make. user cd user user make Go into the kernel directory and type make. user cd ../kernel user make Make the device node for freemware, as root user: root mknod /dev/freemware0 c 63 0 Fire up the kernel module: root insmod fmw.o As a regular user, fire up the user program: user cd ../kernel user ./user # defaults to 1 iteration -or user ./user 10 # any number of iterations here Whenever you recompile the kernel stuff, or want to get rid of the kernel module, remove the old kernel module first. As root: root rmmod fmw Each time the host switches to the monitor/guest environment and runs that context. Normally, execution will continue in that context until a hardware interrupt occurs or other exception. The monitor interrupt handler switches back to the host context to handle the interrupt. The monitor/guest context will not resume execution until the next ioctl() call from the user program. NOTE: By default, I have a macro called TEST_MODE set to 1, in kernel/monitor.c. In this mode, rather than waiting until an interrupt hits, control will be passed immediately back to the the host. This is to test that the switching back/forth between host/monitor+guest works, without interrupts. I have not yet got interrupts redirection working properly. If you set TEST_MODE to 0 and recompile, an interrupt seems to cause everything to switch back to the host context, but then the system hangs after a short period of time, or causes a kernel oops. I have not tracked this down yet. It does register in /proc/freemware, that a redirection of an IRQ0 occurred. Something is getting screwed up with interrupts in the kernel perhaps, after the software interrupt call to invoke the host kernel interrupt handler for the hardware interrupt we received while in guest context. Any ideas on what the problem is? ---End Message---
Re: Need some advice regarding portable user IDs
Wilfredo == Wilfredo Sanchez wsanc...@apple.com writes: Wilfredo I think the desired behaviour would be that since this is Wilfredo effectively now Joe's zip disk, he should be able to do as he Wilfredo pleases. One proposal might be to give the console user the Wilfredo equivalent of root's priveledges on any removeable media he inserts Right now, with MSDOS floppies, with no userids, the user owning the mount point gets his userid applied to the entire disk. This allows me to mount my floppies, etc. on mount points that I own, and I own all the resulting files. I think you want the same thing as an option for UFS mounts. Wilfredo Presumably the console user is the one fiddling with the external Wilfredo media. I don't think this is entirely true, and isn't a useful or enforceable restriction. Wilfredo As another example, a similar situation often comes up on the net Wilfredo with tar files containing UIDs and GIDs other than zero. Only with SYSV chown semantics that allow non-root to make files not owned by them. Wilfredo So perhaps there needs to be a way to mark a drive as local Wilfredo (perhaps with a host ID of some sort?) and noticing when a volume is Wilfredo foreign that you need to do something special. Certainly you might Wilfredo want to ignore setuid bits, for starters. This could simply be Wilfredo something like fstab, which lists the local drives, and everything Wilfredo else isn't considered local. This is solved by having the nouid or somesuch thing add to /etc/fstab by the admin who knows which ones should be trusted. Linux provides user to get the behaviour that we get for free. Wilfredo Has anyone dived into this area already and have some experience Wilfredo with it? It's confusing me pretty good. See what ATT did with RFS. This may be a negative example (i.e. don't do this). :!mcr!:| Cow#1: Are you worried about getting Mad Cow Disease? Michael Richardson | Cow#2: No. I'm a duck. Home: A HREF=http://www.sandelman.ottawa.on.ca/People/Michael_Richardson/Bio.html;m...@sandelman.ottawa.on.ca/A. PGP key available. To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: VMWare: porting kernel modules to FreeBSD
Hello: One other thing that you might be interested in is the fact that Freemware has its first release out. ***It is not nearly complete yet*** They have something out though, and it needs people to work on the code for FreeBSD. Right now they are working mostly on the Linux stuff where it is OS sensitive. However, it would be appreciated if somebody wanted to work on the FreeBSD specific code. Darren Wiebe I had a look recently at the code for one of the kernel modules that VMWare requires (driver-only.tar), and it looks like something that should be portable to FreeBSD, although there is some messy stuff in it (assembly that seems to be using Linux specific stuff, brrr..) But anyway: it looks feasable. Is anyone already working on this, or are some people interested in helping with this? To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: VMWare: porting kernel modules to FreeBSD
On Wed, 18 Aug 1999, Mark Huizer wrote: Hi there, I had a look recently at the code for one of the kernel modules that VMWare requires (driver-only.tar), and it looks like something that should be portable to FreeBSD, although there is some messy stuff in it (assembly that seems to be using Linux specific stuff, brrr..) But anyway: it looks feasable. Is anyone already working on this, or are some people interested in helping with this? As far as I can see, the linux emulation is good enough to run the vmware program, all you need to do is implement /dev/vmmon and /dev/vmnet, given the fact that the code is written really unportable, so there is some rewriting to be done. Then with the KLD's vmmon,vmnet and linux you should be able to run vmware. WooHoo! Well, I can't celebrate quite yet, but I'll definately be buying a copy of VMWare if anyone gets this to work (WAY above my head, so no help from me, sorry). More than likely, many people other than myself would also buy a copy of VMWare for Linux just to run under FreeBSD, so maybe you can convince VMWare, Inc. to give you or whoever else decides to tackle this some monetary compensation? It would also help to bring us a step closer to a native FreeBSD version of VMWare, since some (most?) of the work would already be done for them (the porting of vmmon and vmnet). -- Chris Dillon - cdil...@wolves.k12.mo.us - cdil...@inter-linc.net FreeBSD: The fastest and most stable server OS on the planet. For Intel x86 and Alpha architectures (SPARC under development). ( http://www.freebsd.org ) One should admire Windows users. It takes a great deal of courage to trust Windows with your data. To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
async v. sync v. default mode on ufs
It was pointed out to me by a co-worker that FreeBSD has actually three modes of operation for mounting ufs filesystems. Could someone please explain to me, and him, the differences between the three. Also does anyone knows how these compare to sync and async on Linux? Just a btw, you seem to be able to set sync and async on a filesystem at the same time. What gives? dlane# mount -u -o sync,async,noatime /var dlane-printer# mount /dev/wd0s1a on / (local, noatime, synchronous, writes: sync 405 async 23) /dev/wd0s1e on /usr (local, noatime, synchronous, writes: sync 118365 async 83882) /dev/wd0s1f on /var (asynchronous, local, noatime, synchronous, writes: sync 93 async 216) procfs on /proc (local) dlane# /var looks questionable... I would never try that on purpose, but it just kinda happened, and when I looked at it I though wow that's broken! Larry Lile l...@stdio.com To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Question(s) regarding sys/vm/swap_pager.c
This may seem to be a ridiculous question... (sorry) I have a question specifically regarding sys/vm/swap_pager.c, I'm not very familiar with sys/vm/*, but I've noticed that the value of the static int no_swap_space (which is initially set to 1) is almost never checked. The only times that this value appears to be changed is during checks of vm_swap_size in swap_pager_putpages and swap_pager_copy. Is this value actually ever checked to determine anything? What exactly is its purpose? Thanks, Bosko. To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: Need some advice regarding portable user IDs
the only portable user ids are names as strings. you can kludge and kludge but at some point the kludges will pile up too high, fall over, and hurt somebody. how many new options did we see proposed in the last 12 hours for this problem? ron To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: async v. sync v. default mode on ufs
Sorry, I blew the CC: line... On Wed, 18 Aug 1999, Larry Lile wrote: It was pointed out to me by a co-worker that FreeBSD has actually three modes of operation for mounting ufs filesystems. Could someone please explain to me, and him, the differences between the three. Also does anyone knows how these compare to sync and async on Linux? Just a btw, you seem to be able to set sync and async on a filesystem at the same time. What gives? dlane# mount -u -o sync,async,noatime /var dlane-printer# mount /dev/wd0s1a on / (local, noatime, synchronous, writes: sync 405 async 23) /dev/wd0s1e on /usr (local, noatime, synchronous, writes: sync 118365 async 83882) /dev/wd0s1f on /var (asynchronous, local, noatime, synchronous, writes: sync 93 async 216) procfs on /proc (local) dlane# /var looks questionable... I would never try that on purpose, but it just kinda happened, and when I looked at it I though wow that's broken! Larry Lile l...@stdio.com To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: Question(s) regarding sys/vm/swap_pager.c
:This may seem to be a ridiculous question... (sorry) : :I have a question specifically regarding sys/vm/swap_pager.c, :I'm not very familiar with sys/vm/*, but I've noticed that the value of :the static int no_swap_space (which is initially set to 1) is almost never :checked. The only times that this value appears to be changed is during :checks of vm_swap_size in swap_pager_putpages and swap_pager_copy. : :Is this value actually ever checked to determine anything? What exactly is :its purpose? : :Thanks, :Bosko. Under -STABLE no_swap_space appears to handle the startup case where swap has not yet been initialized. It prevents paging to swap from occuring until the swap system is both initialized and assigned at least one swap partition. Under -CURRENT this variable does not exist. The vm/swap_pager.c in STABLE has been depreciated - that is, it has been completely rewritten in CURRENT. -Matt Matthew Dillon dil...@backplane.com To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: VMWare: porting kernel modules to FreeBSD
On Wed, Aug 18, 1999 at 08:10:28AM -0600, Darren WIebe wrote: Hello: One other thing that you might be interested in is the fact that Freemware has its first release out. ***It is not nearly complete yet*** They have something out though, and it needs people to work on the code for FreeBSD. Right now they are working mostly on the Linux stuff where it is OS sensitive. However, it would be appreciated if somebody wanted to work on the FreeBSD specific code. I think that for my purpose it might be interesting, but taking way too long to become productive enough. I'm one of the big group of You must run Outlook! And I can probably arrange for the license, so no problem with using VMWare if possible. I'd prefer using FreeBSD though mark -- Mark Huizer - mark.hui...@nl.origin-it.com - x...@xaa.iae.nl Faith is good, but skepticism is better (Guiseppe Verdi) To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: Onstream?
In message 19990817230910.a6...@netmonger.net Christopher Masto writes: : Do they still not allow you to release the specs? How is the code : going to become part of FreeBSD if they won't allow its release? I didn't sign an NDA to get my copy of the spec or the hardware... Neither did I. But I was requested by Jim Jonez of Onstream to not release the specs. I also don't have time to devote to the onstream IDE project. I'm looking for someone with the kernel skills and track record to take over for me. I thought Soren was doing it... To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: Onstream?
Oh- to give my status for the SCSI version: I lost time because the day and ahlf I had allocated to actually work on this got blown away by -current instabilities. I'll try and get another shot at it Sunday (*my* work schedule is such that right now that I don't have an employer I can stick this work for.) To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: Onstream?
In message pine.bsf.4.05.9908180849090.79233-100...@semuta.feral.com Matthew Jacob writes: : Neither did I. But I was requested by Jim Jonez of Onstream to not release : the specs. Same here... Just pointing out that OnStream is being cooperative. : I also don't have time to devote to the onstream IDE project. I'm : looking for someone with the kernel skills and track record to take : over for me. : : I thought Soren was doing it... He is, but since I also have hardware and docs to contribute to the effort and since I didn't have time, I thought I'd not horde the hardware if there was someone out there that did have the time and would be willing and able to help out. Warner To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: Need some advice regarding portable user IDs
On Wed, 18 Aug 1999, David Malone wrote: On Wed, Aug 18, 1999 at 07:39:11AM -0400, Marc Ramirez wrote: Oh! I was under the impression that it just didn't work, even with correct perms, but I use FreeBSD. Lemme try it... Can't mount, even with 0666 on /dev/fd0. Maybe I'm being stupid. Wouldn't be the first time! You have to turn it on with a sysctl: sysctl -w vfs.usermount=1 I think. So it is. Thanks. Marc. -- Marc Ramirez - OwnerGreat Big Throbbing Brains mr...@gbtb.com http://www.gbtb.com Our brains throb, so yours won't have to! To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: VMWare: porting kernel modules to FreeBSD
On Wed, Aug 18, 1999 at 09:16:29AM -0500, Chris Dillon wrote: On Wed, 18 Aug 1999, Mark Huizer wrote: Hi there, I had a look recently at the code for one of the kernel modules that VMWare requires (driver-only.tar), and it looks like something that should be portable to FreeBSD, although there is some messy stuff in it (assembly that seems to be using Linux specific stuff, brrr..) But anyway: it looks feasable. Is anyone already working on this, or are some people interested in helping with this? As far as I can see, the linux emulation is good enough to run the vmware program, all you need to do is implement /dev/vmmon and /dev/vmnet, given the fact that the code is written really unportable, so there is some rewriting to be done. Then with the KLD's vmmon,vmnet and linux you should be able to run vmware. WooHoo! Well, I can't celebrate quite yet, but I'll definately be buying a copy of VMWare if anyone gets this to work (WAY above my head, so no help from me, sorry). More than likely, many people other than myself would also buy a copy of VMWare for Linux just to run under FreeBSD, so maybe you can convince VMWare, Inc. to give you or whoever else decides to tackle this some monetary compensation? It would also help to bring us a step closer to a native FreeBSD version of VMWare, since some (most?) of the work would already be done for them (the porting of vmmon and vmnet). We will _definitely_ buy VMWare if we can run it on a FreeBSD host system - I believe that I've told them so in the past. Joe -- Josef KarthauserFreeBSD: How many times have you booted today? Technical Manager Viagra for your server (http://www.uk.freebsd.org) Pavilion Internet plc. [...@pavilion.net, j...@uk.freebsd.org, j...@tao.org.uk] To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: RE: Need some advice regarding portable user IDs
| when new media is available and it will try to mount it. The present | behaviour in Mac OS X Server is that everything mounted this way is | trusted, though the Finder should be requesting nosetuid; I should | check that. It's also possible that the kernel will number drives in | a different order (eg. /dev/sd0a this boot might be /dev/sd1a next | boot), particularly if you are shuffling drives around. (Remember | that hot-swap complicates this.) So a string like /dev/sd0a in | fstab is fragile, and it works out better if we keep that information | on the mounted media rather than on the root volume. | | What happens with conflicting names? Append _1, _2, etc. -Fred -- Wilfredo Sanchez, wsanc...@apple.com Apple Computer, Inc., Core Operating Systems / BSD Technical Lead, Darwin Project 1 Infinite Loop, 302-4K, Cupertino, CA 95014 To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: OpenLDAP tests?
Found it. This let the tests run fine for me. === RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/daemon.c,v retrieving revision 1.14.2.7.2.8 retrieving revision 1.14.2.7.2.9 diff -u -r1.14.2.7.2.8 -r1.14.2.7.2.9 --- servers/slapd/daemon.c 1999/03/02 18:30:05 1.14.2.7.2.8 +++ servers/slapd/daemon.c 1999/07/20 05:10:35 1.14.2.7.2.9 @@ -390,7 +390,6 @@ void slap_set_shutdown( int sig ) { - Debug( LDAP_DEBUG_ANY, slapd got shutdown signal %d\n, sig, 0, 0 ); slapd_shutdown = 1; ldap_pvt_thread_kill( listener_tid, LDAP_SIGUSR1 ); @@ -401,8 +400,6 @@ void slap_do_nothing( int sig ) { - Debug( LDAP_DEBUG_TRACE, slapd got do_nothing signal %d\n, sig, 0, 0 ); - /* reinstall self */ (void) SIGNAL( sig, slap_do_nothing ); } On Wed, 18 Aug 1999, Steven Ames wrote: Thanks! I'll check the site (but would appreciate your sending it to me also). -Steve On Tue, 17 Aug 1999, Jaye Mathisen wrote: There is a patch that fixes this, I found it, and submitted a bug report on their web page. I don't have it handy, but if you go to www.openldap.org and to their faq-o-matic, and it should be in there. I'll see if I can find it and send it to you in the mean time. On Tue, 17 Aug 1999, Steven Ames wrote: I've got a project at work where using LDAP would make my life much simpler. So... on my home PC (running FBSD 4.0-CURRENT 8.2.99) I installed openldap from the ports collection (V1.2.3...ports cvsuped about an hour ago from cvsup5.freebsd.org). I cd into the test area /usr/ports/work/ldap/tests and type 'make'. Looking good... until... on test0003-search it stops. It just holds. My CPU is up to 99% and its chewed up 18 minutes of CPU before I hit Ctrl-C and stopped it. I did a 'make clean' moved scripts/test0003-seach to scripts/test0009-search (so it would run last) and tried again. Same results on test0004-modify. *sigh* Do the tests just not run? I didn't dare to just go ahead and use it as I'm not familiar enough with LDAP to judge if a failure is my fault or a system problem. I'd feel a lot safer if the tests all passed so that if anything goes wrong from that point I can call it user error. Anyone? -Steve To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: BSD XFS Port BSD VFS Rewrite
I'm not familiar with the VFS_default stuff. All the vop_default_desc routines in NetBSD point to error routines. In FreeBSD, they now point to default routines that are *not* error routines. This is the problem. I admit the change was very well intentioned, since it made the code a hell of a lot more readable, but choosing between readable and additional function, I take function over form (I think the way I would have fixed the readability is by making the operations that result in the descriptor set for a mounted FS instance be both discrete, and named for their specific function). As I recall most of FBSD's default routines are also error routines, if the exceptions were a problem it would would be trivial to fix. You would have to de-collapse several VOP lists that have been pre-collapsed. The pre-collapse is also an issue for stacking, since the collapse is supposed to be late bound to the stacking operation itself. This lets you revisit it later when you need to add a new VOP into the system, so that there's a NULL pointer in the VOP slot for older FS's, in case you stack on top of them. This is particularly true of an FS stacked on an FS stacked on a proxy layer. I think fixing resource allocation/deallocation for things like vnodes, cnbufs, and locks are a higher priority for now. There are examples such as in detached threading where it might make sense for the detached child to be responsible for releasing resources allocated to it by the parent, but in stacking this model is very messy and unnatural. This is why the purpose of VOP_ABORTOP appears to be to release cnbufs but this is really just an ugly side effect. With stacking the code that allocates should be the code that deallocates. Substitute, code with layer to be more correct. Yes. That's actually maintenance, not rewrite, and I think it's very important to address. I'm rather pleased with the way the NFS stuff has turned out (so far), and I was the one calling for a return to first principles (i.e. a rewrite from the specification). I fixed a lot of the vnode and locking cases, unfortunately the ones that remain are probably ugly cases where you have to reacquire locks that had to be unlocked somewhere in the executing layer. See VOP_RENAME for an example. Compare the number of WILLRELEs in vnode_if.src in FreeBSD and NetBSD, ideally there'd be none. The way I handled this in the rename case on my hacking box was by adding a flag to the namei() call. You could call this flag the same as WILLRELE, but it had inverse semantics. Really, this is another issue of reflexivity being absent from an interface. You really don't want asymmetric interfaces (VOP_LOCK is an example, in many cases, based on internal use in the FFS). Terry Lambert te...@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers. To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: BSD XFS Port BSD VFS Rewrite
In message 199908181716.kaa12...@usr02.primenet.com, Terry Lambert writes: I'm not familiar with the VFS_default stuff. All the vop_default_desc routines in NetBSD point to error routines. In FreeBSD, they now point to default routines that are *not* error routines. This is the problem. I admit the change was very well intentioned, since it made the code a hell of a lot more readable, but choosing between readable and additional function, I take function over form (I think the way I would have fixed the readability is by making the operations that result in the descriptor set for a mounted FS instance be both discrete, and named for their specific function). As I recall most of FBSD's default routines are also error routines, if the exceptions were a problem it would would be trivial to fix. You would have to de-collapse several VOP lists that have been pre-collapsed. You are talking gibberish here. Please show code where this is a problem. -- Poul-Henning Kamp FreeBSD coreteam member p...@freebsd.org Real hackers run -current on their laptop. FreeBSD -- It will take a long time before progress goes too far! To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: BSD XFS Port BSD VFS Rewrite
On Wed, 18 Aug 1999, Poul-Henning Kamp wrote: In message pine.sol.3.96.990816105106.27345h-100...@marcy.nas.nasa.gov, Bill Studenmund writes: On Sat, 14 Aug 1999, Terry Lambert wrote: Matt doesn't represent the FreeBSD project, and even if he rewrites the VFS subsystem so he can understand it, his rewrite would face considerable resistance on its way into FreeBSD. I don't think there is reason to rewrite it, but there certainly are areas that need fixing. Whew! That's reasuring. I agree there are things which need fixing. It'd be nice if both NetBSD and FreeBSD could fix things in the same way. The use of the vfs_default to make unimplemented VOP's fall through to code which implements function, while well intentioned, is misguided. I beg to differ. The only difference is that we pass through multiple layers before we hit the bottom of the stack. There is no loss of functionality but significant gain of clarity and modularity. If I understood the issue, it is that the leaf fs's (the bottom ones) would use a default routine for non-error functionality. I think Terry's point (which I agree with) was that a leaf fs's default routine should only return errors. 3. The filesystem itself is broken for Y2038 One other suggestion I've heard is to split the 64 bits we have for time into 44 bits for seconds, and 20 bits for microseconds. That's more than enough modification resolution, and also pushes things to past year 500,000 AD. Versioning the indoe would cover this easily. This would be misguided, and given the current speed of evolution lead to other problems far before 2038. Both struct timespec and struct timeval are major mistakes, they make arithmetic on timestamps an expensive operation. Timestamps should be stored as integers using an fix-point notations, for instance 64bits with 32bit fractional seconds (the NTP timestamp), or in the future 128/48. I like that idea. One thing I should probably mention is that I'm not suggesting we ever do arighmetic on the 44/20 number, just we store it that way. struct inode would contain time fields in whatever format the host prefers, with the 44/20 stuff only being in struct dinode. Converting from 44/20 would only happen on initial read. Math would happen on the host format version. :-) If time structures go to 64/32 fixed-point math, then my suggestion can be re-phrased as storing 44.20 worth of that number in the on-disk inode. Extending from 64 to 128bits would be a cheap shift and increased precision and range could go hand in hand. I doubt we need more than 64 bit times. 2^63 seconds works out to 292,279,025,208 years, or 292 (american) billion years. Current theories put the age of the universe at I think 12 to 16 billion years. So 64-bit signed times in seconds will cover from before the big bang to way past any time we'll be caring about. :-) Take care, Bill To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: BSD XFS Port BSD VFS Rewrite
In message pine.sol.3.96.990818101005.14430b-100...@marcy.nas.nasa.gov, Bill Studenmund writes: Whew! That's reasuring. I agree there are things which need fixing. It'd be nice if both NetBSD and FreeBSD could fix things in the same way. Well, that still remains to be seen... The use of the vfs_default to make unimplemented VOP's fall through to code which implements function, while well intentioned, is misguided. I beg to differ. The only difference is that we pass through multiple layers before we hit the bottom of the stack. There is no loss of functionality but significant gain of clarity and modularity. If I understood the issue, it is that the leaf fs's (the bottom ones) would use a default routine for non-error functionality. I think Terry's point (which I agree with) was that a leaf fs's default routine should only return errors. I beg to differ. It is far more likely, in my mind, that you will want to handle a currently existing, unimplemented VOP than add a new one. Using the default for all unimplemented VOPs makes this possible, using the same logic which makes adding a VOP possible. Go back and review the diffs from when I did this, and my other argument why this is a good idea should be obvious. I doubt we need more than 64 bit times. 2^63 seconds works out to 292,279,025,208 years, or 292 (american) billion years. Current theories put the age of the universe at I think 12 to 16 billion years. So 64-bit signed times in seconds will cover from before the big bang to way past any time we'll be caring about. :-) But we cannot do time in seconds resolution, we need to resolve at least the cpu clock frequency, which right now is approaching 1GHz (30bit!) -- Poul-Henning Kamp FreeBSD coreteam member p...@freebsd.org Real hackers run -current on their laptop. FreeBSD -- It will take a long time before progress goes too far! To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: BSD XFS Port BSD VFS Rewrite
Both struct timespec and struct timeval are major mistakes, they make arithmetic on timestamps an expensive operation. Timestamps should be stored as integers using an fix-point notations, for instance 64bits with 32bit fractional seconds (the NTP timestamp), or in the future 128/48. ... Extending from 64 to 128bits would be a cheap shift and increased precision and range could go hand in hand. I doubt we need more than 64 bit times. 2^63 seconds works out to 292,279,025,208 years, or 292 (american) billion years. I think Poul's point is that in the future seconds is probably way too coarse grained. Computer's are getting faster all the time, and in the future we may need 64 seconds, plus an additional 64 bits for the fractions of a second, which will be necessary for accurate timekeeping. Nate To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: BSD XFS Port BSD VFS Rewrite
On Wed, 18 Aug 1999, Poul-Henning Kamp wrote: In message pine.sol.3.96.990818101005.14430b-100...@marcy.nas.nasa.gov, Bill Studenmund writes: Whew! That's reasuring. I agree there are things which need fixing. It'd be nice if both NetBSD and FreeBSD could fix things in the same way. Well, that still remains to be seen... :-) I doubt we need more than 64 bit times. 2^63 seconds works out to 292,279,025,208 years, or 292 (american) billion years. Current theories put the age of the universe at I think 12 to 16 billion years. So 64-bit signed times in seconds will cover from before the big bang to way past any time we'll be caring about. :-) I was unclear. I was refering to the seconds side of things. Sub-second resolution would need other bits. Take care, Bill To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: BSD XFS Port BSD VFS Rewrite
In message 199908181737.laa03...@mt.sri.com, Nate Williams writes: Both struct timespec and struct timeval are major mistakes, they make arithmetic on timestamps an expensive operation. Timestamps should be stored as integers using an fix-point notations, for instance 64bits with 32bit fractional seconds (the NTP timestamp), or in the future 128/48. ... Extending from 64 to 128bits would be a cheap shift and increased precision and range could go hand in hand. I doubt we need more than 64 bit times. 2^63 seconds works out to 292,279,025,208 years, or 292 (american) billion years. I think Poul's point is that in the future seconds is probably way too coarse grained. Computer's are getting faster all the time, and in the future we may need 64 seconds, plus an additional 64 bits for the fractions of a second, which will be necessary for accurate timekeeping. No, 64bits of fractions will not be needed, at least until we start using FreeBSD as embedded computer in Heisenbergcompensators. I recall somebody saying that 100GHz was the highest realistic (or lowest unrealistic) clock frequency using digital logic, the argument was pretty convincing physically: light speed sets a size limit, that prescripes some voltage gradients which in turn produces EMC which in turn makes sure nothing works. Also various tunnel effects, and the general heisenberisms took their toll. State of the art time interval measuring equipment is into the a few picosecond territory (http://www.timing.com/). Based on that I would say that 40 to 48 bits will be OK for the fraction. As a sidebar: I had a kernel running which used 32i.32f timestamps and converted to timeval timespec as needed and it actually made a lot of code look a lot more sane. I may go back and do it some day. -- Poul-Henning Kamp FreeBSD coreteam member p...@freebsd.org Real hackers run -current on their laptop. FreeBSD -- It will take a long time before progress goes too far! To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: BSD XFS Port BSD VFS Rewrite
In message pine.sol.3.96.990818104932.14430d-100...@marcy.nas.nasa.gov, Bill Studenmund writes: I doubt we need more than 64 bit times. 2^63 seconds works out to 292,279,025,208 years, or 292 (american) billion years. Current theories put the age of the universe at I think 12 to 16 billion years. So 64-bit signed times in seconds will cover from before the big bang to way past any time we'll be caring about. :-) I was unclear. I was refering to the seconds side of things. Sub-second resolution would need other bits. Yes, but we need subsecond in the filesystems. Think about make(1) on a blinding fast machine... -- Poul-Henning Kamp FreeBSD coreteam member p...@freebsd.org Real hackers run -current on their laptop. FreeBSD -- It will take a long time before progress goes too far! To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: BSD XFS Port BSD VFS Rewrite
On Wed, 18 Aug 1999, Poul-Henning Kamp wrote: Matt doesn't represent the FreeBSD project, and even if he rewrites the VFS subsystem so he can understand it, his rewrite would face considerable resistance on its way into FreeBSD. I don't think there is reason to rewrite it, but there certainly are areas that need fixing. You are misinformed as far as I know.. From discussions I saw, th main architect of a VFS rewrite would be Kirk, and Matt would be acting as Kirk's right-hand-man. The use of the vfs_default to make unimplemented VOP's fall through to code which implements function, while well intentioned, is misguided. I beg to differ. The only difference is that we pass through multiple layers before we hit the bottom of the stack. There is no loss of functionality but significant gain of clarity and modularity. Well I believe that Kirk considers them misguided too, but he stated that he wasn't going to remove them without serious thought about the alternatives. To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: BSD XFS Port BSD VFS Rewrite
Matt doesn't represent the FreeBSD project, and even if he rewrites the VFS subsystem so he can understand it, his rewrite would face considerable resistance on its way into FreeBSD. I don't think there is reason to rewrite it, but there certainly are areas that need fixing. You are misinformed as far as I know.. From discussions I saw, th main architect of a VFS rewrite would be Kirk, and Matt would be acting as Kirk's right-hand-man. Which discussions are these? Are they archived somewhere? Nate To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: BSD XFS Port BSD VFS Rewrite
In message pine.bsf.3.95.990818105716.12306a-100...@current1.whistle.com, Julian Elischer writes: On Wed, 18 Aug 1999, Poul-Henning Kamp wrote: Matt doesn't represent the FreeBSD project, and even if he rewrites the VFS subsystem so he can understand it, his rewrite would face considerable resistance on its way into FreeBSD. I don't think there is reason to rewrite it, but there certainly are areas that need fixing. You are misinformed as far as I know.. From discussions I saw, th main architect of a VFS rewrite would be Kirk, and Matt would be acting as Kirk's right-hand-man. I bet that Matt and Kirk uses rewrite for two very different concepts. The resulting reviews will be equally different. The use of the vfs_default to make unimplemented VOP's fall through to code which implements function, while well intentioned, is misguided. I beg to differ. The only difference is that we pass through multiple layers before we hit the bottom of the stack. There is no loss of functionality but significant gain of clarity and modularity. Well I believe that Kirk considers them misguided too, but he stated that he wasn't going to remove them without serious thought about the alternatives. I'll be more than ready to discuss this with Kirk. -- Poul-Henning Kamp FreeBSD coreteam member p...@freebsd.org Real hackers run -current on their laptop. FreeBSD -- It will take a long time before progress goes too far! To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: BSD XFS Port BSD VFS Rewrite
2. Advisory locks are hung off private backing objects. I'm not sure. The struct lock * is only used by layered filesystems, so they can keep track both of the underlying vnode lock, and if needed their own vnode lock. For advisory locks, would we want to keep track both of locks on our layer and the layer below? Don't we want either one or the other? i.e. layers bypass to the one below, or deal with it all themselves. I think you want the lock on the intermediate layer: basically, on every vnode that has data associated with it that is unique to a layer. Let's not forget, also, that you can expose a layer into the namespace in one place, and expose it covered under another layer, at another. If you locked down to the backing object, then the only issue you would be left with is one or more intermediate backing objects. Right. That exported struct lock * makes locking down to the lowest-level file easy - you just feed it to the lock manager, and you're locking the same lock the lowest level fs uses. You then lock all vnodes stacked over this one at the same time. Otherwise, you just call VOP_LOCK below and then lock yourself. I think this defeats the purpose of the stacking architecture; I think that if you look at an unadulterated NULLFS, you'll see what I mean. Intermediate FS's should not trap VOP's that are not applicable to them. One of the purposes of doing a VOP_LOCK on intermediate vnodes that aren't backing objects is to deal with the global vnode pool management. I'd really like FS's to own their vnode pools, but even without that, you don't need the locking, since you only need to flush data on vnodes that are backing objects. If we look at a stack of FS's with intermediate exposure into the namespace, then it's clear that the issue is really only applicable to objects that act as a backing store: -- -- FS Exposed in hierarchyBacking object -- -- top yes no intermediate_1 no no intermediate_2 no yes intermediate_3 yes no bottom no yes -- -- So when we lock top, we only lock in intermediate_2 and in bottom. Then we attempt to lock in intermediate_3, but it fails: not because there is a lock on the vnode in intermediate_3, but because there is a lock in bottom. It's unnecessary to lock the vnodes in the intermediate path, or even at the exposure level, unless they are vnodes that have an associated backing store. The need to lock in intermediate_2 exists because it is a translation layer or a namespace escape. It deals with compression, or it deals with file-as-a-directory folding, or it deals with file-hiding (perhaps for a quoata file), etc.. If it didn't, it wouldn't need backing store (and therefore wouldn't need to be locked). For a layer with an intermediate backing object, I'm prepared to declare it special, and proxy the operation down to any inferior backing object (e.g. a union FS that adds files from two FS's together, rather than just directoriy entry lists). I think such layers are the exception, not the rule. Actually isn't the only problem when you have vnode fan-in (union FS)? i.e. a plain compressing layer should not introduce vnode locking problems. If it's a block compression layer, it will. Also a translation layer; consider a pure Unicode system that wants to remotely mount an FS from a legacy system. To do this, it needs to expand the pages from the legacy system [only it can, since the legacy system doesn't know about Unicode] in a 2:1 ratio. Now consider doing a byte-range lock on a file on such a system. To propogate the lock, you have to do an arithmetic conversion at the translation layer. This gets worse if the lower end FS is exposed in the namespace as well. You could make the same arguments for other types of translation or namespace escapes. I think that export policies are the realm of /etc/exports. The problem with each FS implementing its own policy, is that this is another place that copyinstr() gets called, when it shouldn't. Well, my thought was that, like with current code, most every fs would just call vfs_export() when it's presented an export operation. But by retaining the option of having the fs do its own thing, we can support different export semantics if desired. I think this bears down on whether the NFS server VFS consumer is allowed access to the VFS stack at the particular intermediate layer. I think this is really an administrative policy decision, and not an option for the VFS. I think it would be bad if a given VFS could refuse to participate in a stacking
Re: BSD XFS Port BSD VFS Rewrite
:On Wed, 18 Aug 1999, Poul-Henning Kamp wrote: : : Matt doesn't represent the FreeBSD project, and even if he rewrites : the VFS subsystem so he can understand it, his rewrite would face : considerable resistance on its way into FreeBSD. I don't think : there is reason to rewrite it, but there certainly are areas : that need fixing. : :You are misinformed as far as I know.. From discussions I saw, th :main architect of a VFS rewrite would be Kirk, and Matt would be acting as :Kirk's right-hand-man. Yes, this is correct. Kirk is going to be the main architect. I have been heavily involved and will continue to be. :The use of the vfs_default to make unimplemented VOP's : : I beg to differ. The only difference is that we pass through : multiple layers before we hit the bottom of the stack. There is :... :Well I believe that Kirk considers them misguided too, but he stated that :he wasn't going to remove them without serious thought about the alternatives. The vfs op callout layering has not been on the radar screen. There are much too many other more serious problems. I really doubt that any changes will be made to this piece any time in the next year or even two, if at all. The main items on the radar screen are related to buffer management (struct buf stuff. For example, preventing VM blockages due to pages being wired by write I/O's), VFS locking and reference count issues (for example, namei lookups, blockages in the pager and syncer due to vnode locks held by blocked processes, etc...), and interactions between VFS and VM (for example: moving away from VOP_READ/VOP_WRITE and moving more towards a getpages/putpages model). None of the items have been set in stone yet. We're waiting for Kirk to get back from vacation and get back into the groove. -Matt To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: BSD XFS Port BSD VFS Rewrite
The discussions between Kirk and matt over a glass of beer/drink at kirk's party at USENIX and at the Bay area User's group. On Wed, 18 Aug 1999, Nate Williams wrote: Matt doesn't represent the FreeBSD project, and even if he rewrites the VFS subsystem so he can understand it, his rewrite would face considerable resistance on its way into FreeBSD. I don't think there is reason to rewrite it, but there certainly are areas that need fixing. You are misinformed as far as I know.. From discussions I saw, th main architect of a VFS rewrite would be Kirk, and Matt would be acting as Kirk's right-hand-man. Which discussions are these? Are they archived somewhere? Nate To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message
Re: cvs commit: src/bin/test test.c
On Wed, Aug 18, 1999, Sheldon Hearn wrote: green 1999/08/17 17:18:53 PDT Modified files: bin/test test.c Log: The new test(1) did not use access() correctly. I don't know why, since supposedly it's ksh-derived, and it's not broken in pdksh. I've added a test for test running as root: if testing for -x, the file must be mode 0111 to get success, rather than just existant. Reviewed by: chris What were you actually trying to fix, here? I didn't see any discussion of this on hackers, current or bugs, nor in response to my initial commit message. He was fixing (though, as Bruce pointed out, it wasn't a valid fix) test -x. Apparently, access(2) will return 'success' on access(file, X_OK) if called by a program run by root. The patch partly solves the problem, but the euid-vs-ruid problem remains. -- |Chris Costello ch...@calldei.com |Disc space, the final frontier! `-- To Unsubscribe: send mail to majord...@freebsd.org with unsubscribe freebsd-hackers in the body of the message