diff options
Diffstat (limited to 'fs/udf/file.c')
-rw-r--r-- | fs/udf/file.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/udf/file.c b/fs/udf/file.c index 2df7fcb677b3..013fa44d9a5e 100644 --- a/fs/udf/file.c +++ b/fs/udf/file.c | |||
@@ -208,7 +208,7 @@ const struct file_operations udf_file_operations = { | |||
208 | .read = do_sync_read, | 208 | .read = do_sync_read, |
209 | .aio_read = generic_file_aio_read, | 209 | .aio_read = generic_file_aio_read, |
210 | .ioctl = udf_ioctl, | 210 | .ioctl = udf_ioctl, |
211 | .open = generic_file_open, | 211 | .open = dquot_file_open, |
212 | .mmap = generic_file_mmap, | 212 | .mmap = generic_file_mmap, |
213 | .write = do_sync_write, | 213 | .write = do_sync_write, |
214 | .aio_write = udf_file_aio_write, | 214 | .aio_write = udf_file_aio_write, |
@@ -227,6 +227,9 @@ static int udf_setattr(struct dentry *dentry, struct iattr *iattr) | |||
227 | if (error) | 227 | if (error) |
228 | return error; | 228 | return error; |
229 | 229 | ||
230 | if (iattr->ia_valid & ATTR_SIZE) | ||
231 | vfs_dq_init(inode); | ||
232 | |||
230 | if ((iattr->ia_valid & ATTR_UID && iattr->ia_uid != inode->i_uid) || | 233 | if ((iattr->ia_valid & ATTR_UID && iattr->ia_uid != inode->i_uid) || |
231 | (iattr->ia_valid & ATTR_GID && iattr->ia_gid != inode->i_gid)) { | 234 | (iattr->ia_valid & ATTR_GID && iattr->ia_gid != inode->i_gid)) { |
232 | error = dquot_transfer(inode, iattr); | 235 | error = dquot_transfer(inode, iattr); |