diff options
author | Steve French <sfrench@us.ibm.com> | 2006-01-12 17:47:08 -0500 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2006-01-12 17:47:08 -0500 |
commit | 94bc2be31a01a3055ec94176e595dfe208e92d3b (patch) | |
tree | ebfbe81c6718a6390bfa1b99c6d228237d818576 /fs/cifs/inode.c | |
parent | c32a0b689cb9cc160cfcd19735bbf50bb70c6ef4 (diff) | |
parent | 58cba4650a7a414eabd2b40cc9d8e45fcdf192d9 (diff) |
Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/inode.c')
-rw-r--r-- | fs/cifs/inode.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c index f65310cc60a1..59359911f481 100644 --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c | |||
@@ -1041,9 +1041,9 @@ int cifs_revalidate(struct dentry *direntry) | |||
1041 | } | 1041 | } |
1042 | 1042 | ||
1043 | /* can not grab this sem since kernel filesys locking documentation | 1043 | /* can not grab this sem since kernel filesys locking documentation |
1044 | indicates i_sem may be taken by the kernel on lookup and rename | 1044 | indicates i_mutex may be taken by the kernel on lookup and rename |
1045 | which could deadlock if we grab the i_sem here as well */ | 1045 | which could deadlock if we grab the i_mutex here as well */ |
1046 | /* down(&direntry->d_inode->i_sem);*/ | 1046 | /* mutex_lock(&direntry->d_inode->i_mutex);*/ |
1047 | /* need to write out dirty pages here */ | 1047 | /* need to write out dirty pages here */ |
1048 | if (direntry->d_inode->i_mapping) { | 1048 | if (direntry->d_inode->i_mapping) { |
1049 | /* do we need to lock inode until after invalidate completes | 1049 | /* do we need to lock inode until after invalidate completes |
@@ -1067,7 +1067,7 @@ int cifs_revalidate(struct dentry *direntry) | |||
1067 | } | 1067 | } |
1068 | } | 1068 | } |
1069 | } | 1069 | } |
1070 | /* up(&direntry->d_inode->i_sem); */ | 1070 | /* mutex_unlock(&direntry->d_inode->i_mutex); */ |
1071 | 1071 | ||
1072 | kfree(full_path); | 1072 | kfree(full_path); |
1073 | FreeXid(xid); | 1073 | FreeXid(xid); |
@@ -1149,8 +1149,7 @@ int cifs_setattr(struct dentry *direntry, struct iattr *attrs) | |||
1149 | /* BB check if we need to refresh inode from server now ? BB */ | 1149 | /* BB check if we need to refresh inode from server now ? BB */ |
1150 | 1150 | ||
1151 | /* need to flush data before changing file size on server */ | 1151 | /* need to flush data before changing file size on server */ |
1152 | filemap_fdatawrite(direntry->d_inode->i_mapping); | 1152 | filemap_write_and_wait(direntry->d_inode->i_mapping); |
1153 | filemap_fdatawait(direntry->d_inode->i_mapping); | ||
1154 | 1153 | ||
1155 | if (attrs->ia_valid & ATTR_SIZE) { | 1154 | if (attrs->ia_valid & ATTR_SIZE) { |
1156 | /* To avoid spurious oplock breaks from server, in the case of | 1155 | /* To avoid spurious oplock breaks from server, in the case of |