diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2007-05-22 11:09:01 +0000 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2007-05-22 11:09:01 +0000 |
commit | a2776e73f2acd9299bd762ae469bce2c676ebe0b (patch) | |
tree | 532b0f391917bb699d088f4d6a06d98c6df4b1e4 /kernel | |
parent | 53bce657d27d8afab36dd7b6d611a1be9ace59bd (diff) | |
download | libfuse-a2776e73f2acd9299bd762ae469bce2c676ebe0b.tar.gz |
Fix Oops or error if a regular file is created with mknod(2)...
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/dir.c | 2 | ||||
-rw-r--r-- | kernel/fuse_kernel.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/kernel/dir.c b/kernel/dir.c index 121a350..b493e4e 100644 --- a/kernel/dir.c +++ b/kernel/dir.c @@ -491,7 +491,7 @@ static int fuse_create(struct inode *dir, struct dentry *entry, int mode, struct nameidata *nd) { #ifdef HAVE_LOOKUP_INSTANTIATE_FILP - if (nd && (nd->flags & LOOKUP_CREATE)) { + if (nd && (nd->flags & LOOKUP_OPEN)) { int err = fuse_create_open(dir, entry, mode, nd); if (err != -ENOSYS) return err; diff --git a/kernel/fuse_kernel.h b/kernel/fuse_kernel.h index f909df6..7ebff8b 100644 --- a/kernel/fuse_kernel.h +++ b/kernel/fuse_kernel.h @@ -374,7 +374,7 @@ struct fuse_dirent { char name[0]; }; -#define FUSE_NAME_OFFSET ((unsigned) ((struct fuse_dirent *) 0)->name) +#define FUSE_NAME_OFFSET offsetof(struct fuse_dirent, name) #define FUSE_DIRENT_ALIGN(x) (((x) + sizeof(__u64) - 1) & ~(sizeof(__u64) - 1)) #define FUSE_DIRENT_SIZE(d) \ FUSE_DIRENT_ALIGN(FUSE_NAME_OFFSET + (d)->namelen) |