diff options
Diffstat (limited to 'fs/hostfs/hostfs_kern.c')
-rw-r--r-- | fs/hostfs/hostfs_kern.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c index fd301a910122..4e8bb2fba048 100644 --- a/fs/hostfs/hostfs_kern.c +++ b/fs/hostfs/hostfs_kern.c | |||
@@ -147,7 +147,7 @@ static int read_name(struct inode *ino, char *name) | |||
147 | 147 | ||
148 | err = stat_file(name, &i_ino, &i_mode, &i_nlink, &ino->i_uid, | 148 | err = stat_file(name, &i_ino, &i_mode, &i_nlink, &ino->i_uid, |
149 | &ino->i_gid, &i_size, &ino->i_atime, &ino->i_mtime, | 149 | &ino->i_gid, &i_size, &ino->i_atime, &ino->i_mtime, |
150 | &ino->i_ctime, &i_blksize, &i_blocks); | 150 | &ino->i_ctime, &i_blksize, &i_blocks, -1); |
151 | if(err) | 151 | if(err) |
152 | return(err); | 152 | return(err); |
153 | 153 | ||
@@ -820,6 +820,8 @@ int hostfs_setattr(struct dentry *dentry, struct iattr *attr) | |||
820 | char *name; | 820 | char *name; |
821 | int err; | 821 | int err; |
822 | 822 | ||
823 | int fd = HOSTFS_I(dentry->d_inode)->fd; | ||
824 | |||
823 | err = inode_change_ok(dentry->d_inode, attr); | 825 | err = inode_change_ok(dentry->d_inode, attr); |
824 | if (err) | 826 | if (err) |
825 | return err; | 827 | return err; |
@@ -864,7 +866,7 @@ int hostfs_setattr(struct dentry *dentry, struct iattr *attr) | |||
864 | } | 866 | } |
865 | name = dentry_name(dentry, 0); | 867 | name = dentry_name(dentry, 0); |
866 | if(name == NULL) return(-ENOMEM); | 868 | if(name == NULL) return(-ENOMEM); |
867 | err = set_attr(name, &attrs); | 869 | err = set_attr(name, &attrs, fd); |
868 | kfree(name); | 870 | kfree(name); |
869 | if(err) | 871 | if(err) |
870 | return(err); | 872 | return(err); |