2011/10/29 Pavel Shilovsky <piastry@xxxxxxxxxxx>: > 2011/10/26 Pavel Shilovsky <piastry@xxxxxxxxxxx>: >> and simplify the error handling. >> >> Signed-off-by: Pavel Shilovsky <piastry@xxxxxxxxxxx> >> --- >> fs/cifs/file.c | 23 ++++++++++++++++++++--- >> 1 files changed, 20 insertions(+), 3 deletions(-) >> >> diff --git a/fs/cifs/file.c b/fs/cifs/file.c >> index a43856a..6bf14ed 100644 >> --- a/fs/cifs/file.c >> +++ b/fs/cifs/file.c >> @@ -920,6 +920,9 @@ cifs_posix_lock_test(struct file *file, struct file_lock *flock) >> struct cifsInodeInfo *cinode = CIFS_I(file->f_path.dentry->d_inode); >> unsigned char saved_type = flock->fl_type; >> >> + if ((flock->fl_flags & FL_POSIX) == 0) >> + return 1; >> + >> mutex_lock(&cinode->lock_mutex); >> posix_test_lock(file, flock); >> >> @@ -936,12 +939,15 @@ static int >> cifs_posix_lock_set(struct file *file, struct file_lock *flock) >> { >> struct cifsInodeInfo *cinode = CIFS_I(file->f_path.dentry->d_inode); >> - int rc; >> + int rc = 1; >> + >> + if ((flock->fl_flags & FL_POSIX) == 0) >> + return rc; >> >> mutex_lock(&cinode->lock_mutex); >> if (!cinode->can_cache_brlcks) { >> mutex_unlock(&cinode->lock_mutex); >> - return 1; >> + return rc; >> } >> rc = posix_lock_file_wait(file, flock); >> mutex_unlock(&cinode->lock_mutex); >> @@ -1371,7 +1377,18 @@ cifs_setlk(struct file *file, struct file_lock *flock, __u8 type, >> rc = CIFSSMBPosixLock(xid, tcon, netfid, current->tgid, >> 0 /* set */, length, flock, >> posix_lock_type, wait_flag); >> - goto out; >> + if (rc) >> + return rc; >> + >> + if (flock->fl_flags & FL_POSIX) { >> + rc = posix_lock_file_wait(file, flock); >> + if (rc) >> + cERROR(1, "Error occurs in posix_lock_file_wait" >> + " after we send the request to the " >> + "server"); >> + } >> + >> + return rc; > > Seems like we haven't return rc from posix_lock_file_wait, because we ^^^ I meant "should not return" here. > have already set a lock on the server - will respin this patch. -- Best regards, Pavel Shilovsky. -- To unsubscribe from this list: send the line "unsubscribe linux-cifs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html