diff options
Diffstat (limited to 'fs/cifs/file.c')
-rw-r--r-- | fs/cifs/file.c | 114 |
1 files changed, 57 insertions, 57 deletions
diff --git a/fs/cifs/file.c b/fs/cifs/file.c index 2436ed8fc840..1aa95a50cac2 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c | |||
@@ -122,34 +122,34 @@ static inline int cifs_open_inode_helper(struct inode *inode, struct file *file, | |||
122 | /* if not oplocked, invalidate inode pages if mtime or file | 122 | /* if not oplocked, invalidate inode pages if mtime or file |
123 | size changed */ | 123 | size changed */ |
124 | temp = cifs_NTtimeToUnix(le64_to_cpu(buf->LastWriteTime)); | 124 | temp = cifs_NTtimeToUnix(le64_to_cpu(buf->LastWriteTime)); |
125 | if (timespec_equal(&file->f_dentry->d_inode->i_mtime, &temp) && | 125 | if (timespec_equal(&file->f_path.dentry->d_inode->i_mtime, &temp) && |
126 | (file->f_dentry->d_inode->i_size == | 126 | (file->f_path.dentry->d_inode->i_size == |
127 | (loff_t)le64_to_cpu(buf->EndOfFile))) { | 127 | (loff_t)le64_to_cpu(buf->EndOfFile))) { |
128 | cFYI(1, ("inode unchanged on server")); | 128 | cFYI(1, ("inode unchanged on server")); |
129 | } else { | 129 | } else { |
130 | if (file->f_dentry->d_inode->i_mapping) { | 130 | if (file->f_path.dentry->d_inode->i_mapping) { |
131 | /* BB no need to lock inode until after invalidate | 131 | /* BB no need to lock inode until after invalidate |
132 | since namei code should already have it locked? */ | 132 | since namei code should already have it locked? */ |
133 | filemap_write_and_wait(file->f_dentry->d_inode->i_mapping); | 133 | filemap_write_and_wait(file->f_path.dentry->d_inode->i_mapping); |
134 | } | 134 | } |
135 | cFYI(1, ("invalidating remote inode since open detected it " | 135 | cFYI(1, ("invalidating remote inode since open detected it " |
136 | "changed")); | 136 | "changed")); |
137 | invalidate_remote_inode(file->f_dentry->d_inode); | 137 | invalidate_remote_inode(file->f_path.dentry->d_inode); |
138 | } | 138 | } |
139 | 139 | ||
140 | client_can_cache: | 140 | client_can_cache: |
141 | if (pTcon->ses->capabilities & CAP_UNIX) | 141 | if (pTcon->ses->capabilities & CAP_UNIX) |
142 | rc = cifs_get_inode_info_unix(&file->f_dentry->d_inode, | 142 | rc = cifs_get_inode_info_unix(&file->f_path.dentry->d_inode, |
143 | full_path, inode->i_sb, xid); | 143 | full_path, inode->i_sb, xid); |
144 | else | 144 | else |
145 | rc = cifs_get_inode_info(&file->f_dentry->d_inode, | 145 | rc = cifs_get_inode_info(&file->f_path.dentry->d_inode, |
146 | full_path, buf, inode->i_sb, xid); | 146 | full_path, buf, inode->i_sb, xid); |
147 | 147 | ||
148 | if ((*oplock & 0xF) == OPLOCK_EXCLUSIVE) { | 148 | if ((*oplock & 0xF) == OPLOCK_EXCLUSIVE) { |
149 | pCifsInode->clientCanCacheAll = TRUE; | 149 | pCifsInode->clientCanCacheAll = TRUE; |
150 | pCifsInode->clientCanCacheRead = TRUE; | 150 | pCifsInode->clientCanCacheRead = TRUE; |
151 | cFYI(1, ("Exclusive Oplock granted on inode %p", | 151 | cFYI(1, ("Exclusive Oplock granted on inode %p", |
152 | file->f_dentry->d_inode)); | 152 | file->f_path.dentry->d_inode)); |
153 | } else if ((*oplock & 0xF) == OPLOCK_READ) | 153 | } else if ((*oplock & 0xF) == OPLOCK_READ) |
154 | pCifsInode->clientCanCacheRead = TRUE; | 154 | pCifsInode->clientCanCacheRead = TRUE; |
155 | 155 | ||
@@ -178,7 +178,7 @@ int cifs_open(struct inode *inode, struct file *file) | |||
178 | 178 | ||
179 | if (file->f_flags & O_CREAT) { | 179 | if (file->f_flags & O_CREAT) { |
180 | /* search inode for this file and fill in file->private_data */ | 180 | /* search inode for this file and fill in file->private_data */ |
181 | pCifsInode = CIFS_I(file->f_dentry->d_inode); | 181 | pCifsInode = CIFS_I(file->f_path.dentry->d_inode); |
182 | read_lock(&GlobalSMBSeslock); | 182 | read_lock(&GlobalSMBSeslock); |
183 | list_for_each(tmp, &pCifsInode->openFileList) { | 183 | list_for_each(tmp, &pCifsInode->openFileList) { |
184 | pCifsFile = list_entry(tmp, struct cifsFileInfo, | 184 | pCifsFile = list_entry(tmp, struct cifsFileInfo, |
@@ -206,7 +206,7 @@ int cifs_open(struct inode *inode, struct file *file) | |||
206 | } | 206 | } |
207 | } | 207 | } |
208 | 208 | ||
209 | full_path = build_path_from_dentry(file->f_dentry); | 209 | full_path = build_path_from_dentry(file->f_path.dentry); |
210 | if (full_path == NULL) { | 210 | if (full_path == NULL) { |
211 | FreeXid(xid); | 211 | FreeXid(xid); |
212 | return -ENOMEM; | 212 | return -ENOMEM; |
@@ -291,7 +291,7 @@ int cifs_open(struct inode *inode, struct file *file) | |||
291 | write_lock(&GlobalSMBSeslock); | 291 | write_lock(&GlobalSMBSeslock); |
292 | list_add(&pCifsFile->tlist, &pTcon->openFileList); | 292 | list_add(&pCifsFile->tlist, &pTcon->openFileList); |
293 | 293 | ||
294 | pCifsInode = CIFS_I(file->f_dentry->d_inode); | 294 | pCifsInode = CIFS_I(file->f_path.dentry->d_inode); |
295 | if (pCifsInode) { | 295 | if (pCifsInode) { |
296 | rc = cifs_open_inode_helper(inode, file, pCifsInode, | 296 | rc = cifs_open_inode_helper(inode, file, pCifsInode, |
297 | pCifsFile, pTcon, | 297 | pCifsFile, pTcon, |
@@ -366,7 +366,7 @@ static int cifs_reopen_file(struct inode *inode, struct file *file, | |||
366 | return 0; | 366 | return 0; |
367 | } | 367 | } |
368 | 368 | ||
369 | if (file->f_dentry == NULL) { | 369 | if (file->f_path.dentry == NULL) { |
370 | up(&pCifsFile->fh_sem); | 370 | up(&pCifsFile->fh_sem); |
371 | cFYI(1, ("failed file reopen, no valid name if dentry freed")); | 371 | cFYI(1, ("failed file reopen, no valid name if dentry freed")); |
372 | FreeXid(xid); | 372 | FreeXid(xid); |
@@ -378,7 +378,7 @@ static int cifs_reopen_file(struct inode *inode, struct file *file, | |||
378 | those that already have the rename sem can end up causing writepage | 378 | those that already have the rename sem can end up causing writepage |
379 | to get called and if the server was down that means we end up here, | 379 | to get called and if the server was down that means we end up here, |
380 | and we can never tell if the caller already has the rename_sem */ | 380 | and we can never tell if the caller already has the rename_sem */ |
381 | full_path = build_path_from_dentry(file->f_dentry); | 381 | full_path = build_path_from_dentry(file->f_path.dentry); |
382 | if (full_path == NULL) { | 382 | if (full_path == NULL) { |
383 | up(&pCifsFile->fh_sem); | 383 | up(&pCifsFile->fh_sem); |
384 | FreeXid(xid); | 384 | FreeXid(xid); |
@@ -444,7 +444,7 @@ static int cifs_reopen_file(struct inode *inode, struct file *file, | |||
444 | pCifsInode->clientCanCacheAll = TRUE; | 444 | pCifsInode->clientCanCacheAll = TRUE; |
445 | pCifsInode->clientCanCacheRead = TRUE; | 445 | pCifsInode->clientCanCacheRead = TRUE; |
446 | cFYI(1, ("Exclusive Oplock granted on inode %p", | 446 | cFYI(1, ("Exclusive Oplock granted on inode %p", |
447 | file->f_dentry->d_inode)); | 447 | file->f_path.dentry->d_inode)); |
448 | } else if ((oplock & 0xF) == OPLOCK_READ) { | 448 | } else if ((oplock & 0xF) == OPLOCK_READ) { |
449 | pCifsInode->clientCanCacheRead = TRUE; | 449 | pCifsInode->clientCanCacheRead = TRUE; |
450 | pCifsInode->clientCanCacheAll = FALSE; | 450 | pCifsInode->clientCanCacheAll = FALSE; |
@@ -551,7 +551,7 @@ int cifs_closedir(struct inode *inode, struct file *file) | |||
551 | 551 | ||
552 | if (pCFileStruct) { | 552 | if (pCFileStruct) { |
553 | struct cifsTconInfo *pTcon; | 553 | struct cifsTconInfo *pTcon; |
554 | struct cifs_sb_info *cifs_sb = CIFS_SB(file->f_dentry->d_sb); | 554 | struct cifs_sb_info *cifs_sb = CIFS_SB(file->f_path.dentry->d_sb); |
555 | 555 | ||
556 | pTcon = cifs_sb->tcon; | 556 | pTcon = cifs_sb->tcon; |
557 | 557 | ||
@@ -664,7 +664,7 @@ int cifs_lock(struct file *file, int cmd, struct file_lock *pfLock) | |||
664 | } else | 664 | } else |
665 | cFYI(1, ("Unknown type of lock")); | 665 | cFYI(1, ("Unknown type of lock")); |
666 | 666 | ||
667 | cifs_sb = CIFS_SB(file->f_dentry->d_sb); | 667 | cifs_sb = CIFS_SB(file->f_path.dentry->d_sb); |
668 | pTcon = cifs_sb->tcon; | 668 | pTcon = cifs_sb->tcon; |
669 | 669 | ||
670 | if (file->private_data == NULL) { | 670 | if (file->private_data == NULL) { |
@@ -791,10 +791,10 @@ ssize_t cifs_user_write(struct file *file, const char __user *write_data, | |||
791 | int xid, long_op; | 791 | int xid, long_op; |
792 | struct cifsFileInfo *open_file; | 792 | struct cifsFileInfo *open_file; |
793 | 793 | ||
794 | if (file->f_dentry == NULL) | 794 | if (file->f_path.dentry == NULL) |
795 | return -EBADF; | 795 | return -EBADF; |
796 | 796 | ||
797 | cifs_sb = CIFS_SB(file->f_dentry->d_sb); | 797 | cifs_sb = CIFS_SB(file->f_path.dentry->d_sb); |
798 | if (cifs_sb == NULL) | 798 | if (cifs_sb == NULL) |
799 | return -EBADF; | 799 | return -EBADF; |
800 | 800 | ||
@@ -802,7 +802,7 @@ ssize_t cifs_user_write(struct file *file, const char __user *write_data, | |||
802 | 802 | ||
803 | /* cFYI(1, | 803 | /* cFYI(1, |
804 | (" write %d bytes to offset %lld of %s", write_size, | 804 | (" write %d bytes to offset %lld of %s", write_size, |
805 | *poffset, file->f_dentry->d_name.name)); */ | 805 | *poffset, file->f_path.dentry->d_name.name)); */ |
806 | 806 | ||
807 | if (file->private_data == NULL) | 807 | if (file->private_data == NULL) |
808 | return -EBADF; | 808 | return -EBADF; |
@@ -810,12 +810,12 @@ ssize_t cifs_user_write(struct file *file, const char __user *write_data, | |||
810 | open_file = (struct cifsFileInfo *) file->private_data; | 810 | open_file = (struct cifsFileInfo *) file->private_data; |
811 | 811 | ||
812 | xid = GetXid(); | 812 | xid = GetXid(); |
813 | if (file->f_dentry->d_inode == NULL) { | 813 | if (file->f_path.dentry->d_inode == NULL) { |
814 | FreeXid(xid); | 814 | FreeXid(xid); |
815 | return -EBADF; | 815 | return -EBADF; |
816 | } | 816 | } |
817 | 817 | ||
818 | if (*poffset > file->f_dentry->d_inode->i_size) | 818 | if (*poffset > file->f_path.dentry->d_inode->i_size) |
819 | long_op = 2; /* writes past end of file can take a long time */ | 819 | long_op = 2; /* writes past end of file can take a long time */ |
820 | else | 820 | else |
821 | long_op = 1; | 821 | long_op = 1; |
@@ -840,8 +840,8 @@ ssize_t cifs_user_write(struct file *file, const char __user *write_data, | |||
840 | return -EBADF; | 840 | return -EBADF; |
841 | } | 841 | } |
842 | if (open_file->invalidHandle) { | 842 | if (open_file->invalidHandle) { |
843 | if ((file->f_dentry == NULL) || | 843 | if ((file->f_path.dentry == NULL) || |
844 | (file->f_dentry->d_inode == NULL)) { | 844 | (file->f_path.dentry->d_inode == NULL)) { |
845 | FreeXid(xid); | 845 | FreeXid(xid); |
846 | return total_written; | 846 | return total_written; |
847 | } | 847 | } |
@@ -849,7 +849,7 @@ ssize_t cifs_user_write(struct file *file, const char __user *write_data, | |||
849 | filemap_fdatawait from here so tell | 849 | filemap_fdatawait from here so tell |
850 | reopen_file not to flush data to server | 850 | reopen_file not to flush data to server |
851 | now */ | 851 | now */ |
852 | rc = cifs_reopen_file(file->f_dentry->d_inode, | 852 | rc = cifs_reopen_file(file->f_path.dentry->d_inode, |
853 | file, FALSE); | 853 | file, FALSE); |
854 | if (rc != 0) | 854 | if (rc != 0) |
855 | break; | 855 | break; |
@@ -878,17 +878,17 @@ ssize_t cifs_user_write(struct file *file, const char __user *write_data, | |||
878 | cifs_stats_bytes_written(pTcon, total_written); | 878 | cifs_stats_bytes_written(pTcon, total_written); |
879 | 879 | ||
880 | /* since the write may have blocked check these pointers again */ | 880 | /* since the write may have blocked check these pointers again */ |
881 | if (file->f_dentry) { | 881 | if (file->f_path.dentry) { |
882 | if (file->f_dentry->d_inode) { | 882 | if (file->f_path.dentry->d_inode) { |
883 | struct inode *inode = file->f_dentry->d_inode; | 883 | struct inode *inode = file->f_path.dentry->d_inode; |
884 | inode->i_ctime = inode->i_mtime = | 884 | inode->i_ctime = inode->i_mtime = |
885 | current_fs_time(inode->i_sb); | 885 | current_fs_time(inode->i_sb); |
886 | if (total_written > 0) { | 886 | if (total_written > 0) { |
887 | if (*poffset > file->f_dentry->d_inode->i_size) | 887 | if (*poffset > file->f_path.dentry->d_inode->i_size) |
888 | i_size_write(file->f_dentry->d_inode, | 888 | i_size_write(file->f_path.dentry->d_inode, |
889 | *poffset); | 889 | *poffset); |
890 | } | 890 | } |
891 | mark_inode_dirty_sync(file->f_dentry->d_inode); | 891 | mark_inode_dirty_sync(file->f_path.dentry->d_inode); |
892 | } | 892 | } |
893 | } | 893 | } |
894 | FreeXid(xid); | 894 | FreeXid(xid); |
@@ -906,17 +906,17 @@ static ssize_t cifs_write(struct file *file, const char *write_data, | |||
906 | int xid, long_op; | 906 | int xid, long_op; |
907 | struct cifsFileInfo *open_file; | 907 | struct cifsFileInfo *open_file; |
908 | 908 | ||
909 | if (file->f_dentry == NULL) | 909 | if (file->f_path.dentry == NULL) |
910 | return -EBADF; | 910 | return -EBADF; |
911 | 911 | ||
912 | cifs_sb = CIFS_SB(file->f_dentry->d_sb); | 912 | cifs_sb = CIFS_SB(file->f_path.dentry->d_sb); |
913 | if (cifs_sb == NULL) | 913 | if (cifs_sb == NULL) |
914 | return -EBADF; | 914 | return -EBADF; |
915 | 915 | ||
916 | pTcon = cifs_sb->tcon; | 916 | pTcon = cifs_sb->tcon; |
917 | 917 | ||
918 | cFYI(1,("write %zd bytes to offset %lld of %s", write_size, | 918 | cFYI(1,("write %zd bytes to offset %lld of %s", write_size, |
919 | *poffset, file->f_dentry->d_name.name)); | 919 | *poffset, file->f_path.dentry->d_name.name)); |
920 | 920 | ||
921 | if (file->private_data == NULL) | 921 | if (file->private_data == NULL) |
922 | return -EBADF; | 922 | return -EBADF; |
@@ -924,12 +924,12 @@ static ssize_t cifs_write(struct file *file, const char *write_data, | |||
924 | open_file = (struct cifsFileInfo *)file->private_data; | 924 | open_file = (struct cifsFileInfo *)file->private_data; |
925 | 925 | ||
926 | xid = GetXid(); | 926 | xid = GetXid(); |
927 | if (file->f_dentry->d_inode == NULL) { | 927 | if (file->f_path.dentry->d_inode == NULL) { |
928 | FreeXid(xid); | 928 | FreeXid(xid); |
929 | return -EBADF; | 929 | return -EBADF; |
930 | } | 930 | } |
931 | 931 | ||
932 | if (*poffset > file->f_dentry->d_inode->i_size) | 932 | if (*poffset > file->f_path.dentry->d_inode->i_size) |
933 | long_op = 2; /* writes past end of file can take a long time */ | 933 | long_op = 2; /* writes past end of file can take a long time */ |
934 | else | 934 | else |
935 | long_op = 1; | 935 | long_op = 1; |
@@ -955,8 +955,8 @@ static ssize_t cifs_write(struct file *file, const char *write_data, | |||
955 | return -EBADF; | 955 | return -EBADF; |
956 | } | 956 | } |
957 | if (open_file->invalidHandle) { | 957 | if (open_file->invalidHandle) { |
958 | if ((file->f_dentry == NULL) || | 958 | if ((file->f_path.dentry == NULL) || |
959 | (file->f_dentry->d_inode == NULL)) { | 959 | (file->f_path.dentry->d_inode == NULL)) { |
960 | FreeXid(xid); | 960 | FreeXid(xid); |
961 | return total_written; | 961 | return total_written; |
962 | } | 962 | } |
@@ -964,7 +964,7 @@ static ssize_t cifs_write(struct file *file, const char *write_data, | |||
964 | filemap_fdatawait from here so tell | 964 | filemap_fdatawait from here so tell |
965 | reopen_file not to flush data to | 965 | reopen_file not to flush data to |
966 | server now */ | 966 | server now */ |
967 | rc = cifs_reopen_file(file->f_dentry->d_inode, | 967 | rc = cifs_reopen_file(file->f_path.dentry->d_inode, |
968 | file, FALSE); | 968 | file, FALSE); |
969 | if (rc != 0) | 969 | if (rc != 0) |
970 | break; | 970 | break; |
@@ -1011,16 +1011,16 @@ static ssize_t cifs_write(struct file *file, const char *write_data, | |||
1011 | cifs_stats_bytes_written(pTcon, total_written); | 1011 | cifs_stats_bytes_written(pTcon, total_written); |
1012 | 1012 | ||
1013 | /* since the write may have blocked check these pointers again */ | 1013 | /* since the write may have blocked check these pointers again */ |
1014 | if (file->f_dentry) { | 1014 | if (file->f_path.dentry) { |
1015 | if (file->f_dentry->d_inode) { | 1015 | if (file->f_path.dentry->d_inode) { |
1016 | file->f_dentry->d_inode->i_ctime = | 1016 | file->f_path.dentry->d_inode->i_ctime = |
1017 | file->f_dentry->d_inode->i_mtime = CURRENT_TIME; | 1017 | file->f_path.dentry->d_inode->i_mtime = CURRENT_TIME; |
1018 | if (total_written > 0) { | 1018 | if (total_written > 0) { |
1019 | if (*poffset > file->f_dentry->d_inode->i_size) | 1019 | if (*poffset > file->f_path.dentry->d_inode->i_size) |
1020 | i_size_write(file->f_dentry->d_inode, | 1020 | i_size_write(file->f_path.dentry->d_inode, |
1021 | *poffset); | 1021 | *poffset); |
1022 | } | 1022 | } |
1023 | mark_inode_dirty_sync(file->f_dentry->d_inode); | 1023 | mark_inode_dirty_sync(file->f_path.dentry->d_inode); |
1024 | } | 1024 | } |
1025 | } | 1025 | } |
1026 | FreeXid(xid); | 1026 | FreeXid(xid); |
@@ -1384,7 +1384,7 @@ static int cifs_commit_write(struct file *file, struct page *page, | |||
1384 | if ((open_file->invalidHandle) && | 1384 | if ((open_file->invalidHandle) && |
1385 | (!open_file->closePend)) { | 1385 | (!open_file->closePend)) { |
1386 | rc = cifs_reopen_file( | 1386 | rc = cifs_reopen_file( |
1387 | file->f_dentry->d_inode, file); | 1387 | file->f_path.dentry->d_inode, file); |
1388 | if (rc != 0) | 1388 | if (rc != 0) |
1389 | break; | 1389 | break; |
1390 | } | 1390 | } |
@@ -1434,7 +1434,7 @@ int cifs_fsync(struct file *file, struct dentry *dentry, int datasync) | |||
1434 | { | 1434 | { |
1435 | int xid; | 1435 | int xid; |
1436 | int rc = 0; | 1436 | int rc = 0; |
1437 | struct inode *inode = file->f_dentry->d_inode; | 1437 | struct inode *inode = file->f_path.dentry->d_inode; |
1438 | 1438 | ||
1439 | xid = GetXid(); | 1439 | xid = GetXid(); |
1440 | 1440 | ||
@@ -1482,7 +1482,7 @@ int cifs_fsync(struct file *file, struct dentry *dentry, int datasync) | |||
1482 | */ | 1482 | */ |
1483 | int cifs_flush(struct file *file, fl_owner_t id) | 1483 | int cifs_flush(struct file *file, fl_owner_t id) |
1484 | { | 1484 | { |
1485 | struct inode * inode = file->f_dentry->d_inode; | 1485 | struct inode * inode = file->f_path.dentry->d_inode; |
1486 | int rc = 0; | 1486 | int rc = 0; |
1487 | 1487 | ||
1488 | /* Rather than do the steps manually: | 1488 | /* Rather than do the steps manually: |
@@ -1519,7 +1519,7 @@ ssize_t cifs_user_read(struct file *file, char __user *read_data, | |||
1519 | struct smb_com_read_rsp *pSMBr; | 1519 | struct smb_com_read_rsp *pSMBr; |
1520 | 1520 | ||
1521 | xid = GetXid(); | 1521 | xid = GetXid(); |
1522 | cifs_sb = CIFS_SB(file->f_dentry->d_sb); | 1522 | cifs_sb = CIFS_SB(file->f_path.dentry->d_sb); |
1523 | pTcon = cifs_sb->tcon; | 1523 | pTcon = cifs_sb->tcon; |
1524 | 1524 | ||
1525 | if (file->private_data == NULL) { | 1525 | if (file->private_data == NULL) { |
@@ -1542,7 +1542,7 @@ ssize_t cifs_user_read(struct file *file, char __user *read_data, | |||
1542 | int buf_type = CIFS_NO_BUFFER; | 1542 | int buf_type = CIFS_NO_BUFFER; |
1543 | if ((open_file->invalidHandle) && | 1543 | if ((open_file->invalidHandle) && |
1544 | (!open_file->closePend)) { | 1544 | (!open_file->closePend)) { |
1545 | rc = cifs_reopen_file(file->f_dentry->d_inode, | 1545 | rc = cifs_reopen_file(file->f_path.dentry->d_inode, |
1546 | file, TRUE); | 1546 | file, TRUE); |
1547 | if (rc != 0) | 1547 | if (rc != 0) |
1548 | break; | 1548 | break; |
@@ -1601,7 +1601,7 @@ static ssize_t cifs_read(struct file *file, char *read_data, size_t read_size, | |||
1601 | int buf_type = CIFS_NO_BUFFER; | 1601 | int buf_type = CIFS_NO_BUFFER; |
1602 | 1602 | ||
1603 | xid = GetXid(); | 1603 | xid = GetXid(); |
1604 | cifs_sb = CIFS_SB(file->f_dentry->d_sb); | 1604 | cifs_sb = CIFS_SB(file->f_path.dentry->d_sb); |
1605 | pTcon = cifs_sb->tcon; | 1605 | pTcon = cifs_sb->tcon; |
1606 | 1606 | ||
1607 | if (file->private_data == NULL) { | 1607 | if (file->private_data == NULL) { |
@@ -1629,7 +1629,7 @@ static ssize_t cifs_read(struct file *file, char *read_data, size_t read_size, | |||
1629 | while (rc == -EAGAIN) { | 1629 | while (rc == -EAGAIN) { |
1630 | if ((open_file->invalidHandle) && | 1630 | if ((open_file->invalidHandle) && |
1631 | (!open_file->closePend)) { | 1631 | (!open_file->closePend)) { |
1632 | rc = cifs_reopen_file(file->f_dentry->d_inode, | 1632 | rc = cifs_reopen_file(file->f_path.dentry->d_inode, |
1633 | file, TRUE); | 1633 | file, TRUE); |
1634 | if (rc != 0) | 1634 | if (rc != 0) |
1635 | break; | 1635 | break; |
@@ -1658,7 +1658,7 @@ static ssize_t cifs_read(struct file *file, char *read_data, size_t read_size, | |||
1658 | 1658 | ||
1659 | int cifs_file_mmap(struct file *file, struct vm_area_struct *vma) | 1659 | int cifs_file_mmap(struct file *file, struct vm_area_struct *vma) |
1660 | { | 1660 | { |
1661 | struct dentry *dentry = file->f_dentry; | 1661 | struct dentry *dentry = file->f_path.dentry; |
1662 | int rc, xid; | 1662 | int rc, xid; |
1663 | 1663 | ||
1664 | xid = GetXid(); | 1664 | xid = GetXid(); |
@@ -1744,7 +1744,7 @@ static int cifs_readpages(struct file *file, struct address_space *mapping, | |||
1744 | return -EBADF; | 1744 | return -EBADF; |
1745 | } | 1745 | } |
1746 | open_file = (struct cifsFileInfo *)file->private_data; | 1746 | open_file = (struct cifsFileInfo *)file->private_data; |
1747 | cifs_sb = CIFS_SB(file->f_dentry->d_sb); | 1747 | cifs_sb = CIFS_SB(file->f_path.dentry->d_sb); |
1748 | pTcon = cifs_sb->tcon; | 1748 | pTcon = cifs_sb->tcon; |
1749 | 1749 | ||
1750 | pagevec_init(&lru_pvec, 0); | 1750 | pagevec_init(&lru_pvec, 0); |
@@ -1786,7 +1786,7 @@ static int cifs_readpages(struct file *file, struct address_space *mapping, | |||
1786 | while (rc == -EAGAIN) { | 1786 | while (rc == -EAGAIN) { |
1787 | if ((open_file->invalidHandle) && | 1787 | if ((open_file->invalidHandle) && |
1788 | (!open_file->closePend)) { | 1788 | (!open_file->closePend)) { |
1789 | rc = cifs_reopen_file(file->f_dentry->d_inode, | 1789 | rc = cifs_reopen_file(file->f_path.dentry->d_inode, |
1790 | file, TRUE); | 1790 | file, TRUE); |
1791 | if (rc != 0) | 1791 | if (rc != 0) |
1792 | break; | 1792 | break; |
@@ -1880,8 +1880,8 @@ static int cifs_readpage_worker(struct file *file, struct page *page, | |||
1880 | else | 1880 | else |
1881 | cFYI(1, ("Bytes read %d",rc)); | 1881 | cFYI(1, ("Bytes read %d",rc)); |
1882 | 1882 | ||
1883 | file->f_dentry->d_inode->i_atime = | 1883 | file->f_path.dentry->d_inode->i_atime = |
1884 | current_fs_time(file->f_dentry->d_inode->i_sb); | 1884 | current_fs_time(file->f_path.dentry->d_inode->i_sb); |
1885 | 1885 | ||
1886 | if (PAGE_CACHE_SIZE > rc) | 1886 | if (PAGE_CACHE_SIZE > rc) |
1887 | memset(read_data + rc, 0, PAGE_CACHE_SIZE - rc); | 1887 | memset(read_data + rc, 0, PAGE_CACHE_SIZE - rc); |