diff options
| author | Ingo Molnar <mingo@elte.hu> | 2010-08-12 15:38:56 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2010-08-12 15:39:04 -0400 |
| commit | f46a6804135795f77d096ab0128f27531c7d051c (patch) | |
| tree | 7cd33f69e3661327739ae4c96e5a8389e7fc912e /fs/logfs/file.c | |
| parent | b3e84ffa21f916e3354a12a7f19169c9febe96d0 (diff) | |
| parent | ad41a1e0cab07c5125456e8d38e5b1ab148d04aa (diff) | |
Merge branch 'linus' into perf/urgent
Merge reason: Fix upstream breakage introduced by:
de5d9bf: Move list types from <linux/list.h> to <linux/types.h>.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'fs/logfs/file.c')
| -rw-r--r-- | fs/logfs/file.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/fs/logfs/file.c b/fs/logfs/file.c index abe1cafbd4c2..4dd0f7c06e39 100644 --- a/fs/logfs/file.c +++ b/fs/logfs/file.c | |||
| @@ -232,15 +232,19 @@ static int logfs_setattr(struct dentry *dentry, struct iattr *attr) | |||
| 232 | struct inode *inode = dentry->d_inode; | 232 | struct inode *inode = dentry->d_inode; |
| 233 | int err = 0; | 233 | int err = 0; |
| 234 | 234 | ||
| 235 | if (attr->ia_valid & ATTR_SIZE) | 235 | err = inode_change_ok(inode, attr); |
| 236 | if (err) | ||
| 237 | return err; | ||
| 238 | |||
| 239 | if (attr->ia_valid & ATTR_SIZE) { | ||
| 236 | err = logfs_truncate(inode, attr->ia_size); | 240 | err = logfs_truncate(inode, attr->ia_size); |
| 237 | attr->ia_valid &= ~ATTR_SIZE; | 241 | if (err) |
| 242 | return err; | ||
| 243 | } | ||
| 238 | 244 | ||
| 239 | if (!err) | 245 | setattr_copy(inode, attr); |
| 240 | err = inode_change_ok(inode, attr); | 246 | mark_inode_dirty(inode); |
| 241 | if (!err) | 247 | return 0; |
| 242 | err = inode_setattr(inode, attr); | ||
| 243 | return err; | ||
| 244 | } | 248 | } |
| 245 | 249 | ||
| 246 | const struct inode_operations logfs_reg_iops = { | 250 | const struct inode_operations logfs_reg_iops = { |
