Commit Graph

11655 Commits

Author SHA1 Message Date
mrg 4a3fc2cb1b fix more caddr_t -> void * fallout. 2007-03-05 03:05:16 +00:00
ad 1f1ddafc0c Add __sigsuspend14, sigtimedwait as cancellation points. 2007-03-04 20:07:13 +00:00
pooka 478abf6202 regen 2007-03-04 15:27:54 +00:00
christos 59bba4a15c Although we don't have a kqueue implementation yet, there is no point in
limiting the max fd in the poll case. Pointed out by Jan Schaumann, original
patch from FreeBSD/John Baldwin.
2007-03-02 22:56:15 +00:00
wiz 50f4650669 Bump date for previous. 2007-03-02 20:25:34 +00:00
ad 44e5b56619 Fix a sleep/wakeup race with condvars. 2007-03-02 19:56:47 +00:00
ad 67513ce0a2 Silence a gcc/lint warning. 2007-03-02 18:58:45 +00:00
ad de2138164c Remove the PTHREAD_SA option. If M:N threads is reimplemented it's
better off done with a seperate library.
2007-03-02 18:53:51 +00:00
ad dba14ef0a0 Don't grab the state lock to check for cancellation around condition
variables, as _lwp_wakeup/lwp_park provide the necessary barrier.
2007-03-02 17:47:40 +00:00
ad dc39f9ec83 pthread_detach: acquire the join lock before changing pt_flags. 2007-03-02 17:40:55 +00:00
ad 1bcb6087a6 On x86, issue the pause instruction while spinning. 2007-03-02 17:34:21 +00:00
nakayama b0cfe41e9b PR lib/34210: Avoid bus error (unaligned 64-bit access) on sparc64. 2007-03-02 13:18:55 +00:00
christos bd6c2075f1 Fix bug with multiple pending el_pushes. Reported by Julien Torres. 2007-03-01 21:41:45 +00:00
mrg 81d87b60e3 insert .WAIT between libcom_err and libasn1. 2007-03-01 02:54:51 +00:00
agc bffaa1dff1 Minor cosmetic changes to clean up some lint. 2007-02-28 21:48:46 +00:00
xtraeme 942dafa618 Add missing NetBSD RCS id. 2007-02-28 16:28:25 +00:00
xtraeme c7b91b596f * Move fuse_opt* defs and prototypes into fuse_opt.h.
* Move fuse_opt* funcs from refuse.c into refuse_opt.c.

Implement fuse_opt_parse() and fuse_opt_match(). And make the other
functions just dummy, always returning 0 (I added debugging printfs
to see what the application is trying to do).

For now there are two things that do not work in fuse_opt:

	* options accepting arguments, i.e -otimeout=%u or -ofile=%s.
	* options without arguments are not enabled, just parsed.

At least now curlftpfs works, even with verbose mode! :-)

Ok'ed by pooka.
2007-02-28 16:23:00 +00:00
agc 803c0cb0e3 For just now, just use "puffs:refuse" as the file system name - this will
be revisited when thee fuse_args parsing is revisited.
2007-02-26 22:28:11 +00:00
pooka 03c5e15dc2 Refactor a few interfaces a bit to look more like fuse. fuse_args
is implemented as a very dummy version (i.e. totally unimplemented),
so some effort is still needed there.

After this change it is possible to compile and run ntfs-3g.  It
works read/write for ntfs images and shows no faults at least with
superficial testing.  I did not test it against a block device,
only an image.

Thanks to Tracy and Jason for help with the test image.
2007-02-26 15:57:33 +00:00
pooka 819ea01282 convert FREAD/FWRITE to O_RDWR-stuff in open 2007-02-26 15:09:19 +00:00
pooka 1b5f35a8e4 Implement readdir properly, or at least as close to possible to how
fuse does it: read directory completely into refuse buffers if starting
from read offset 0 and for later calls trickle results from the buffers
to the kernel without consulting the fuse file system.
2007-02-26 13:52:16 +00:00
drochner 7fc72a801d remove references to old cabs() 2007-02-26 12:10:56 +00:00
christos 82708d0ba0 deal with the vax in a slightly disgusting way. 2007-02-26 01:29:25 +00:00
pooka a058b5a8e7 revert 1.34, as discussed with agc. It creates more problems than
it solves, namely breaks ~all fuse file systems.  Proper fix is known
but not yet implemented.
2007-02-26 00:25:40 +00:00
christos 2a84b2c2c1 Revert the kauth_impl.h change. Elad is going to maintain this. Asked by core@ 2007-02-24 20:41:33 +00:00
agc 607e07e6b1 For large directories, remove the artificial restriction on one
buffer's worth of directory entries - this work is done in the higher
level (re)fuse readdir or getdir operation.
2007-02-23 20:51:49 +00:00
christos aa221faf9e vax does not have <machine/ieee.h> or long double
It would be nice if the compiler provided something like __IEEE_MATH__
2007-02-23 17:45:59 +00:00
drochner 7161d089aa -get cabs() and cabsf() out of public view - these are historical and
conflict with C99 functions which are builtins in newer gcc
 (actually, the old cabs() is ABI compatible with the new _complex one
  on i386, but this is purely accidental)
 remove public prototypes and manpages, move the code into a compat
 subdirectory as libc does so that binary compatibility is kept
-add a manpage for the isgreater() etc macros, borrowed from FreeBSD
2007-02-22 22:08:17 +00:00
ad 1296e8508f - Put detached & exiting threads on the tail of the deadqueue, not head.
- Don't forget to set PT_FLAG_DETACHED.
2007-02-21 22:31:38 +00:00
ad dacd4bd9ca Minor optimisation to previous: only check for continued existence of
the thread if it was detached.
2007-02-21 22:25:57 +00:00
pooka fedaaf62e4 * missing open is not a failure, just return 0
* nuke accidentally committed debug printf
2007-02-20 23:49:15 +00:00
pooka a44cf00bd8 reverse order of arguments to fuse->op.symlink, remove comment
suspecting argument order reversal
2007-02-20 19:13:28 +00:00
plunky faf7b91031 Add PF_BLUETOOTH to list of supported protocol families 2007-02-20 19:08:59 +00:00
pooka af95243f4c * Thread flags to VOP_OPEN (except of course O_CREAT, O_TRUNC and O_EXCL)
through fuse_file_info to the fuse open operation.
* reference count opens for each node and do release once the count
  drops to zero (instead of waiting for inactive).  I'm still not sure
  if this exactly matches linux/fuse behaviour, but at least we do
  open when a new file descriptor is opened for each node and a do
  a release when the reference to the last file descriptor for a
  node is closed, so it ought to be pretty close

cryptofs works after these changes
2007-02-20 19:00:21 +00:00
pooka 0d421bcd8b * create a refusenode also for the root node
* opendir directories in open
2007-02-20 14:51:52 +00:00
wiz 0e1939cec0 Add missing n. From jmc@openbsd. 2007-02-20 08:33:25 +00:00
pooka 838ac147aa Implement a very very stubby fuse_unmount(), which does ... nothing.
Pending some puffs changes that are in the queue, this is the best way
currently.
2007-02-19 23:12:29 +00:00
pooka bb3c90d323 fix return-in-the-middle bug in inactive. and while there, make
it always return 0, since the return value is not used for error
indication for the kernel
2007-02-19 22:12:44 +00:00
xtraeme a7ff578b00 puffs_fuse_node_inactive: initialize ret to 0 to avoid a warning. 2007-02-19 22:07:51 +00:00
pooka 6a3c4eb394 * combine emulation layer tasks for node creation to a common routine
* make set/getattr easily callable from interface functions and sprinkle
  calls to locations which require them
* use libpuffs routine for stat->vattr translation instead of homegrown one
* I have concluded that we really want to do release/releasedir in
  inactive instead of reclaim.  make it so.  we'll tweak it for the next
  file system which decides it doesn't want to work

after these changes lzofs works, at least for most parts
(I'd assume the non-working parts to fail also on fuse/linux)
2007-02-19 22:04:26 +00:00
chs ed97cebad7 switch from kqueue() back to pollts() so that signals will be unblocked
while we're sleeping.  keep the new timeout logic, though.
as discussed on source-changes some 15 months ago.
2007-02-19 18:37:14 +00:00
pooka 3780ec4943 * don't allow reads beyond at offset = EOF, all fuse file systems can't
handle it
* initialize refuse root node properly
* some misc cleanup
2007-02-18 23:30:45 +00:00
pooka 12999dc43c fix rename (yes, it's really that simple) 2007-02-18 22:42:33 +00:00
pooka 45bd3a1031 * oh, and when removing, remove the target node, not its parent directory
* use PUFFS_KFLAG_NOCACHE always for now, since code is too jumpy and
  volatile to deal with caches
2007-02-18 22:30:59 +00:00
pooka c82c131e9f * map reclaim to release, but call it only for files which were opened
* use node paths in remove/rmdir instead of pcn full paths (which are
  null for those ops)
2007-02-18 22:08:42 +00:00
pooka e8d4536f16 in create, if op.create doesn't exist, try op.mknod instead 2007-02-18 20:38:07 +00:00
pooka a24db39ba5 move getdir() location to match layout of real fuse operations 2007-02-18 18:47:40 +00:00
christos 731b8a1ee4 SHA512_Last is not public anymore. 2007-02-18 18:16:24 +00:00
agc 3d88835937 Added extra functionality:
fuse_opt_free_args()

	fuse_exit()

Both from Juan RP - thanks!
2007-02-18 17:44:57 +00:00
pooka 8022394bca Until someone can sort non-priviledged mounts and kauth, force
MNT_NOSUID | MNT_NODEV for mounts with geteuid() != 0.  I'm tired
of typing them on the command line every time I test a file system.
2007-02-18 17:38:10 +00:00