summaryrefslogtreecommitdiff
path: root/filesystems/fuse-chironfs/patches
diff options
context:
space:
mode:
Diffstat (limited to 'filesystems/fuse-chironfs/patches')
-rw-r--r--filesystems/fuse-chironfs/patches/patch-aa13
-rw-r--r--filesystems/fuse-chironfs/patches/patch-ab82
-rw-r--r--filesystems/fuse-chironfs/patches/patch-ac75
-rw-r--r--filesystems/fuse-chironfs/patches/patch-ad12
4 files changed, 182 insertions, 0 deletions
diff --git a/filesystems/fuse-chironfs/patches/patch-aa b/filesystems/fuse-chironfs/patches/patch-aa
new file mode 100644
index 00000000000..faa5f70ba3f
--- /dev/null
+++ b/filesystems/fuse-chironfs/patches/patch-aa
@@ -0,0 +1,13 @@
+$NetBSD: patch-aa,v 1.1.1.1 2007/11/27 18:55:40 pooka Exp $
+
+--- src/Makefile.in.orig 2007-10-23 06:25:06.000000000 +0200
++++ src/Makefile.in 2007-11-27 19:04:11.000000000 +0100
+@@ -146,7 +146,7 @@
+ top_srcdir = @top_srcdir@
+ AM_CFLAGS = $(all_includes) -Wall -W -Wmissing-prototypes -g -O2 -DFUSE_USE_VERSION=25 -D_FILE_OFFSET_BITS=64
+ chironfs_SOURCES = chironfs.c chiron-conf.c chironfs.h
+-chironfs_LDFLAGS = -L/usr/local/lib -lfuse -ldl -lm
++chironfs_LDFLAGS = -L/usr/local/lib -lfuse -lm
+ chironfs_OBJS = chironfs.o chiron-conf.o
+ all: all-am
+
diff --git a/filesystems/fuse-chironfs/patches/patch-ab b/filesystems/fuse-chironfs/patches/patch-ab
new file mode 100644
index 00000000000..9777561733b
--- /dev/null
+++ b/filesystems/fuse-chironfs/patches/patch-ab
@@ -0,0 +1,82 @@
+$NetBSD: patch-ab,v 1.1.1.1 2007/11/27 18:55:40 pooka Exp $
+
+--- src/chiron-conf.c.orig 2007-10-23 04:54:53.000000000 +0200
++++ src/chiron-conf.c 2007-11-27 18:05:11.000000000 +0100
+@@ -34,7 +34,11 @@
+ #include <dlfcn.h>
+
+ #include <libgen.h>
++#ifdef __linux__
+ #include <linux/limits.h>
++#else
++#include <limits.h>
++#endif
+ #include <string.h>
+ #include <stdint.h>
+ #include <sys/resource.h>
+@@ -232,7 +236,8 @@
+ int do_mount(char *filesystems, char *mountpoint)
+ {
+ char buf[100];
+- int i, start, fd, res, errno, rep_on_mount=0, err;
++ int fd, res;
++ int i, start, errno, rep_on_mount=0, err;
+ int *tmp_high, *tmp_low;
+ unsigned long tmpfd;
+ struct rlimit rlp;
+@@ -249,21 +254,21 @@
+ }
+
+ fd = open("/proc/sys/fs/file-max",O_RDONLY);
+- if (fd<0) {
+- print_err(errno,"opening /proc/sys/fs/file-max");
+- exit(errno);
+- }
+- res = read(fd,buf,99);
+- if (res<0) {
+- print_err(errno,"reading /proc/sys/fs/file-max");
+- exit(errno);
++ if (fd != -1) {
++ res = read(fd,buf,99);
++ if (res<0) {
++ print_err(errno,"reading /proc/sys/fs/file-max");
++ exit(errno);
++ }
++ sscanf(buf,"%qu",&FD_BUF_SIZE);
++ close(fd);
++ } else {
++ FD_BUF_SIZE = 4096;
+ }
+- sscanf(buf,"%qu",&FD_BUF_SIZE);
+- close(fd);
+
+ tmpfd = (FD_BUF_SIZE >>= 1);
+
+- if (getrlimit(RLIMIT_OFILE,&rlp)) {
++ if (getrlimit(RLIMIT_NOFILE,&rlp)) {
+ print_err(errno,"reading nofile resource limit");
+ exit(errno);
+ }
+@@ -356,11 +361,11 @@
+ }
+
+ if (mountpoint[0]==':') {
+- mount_point = realpath(mountpoint+1,NULL);
++ mount_point = do_realpath(mountpoint+1,NULL);
+ rep_on_mount = i = 1;
+ tmp_high[max_replica_high++] = 0;
+ } else {
+- mount_point = realpath(mountpoint,NULL);
++ mount_point = do_realpath(mountpoint,NULL);
+ i = 0;
+ }
+ if (mount_point==NULL) {
+@@ -380,7 +385,7 @@
+ tmp_high[max_replica_high++] = i;
+ }
+
+- paths[i].path = realpath(filesystems+start, NULL);
++ paths[i].path = do_realpath(filesystems+start, NULL);
+ if (paths[i].path==NULL) {
+ free_paths();
+ free_tab_fd();
diff --git a/filesystems/fuse-chironfs/patches/patch-ac b/filesystems/fuse-chironfs/patches/patch-ac
new file mode 100644
index 00000000000..5cfabab75da
--- /dev/null
+++ b/filesystems/fuse-chironfs/patches/patch-ac
@@ -0,0 +1,75 @@
+$NetBSD: patch-ac,v 1.1.1.1 2007/11/27 18:55:40 pooka Exp $
+
+--- src/chironfs.c.orig 2007-11-27 17:00:15.000000000 +0100
++++ src/chironfs.c 2007-11-27 19:08:07.000000000 +0100
+@@ -27,8 +27,7 @@
+ #define FUSE_USE_VERSION 25
+
+ #include <fuse.h>
+-#include <fuse/fuse.h>
+-#include <fuse/fuse_opt.h>
++#include <fuse_opt.h>
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <string.h>
+@@ -43,13 +42,17 @@
+ #ifdef HAVE_SETXATTR
+ #include <sys/xattr.h>
+ #endif
++#ifdef __linux__
+ #include <linux/limits.h>
+ #include <mntent.h>
+-#include <stdint.h>
+ #include <bits/wordsize.h>
++#endif
++#include <stdint.h>
+ #include <pwd.h>
+ #include <grp.h>
+
++#include "config.h"
++
+ #define _CHIRON_H_
+ #include "chironfs.h"
+
+@@ -186,6 +189,16 @@
+ }
+ }
+
++char *do_realpath(const char *path, char *resolvedpath)
++{
++
++#ifndef __linux__
++ if (resolvedpath == NULL)
++ resolvedpath = malloc(PATH_MAX);
++#endif
++ return realpath(path, resolvedpath);
++}
++
+ ////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////
+ //
+@@ -2234,7 +2247,7 @@
+ return(NULL);
+ }
+ } else {
+- realbasedir = realpath(basedir,NULL);
++ realbasedir = do_realpath(basedir,NULL);
+ if (realbasedir==NULL) {
+ free(basedir);
+ return(NULL);
+@@ -2383,6 +2396,7 @@
+ dbg(("\nfuse_argv: %s %s %s", fuse_argv[0], fuse_argv[1], fuse_argv[2]));
+ dbg(("\n-------------------------------------------------------------------------------"));
+
++#ifdef HAVE_GETMNTENT
+ FILE *mtab;
+ struct mntent *mntentry;
+ mtab = setmntent("/etc/mtab", "r");
+@@ -2393,6 +2407,7 @@
+ }
+ } while(mntentry!=NULL);
+ endmntent (mtab);
++#endif
+ dbg(("\n-------------------------------------------------------------------------------"));
+
+ res = fuse_main(3, fuse_argv, &chiron_oper);
diff --git a/filesystems/fuse-chironfs/patches/patch-ad b/filesystems/fuse-chironfs/patches/patch-ad
new file mode 100644
index 00000000000..f8a1eb5b83f
--- /dev/null
+++ b/filesystems/fuse-chironfs/patches/patch-ad
@@ -0,0 +1,12 @@
+$NetBSD: patch-ad,v 1.1.1.1 2007/11/27 18:55:40 pooka Exp $
+
+--- src/chironfs.h.orig 2007-10-23 05:09:39.000000000 +0200
++++ src/chironfs.h 2007-11-27 19:10:43.000000000 +0100
+@@ -157,6 +157,7 @@
+ int fd_hashseek(int fd_main);
+ void print_err(int err, char *specifier);
+ void call_log(char *fnname, char *resource, int err);
++char *do_realpath(const char *pathname, char *resolvedname);
+ int choose_replica(int try);
+ void disable_replica(int n);
+ void opt_parse(char *fo, char**log, char**argvbuf);