aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2004-11-11 10:33:58 +0000
committerMiklos Szeredi <miklos@szeredi.hu>2004-11-11 10:33:58 +0000
commit3a6ea06efab29198ba664945cec8296b7e1e356e (patch)
tree390cdfaafa43ac0201d8e54ee63fcc45fac07a20 /kernel
parent076136196276bf5cd898b7fc82d4ee0aeb8d7fde (diff)
downloadlibfuse-3a6ea06efab29198ba664945cec8296b7e1e356e.tar.gz
merge from 2_0_merge1 to 2_0_merge2
Diffstat (limited to 'kernel')
-rw-r--r--kernel/Makefile.in2
-rw-r--r--kernel/configure.ac2
-rw-r--r--kernel/file.c8
-rw-r--r--kernel/linux/fuse.h2
-rwxr-xr-xkernel/makeconf.sh9
-rw-r--r--kernel/util.c3
6 files changed, 13 insertions, 13 deletions
diff --git a/kernel/Makefile.in b/kernel/Makefile.in
index 2f7b74b..42d1807 100644
--- a/kernel/Makefile.in
+++ b/kernel/Makefile.in
@@ -6,7 +6,7 @@ mkdir_p = mkdir -p
majver = @majver@
VERSION = @PACKAGE_VERSION@
-DISTFILES = Makefile.in configure.ac configure config.h.in makeconf.sh \
+DISTFILES = Makefile.in configure.ac configure config.h.in ../install-sh \
dev.c dir.c file.c inode.c util.c fuse_i.h
COMPATDISTFILES = compat/parser.c compat/parser.h
LINUXDISTFILES = linux/fuse.h
diff --git a/kernel/configure.ac b/kernel/configure.ac
index 8dce5bd..0dad9cb 100644
--- a/kernel/configure.ac
+++ b/kernel/configure.ac
@@ -1,6 +1,8 @@
AC_INIT(fuse-kernel, 2.1-pre0)
AC_CONFIG_HEADERS([config.h])
+AC_PROG_INSTALL
+
AC_MSG_CHECKING([kernel source directory])
kernelsrc=
AC_ARG_WITH(kernel,
diff --git a/kernel/file.c b/kernel/file.c
index aa9dba3..a08d236 100644
--- a/kernel/file.c
+++ b/kernel/file.c
@@ -618,8 +618,12 @@ static ssize_t fuse_send_write(struct fuse_req *req, int writepage,
req->out.args[0].value = &outarg;
request_send(fc, req);
res = req->out.h.error;
- if (!res)
- return outarg.size;
+ if (!res) {
+ if (outarg.size > count)
+ return -EPROTO;
+ else
+ return outarg.size;
+ }
else
return res;
}
diff --git a/kernel/linux/fuse.h b/kernel/linux/fuse.h
index e5f9a6c..55af4d9 100644
--- a/kernel/linux/fuse.h
+++ b/kernel/linux/fuse.h
@@ -146,6 +146,7 @@ struct fuse_open_in {
struct fuse_open_out {
unsigned long fh;
+ unsigned int _open_flags;
};
struct fuse_release_in {
@@ -155,6 +156,7 @@ struct fuse_release_in {
struct fuse_flush_in {
unsigned long fh;
+ unsigned int _nref;
};
struct fuse_read_in {
diff --git a/kernel/makeconf.sh b/kernel/makeconf.sh
deleted file mode 100755
index d9d6fe1..0000000
--- a/kernel/makeconf.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#! /bin/sh
-
-echo Running autoheader...
-autoheader
-echo Running autoconf...
-autoconf
-
-rm -f config.cache config.status
-echo "To compile run './configure', and then 'make'."
diff --git a/kernel/util.c b/kernel/util.c
index 13f3fe5..ac6455d 100644
--- a/kernel/util.c
+++ b/kernel/util.c
@@ -17,7 +17,7 @@ MODULE_DESCRIPTION("Filesystem in Userspace");
MODULE_LICENSE("GPL");
#endif
-spinlock_t fuse_lock = SPIN_LOCK_UNLOCKED;
+spinlock_t fuse_lock;
int __init fuse_init(void)
{
@@ -27,6 +27,7 @@ int __init fuse_init(void)
FUSE_VERSION,
FUSE_KERNEL_VERSION, FUSE_KERNEL_MINOR_VERSION);
+ spin_lock_init(&fuse_lock);
res = fuse_fs_init();
if (res)
goto err;