X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=fs%2Fhfsplus%2Finode.c;h=eff1c987b6fb08acec4927cc1773b6c5e0419982;hb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;hp=5dc9bdbd10600c97a3aa683e4c85100c5810b8d2;hpb=a2c21200f1c81b08cb55e417b68150bba439b646;p=linux-2.6.git diff --git a/fs/hfsplus/inode.c b/fs/hfsplus/inode.c index 5dc9bdbd1..eff1c987b 100644 --- a/fs/hfsplus/inode.c +++ b/fs/hfsplus/inode.c @@ -308,6 +308,7 @@ struct file_operations hfsplus_file_operations = { .read = generic_file_read, .write = generic_file_write, .mmap = generic_file_mmap, + .sendfile = generic_file_sendfile, .fsync = file_fsync, .open = hfsplus_file_open, .release = hfsplus_file_release, @@ -483,22 +484,22 @@ int hfsplus_cat_read_inode(struct inode *inode, struct hfs_find_data *fd) return res; } -void hfsplus_cat_write_inode(struct inode *inode) +int hfsplus_cat_write_inode(struct inode *inode) { struct hfs_find_data fd; hfsplus_cat_entry entry; if (HFSPLUS_IS_RSRC(inode)) { mark_inode_dirty(HFSPLUS_I(inode).rsrc_inode); - return; + return 0; } if (!inode->i_nlink) - return; + return 0; if (hfs_find_init(HFSPLUS_SB(inode->i_sb).cat_tree, &fd)) /* panic? */ - return; + return -EIO; if (hfsplus_find_cat(inode->i_sb, inode->i_ino, &fd)) /* panic? */ @@ -546,4 +547,5 @@ void hfsplus_cat_write_inode(struct inode *inode) } out: hfs_find_exit(&fd); + return 0; }