From: Christoph Hellwig Date: Sun, 7 Sep 2014 15:36:40 +0000 (-0700) Subject: nfs: setattr can only change regular file sizes X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=08a899d5d9532efb7dea99aad44dc9af39627a92;p=openwrt%2Fstaging%2Fblogic.git 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 Signed-off-by: Trond Myklebust --- 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; }