summaryrefslogtreecommitdiffstats
path: root/fs/cifs/inode.c
diff options
context:
space:
mode:
authorSteve French <sfrench@us.ibm.com>2007-02-08 18:14:13 +0000
committerSteve French <sfrench@us.ibm.com>2007-02-08 18:14:13 +0000
commit7ba526316ae122e60c0c7a40793491f71b9ec590 (patch)
tree5cac6a04506e79823245cd2996572b48b468e736 /fs/cifs/inode.c
parent595dcfecf642c8b0772989ed46f15ee03c25a205 (diff)
downloadkernel-crypto-7ba526316ae122e60c0c7a40793491f71b9ec590.tar.gz
kernel-crypto-7ba526316ae122e60c0c7a40793491f71b9ec590.tar.xz
kernel-crypto-7ba526316ae122e60c0c7a40793491f71b9ec590.zip
[CIFS] Allow update of EOF on remote extend of file
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/inode.c')
-rw-r--r--fs/cifs/inode.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c
index c4fa91b8b62..3f5bc83dc3d 100644
--- a/fs/cifs/inode.c
+++ b/fs/cifs/inode.c
@@ -140,7 +140,7 @@ int cifs_get_inode_info_unix(struct inode **pinode,
inode->i_gid = le64_to_cpu(findData.Gid);
inode->i_nlink = le64_to_cpu(findData.Nlinks);
- if (is_size_safe_to_change(cifsInfo)) {
+ if (is_size_safe_to_change(cifsInfo, end_of_file)) {
/* can not safely change the file size here if the
client is writing to it due to potential races */
@@ -491,8 +491,8 @@ int cifs_get_inode_info(struct inode **pinode,
/* BB add code here -
validate if device or weird share or device type? */
}
- if (is_size_safe_to_change(cifsInfo)) {
- /* can not safely change the file size here if the
+ if (is_size_safe_to_change(cifsInfo, le64_to_cpu(pfindData->EndOfFile))) {
+ /* can not safely shrink the file size here if the
client is writing to it due to potential races */
i_size_write(inode,le64_to_cpu(pfindData->EndOfFile));