diff options
author | Christoph Hellwig <[email protected]> | 2014-09-07 08:36:40 -0700 |
---|---|---|
committer | Trond Myklebust <[email protected]> | 2014-09-10 12:47:04 -0700 |
commit | 08a899d5d9532efb7dea99aad44dc9af39627a92 (patch) | |
tree | 8dd3f17b0b9fecbe9581084b33e826c05ada405a | |
parent | 20d655d6197d02e98574208839da11684dc2ad1f (diff) |
nfs: setattr can only change regular file sizes
The VFS never calls setattr with ATTR_SIZE on anything but regular
files. Remove the if check and turn it into an assert similar to
what some other file systems do.
Signed-off-by: Christoph Hellwig <[email protected]>
Signed-off-by: Trond Myklebust <[email protected]>
-rw-r--r-- | fs/nfs/inode.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index 577a36f0a510..141c9f4a40de 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c @@ -505,7 +505,9 @@ nfs_setattr(struct dentry *dentry, struct iattr *attr) attr->ia_valid &= ~ATTR_MODE; if (attr->ia_valid & ATTR_SIZE) { - if (!S_ISREG(inode->i_mode) || attr->ia_size == i_size_read(inode)) + BUG_ON(!S_ISREG(inode->i_mode)); + + if (attr->ia_size == i_size_read(inode)) attr->ia_valid &= ~ATTR_SIZE; } |