Commit Graph

14148 Commits

Author SHA1 Message Date
skrll 2a4732aadc Only do the __libc_init hack in libc, i.e. remove it from ld.elf_so.
This fixes hppa ld.elf_so by reducing the number of PLABELs required to
the number before the hack was applied.

Hi Joerg!
2010-09-09 10:19:31 +00:00
manu 17ce0ff611 - call FSYNCDIR for directories
- directories can be open R/W (for FSYNCDIR)
- do not skip calls to FSYNC or FSYNCDIR if the filesystem returned ENOSYS:
it may change its mind, and it may also actually do something when retunring
ENOSYS
- When FSYNC and FSYNCDIR return ENOSYS, do not report it to kernel (silent
failure)
2010-09-09 09:12:35 +00:00
pooka d33a80444e Simplify now that ukfs deals with being called from a thread which
already has a rump lwp context.
2010-09-07 17:22:53 +00:00
pooka 607d9b612a Migrate from rump private interfaces to syscalls. 2010-09-07 17:16:18 +00:00
manu fac2d0c060 Mode argument must contain the file type (S_* items) for create and mknod 2010-09-07 16:58:13 +00:00
manu 1e672db8d2 - Do not checkfor peer credentials when perfused is autostarted and
therefore runs with filesystem privileges

- shut up warnings and debug messages when perfused is autostarted

- make perfused patch modifiable with CFLAGS for easier pkgsrc integration

- Fix build warnings
2010-09-07 02:11:04 +00:00
wiz f1ecb8cf31 O_NOFOLLOW is not a non-standard extension any longer (2, 6 years? who counts). 2010-09-06 19:48:38 +00:00
wiz c70635ec83 I assume "POSIX 200805" is IEEE Std 1003.1-2008 (POSIX.1), so use
appropriate .St.
2010-09-06 19:47:37 +00:00
jakllsch a34ac1b5ed New vdprintf needs "namespace protection". 2010-09-06 17:49:56 +00:00
wiz 4dd873e1cd Note a difference to IEEE Std 2003.1-2008. Bump date. 2010-09-06 15:22:09 +00:00
christos 4ddc2fb37c add dprintf and vdprintf 2010-09-06 14:52:55 +00:00
christos 7d79ab9567 Add GLOB_STAR support from Greg Dionne. 2010-09-06 14:40:24 +00:00
manu 5536686b23 More LP64 fixes 2010-09-06 01:40:24 +00:00
manu 6f8501feb8 build fixes for LP64 2010-09-06 01:17:05 +00:00
wiz d9898a950b Explain how O_NOFOLLOW may cause EFTYPE. From joerg.
While here, sort errors. Bump date.
2010-09-05 22:44:15 +00:00
manu 374c4263ae - correctly set flags for CREATE
- after a node is deleted, some operations should return ENOENT, some
should be ignored. Fixed it for ACCESS, SETATTR and GETATTR. Other
operation may also need a fix.

- At reclaim time, there is no need to wait for READDIR and READ
completion, since the caller will never close a file before getting
readir() and read() replies. Waiting for WRITE completion is still
mandatory, but we must ensure that no queued WRITE is awaiting to
be scheduled. Once the queue is drained, we must check that the
reclaim operation was not canceled by a new file LOOKUP.

- At reclaim time, fixed a mix up between read and write fh to close

- Fixed permission checks for RENAME (it tested the node itself
instead of the source)

- When seting file mode, only MKNOD needs the filetype (S_* fields).
It is probably a bug to set it for other operations.
2010-09-05 06:49:13 +00:00
ahoka 82e82fca50 Add libc glue for libtre.
tre will be compiled without approx and wchar/mulibyte support to
only match the minimum requirement to replace our spencer regex.

This needs a lot of testing.

Only enabled when USE_LIBTRE is set to `yes'.
2010-09-04 12:17:58 +00:00
matt 015f9bbf7a Pullup fixes from matt-nb5-mips64.
This makes setjmp/longjmp work again.
2010-09-03 17:22:51 +00:00
manu 1eb23a5f2b Fix reference count bug introduced by previous commit 2010-09-03 14:32:50 +00:00
manu 28d5b6408e - Postpone file close at reclaim time, since NetBSD sends fsync and
setattr(mtime, ctime) after close, while FUSE expects the file
to be open for these operations

- remove unused argument to node_mk_common()

- remove requeued requests when they are executed, not when they
are tagged for schedule

- try to make filehandle management simplier, by keeping track of only
one read and one write filehandle (the latter being really read/write).

- when CREATE is not available, we use the MKNOD/OPEN path. Fix a
bug here where we opened the parent directory instead of the node:
add the missing lookup of the mknod'ed node.

- lookup file we just created: glusterfs does not really see them
otherwise.

- open file when doing setattr(mtime, ctime) on non open files, as
some filesystems seems to require it.

- Do not flush pagecache for removed nodes

- Keep track of read/write operations in progress, and at reclaim
time, make sure they are over before closing and forgeting the file.
2010-09-03 07:15:18 +00:00
wiz b5ec94d2d1 Fix a typo, uppercase UID/GID. 2010-09-03 07:12:51 +00:00
pooka 0a85e62a45 xfer rump_lwproc 2010-09-02 15:24:34 +00:00
pooka 0bd39d154c document rump_lwproc 2010-09-02 12:29:49 +00:00
manu 518513ec60 - only remove queued requests once they are executed, not when they
are set to be scheduled later
- remove an unused argument to make lint happy
2010-09-02 08:58:06 +00:00
pooka cd52561abe update to new rump proc/lwp interfaces 2010-09-01 19:40:34 +00:00
agc b0615b5bcb Add a .WAIT statement after libmj, should fix a transient problem observed
by moof.
2010-09-01 16:01:27 +00:00
manu ef7e1877ae Build fixes for LP64 2010-09-01 14:57:24 +00:00
wiz 0584bf10ba Some fixes. Comment out ERRORS section until it has content. 2010-09-01 13:04:11 +00:00
drochner 1a2acb81f4 EDOM should not be set on atan2(0,0) in POSIX mode, found by
Stathis Kamperis' testsuite
2010-09-01 10:44:28 +00:00
enami 8713952936 Move prototype of isrmt() to rmt.h. It is a public interface
described in rmtops(3).
2010-08-31 05:12:35 +00:00
wiz 1d743f8e48 Add some commas. 2010-08-30 11:37:52 +00:00
christos 33434557c9 dprintf is claimed by posix. 2010-08-29 15:40:35 +00:00
joerg c1e0a5bd50 Replace the current usage of Elf64_Half with Elf64_Word and rename
NetBSD specific Elf64_Quarter to Elf64_Half. This restores compatibility
with the common ELF specifications.
2010-08-28 21:30:02 +00:00
wiz 9538d798d1 Fix Dd argument, sort sections. 2010-08-28 15:49:08 +00:00
christos 7741aae941 setup a callback to be invoked on resize buffers so that readline can
reset rl_line_buffer which unfortunately some applications use it directly.
2010-08-28 15:44:59 +00:00
tron a38ccbe49f Mention recent enhancement and not that this function is neither
re-entrant nor thread-safe.
2010-08-28 13:42:07 +00:00
manu 374b973db4 - set user/group ownership after object creation.
- enforce permissios checks. This needs to be  reviewed.
2010-08-28 03:46:21 +00:00
wiz 392a19e562 Fix typo. 2010-08-27 18:31:18 +00:00
manu 1326029781 - if perfused is not already started (cannot connect to /dev/fuse),
FUSE filesystems will attempt to start it on their own, and will
communicate using a socketpair

- do not advertise NULL file handle as being valid when sending themback to the FUSE filesystem.

- unmount if we cannot talk to the FUSE process anymore

- set calling process gid properly

- debug message cleanup
2010-08-27 09:58:17 +00:00
christos 3991ffd1e1 add psiginfo. 2010-08-27 08:38:41 +00:00
pooka 33e9636157 Move the manpage from the kernel sources into lib, 'cause that's
where it's used.
2010-08-27 08:21:43 +00:00
manu 516b1c9016 - open the file before doing fsync: glusterfs wants that.
- Automatically call fsync on close for files. If we just close, fsync
will come later and we will have to reopen

- Add a PND_DIRTY flag to keep track of files that really need a sync.
perfuse_node_fsync only calls the FUSE fsync method if there are data
to push.

- Add a PND_OPEN flag to keep track of open files. Checking non NULL
fh is not enough, as some filesystems will always set fh to 0.

- Add a sync diagnostic flag, to watch fsync and dirty flag activity.
Make the fh diagnostic flag more verbose

- Send the fh in setattr (it was hardcoded to 0)

I am now able to build libperfuse in a glusterfs mounted filesystem. Yeah!
2010-08-26 13:29:01 +00:00
manu 7b1d1ee680 libperfuse(3) is a PUFFS relay to FUSE. In order to use it,
FUSE filesystem must be patched to #include <perfuse.h> in the source
files that open /dev/fuse and perform the mount(2) system call. The
FUSE filesystem must be linked with -lperfuse.

libperfuse(3) implements the FUSE kernel interface, on which libfuse or
any FUSE filesystem that opens /dev/fuse directly can be used.

For now, an external daemon called perfused(8) is used. This may change
in the future.
2010-08-25 07:16:00 +00:00
christos 389aa89258 PR/43795: Guy Harris: describe return values and error handling. 2010-08-24 12:05:01 +00:00
tron 90493f6f08 Add support for parsing the data format "@<seconds since epoch>" e.g.
"@735275209" for "Tue Apr 20 03:06:49 UTC 1993". This change was inspired
by coreutil's "date" utility.
2010-08-21 16:17:40 +00:00
pooka 65cdb57245 print to stderr instead of stdout 2010-08-20 16:35:05 +00:00
christos 6afe6deefa Log why pwd_mkdb failed. Currently on aslr systems, pwd_mkdb either aborts
or when s/vfork/fork/ dies with SEGV accessing the the stack. The same abort
effect can be achieved when we remove all resource limits.
2010-08-18 08:32:02 +00:00
christos 90f5be5cdd Log via syslog(3) when we run pwd_mkdb(8). 2010-08-18 08:09:17 +00:00
pgoyette a3f95ef31a Add a couple more possible return values. 2010-08-18 01:55:32 +00:00
jakllsch e43287544b Improve usbhid(3) descriptor/report parsing:
Handle signed Physical Minimums
 Handle signed Unit Exponents
2010-08-13 19:56:34 +00:00