X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Fhostfs%2Fhostfs_kern.c;h=144ff70fbd55e433d6d7b1571f7e0911f2b42fc1;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=7d42da0a304d46b6f6c7338353584ffe49f88e14;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c index 7d42da0a3..144ff70fb 100644 --- a/fs/hostfs/hostfs_kern.c +++ b/fs/hostfs/hostfs_kern.c @@ -15,7 +15,6 @@ #include #include #include -#include #include #include #include @@ -393,6 +392,11 @@ int hostfs_fsync(struct file *file, struct dentry *dentry, int datasync) static struct file_operations hostfs_file_fops = { .llseek = generic_file_llseek, .read = generic_file_read, + .sendfile = generic_file_sendfile, + .aio_read = generic_file_aio_read, + .aio_write = generic_file_aio_write, + .readv = generic_file_readv, + .writev = generic_file_writev, .write = generic_file_write, .mmap = generic_file_mmap, .open = hostfs_file_open, @@ -401,6 +405,7 @@ static struct file_operations hostfs_file_fops = { }; static struct file_operations hostfs_dir_fops = { + .llseek = generic_file_llseek, .readdir = hostfs_readdir, .read = generic_read_dir, }; @@ -808,7 +813,7 @@ int hostfs_permission(struct inode *ino, int desired, struct nameidata *nd) if(name == NULL) return(-ENOMEM); err = access_file(name, r, w, x); kfree(name); - if(!err) err = vfs_permission(ino, desired); + if(!err) err = generic_permission(ino, desired, NULL); return(err); } @@ -818,6 +823,10 @@ int hostfs_setattr(struct dentry *dentry, struct iattr *attr) char *name; int err; + err = inode_change_ok(dentry->d_inode, attr); + if (err) + return err; + if(append) attr->ia_valid &= ~ATTR_SIZE;