diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2004-11-11 10:33:58 +0000 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2004-11-11 10:33:58 +0000 |
commit | 3a6ea06efab29198ba664945cec8296b7e1e356e (patch) | |
tree | 390cdfaafa43ac0201d8e54ee63fcc45fac07a20 /kernel | |
parent | 076136196276bf5cd898b7fc82d4ee0aeb8d7fde (diff) | |
download | libfuse-3a6ea06efab29198ba664945cec8296b7e1e356e.tar.gz |
merge from 2_0_merge1 to 2_0_merge2
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/Makefile.in | 2 | ||||
-rw-r--r-- | kernel/configure.ac | 2 | ||||
-rw-r--r-- | kernel/file.c | 8 | ||||
-rw-r--r-- | kernel/linux/fuse.h | 2 | ||||
-rwxr-xr-x | kernel/makeconf.sh | 9 | ||||
-rw-r--r-- | kernel/util.c | 3 |
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; |