diff options
Diffstat (limited to 'fs/fuse/dir.c')
-rw-r--r-- | fs/fuse/dir.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c index c71a6c092ad9..1cabdb229adb 100644 --- a/fs/fuse/dir.c +++ b/fs/fuse/dir.c | |||
@@ -141,9 +141,6 @@ static int fuse_dentry_revalidate(struct dentry *entry, struct nameidata *nd) | |||
141 | struct fuse_req *forget_req; | 141 | struct fuse_req *forget_req; |
142 | struct dentry *parent; | 142 | struct dentry *parent; |
143 | 143 | ||
144 | /* Doesn't hurt to "reset" the validity timeout */ | ||
145 | fuse_invalidate_entry_cache(entry); | ||
146 | |||
147 | /* For negative dentries, always do a fresh lookup */ | 144 | /* For negative dentries, always do a fresh lookup */ |
148 | if (!inode) | 145 | if (!inode) |
149 | return 0; | 146 | return 0; |
@@ -1027,6 +1024,8 @@ static int fuse_setattr(struct dentry *entry, struct iattr *attr) | |||
1027 | if (attr->ia_valid & ATTR_SIZE) { | 1024 | if (attr->ia_valid & ATTR_SIZE) { |
1028 | unsigned long limit; | 1025 | unsigned long limit; |
1029 | is_truncate = 1; | 1026 | is_truncate = 1; |
1027 | if (IS_SWAPFILE(inode)) | ||
1028 | return -ETXTBSY; | ||
1030 | limit = current->signal->rlim[RLIMIT_FSIZE].rlim_cur; | 1029 | limit = current->signal->rlim[RLIMIT_FSIZE].rlim_cur; |
1031 | if (limit != RLIM_INFINITY && attr->ia_size > (loff_t) limit) { | 1030 | if (limit != RLIM_INFINITY && attr->ia_size > (loff_t) limit) { |
1032 | send_sig(SIGXFSZ, current, 0); | 1031 | send_sig(SIGXFSZ, current, 0); |