Commit fc66dac0 authored by Konstantin Baev's avatar Konstantin Baev

Update sources 2.6.25 - 2.6.28

Fixed F_GETLK problem connected with wrong returning file_lock structure (Bug http://bugs.etersoft.ru/show_bug.cgi?id=3660)
parent e3e64e26
......@@ -1864,6 +1864,16 @@ CIFSSMBPosixLock(const int xid, struct cifsTconInfo *tcon,
((char *)&pSMBr->hdr.Protocol + data_offset);
if (parm_data->lock_type == cpu_to_le16(CIFS_UNLCK))
pLockData->fl_type = F_UNLCK;
else {
if (parm_data->lock_type == cpu_to_le16(CIFS_RDLCK))
pLockData->fl_type = F_RDLCK;
else if (parm_data->lock_type == cpu_to_le16(CIFS_WRLCK))
pLockData->fl_type = F_WRLCK;
pLockData->fl_start = parm_data->start;
pLockData->fl_end = parm_data->start + parm_data->length - 1;
pLockData->fl_pid = parm_data->pid;
}
}
plk_err_exit:
......
......@@ -1904,6 +1904,16 @@ CIFSSMBPosixLock(const int xid, struct cifsTconInfo *tcon,
((char *)&pSMBr->hdr.Protocol + data_offset);
if (parm_data->lock_type == cpu_to_le16(CIFS_UNLCK))
pLockData->fl_type = F_UNLCK;
else {
if (parm_data->lock_type == cpu_to_le16(CIFS_RDLCK))
pLockData->fl_type = F_RDLCK;
else if (parm_data->lock_type == cpu_to_le16(CIFS_WRLCK))
pLockData->fl_type = F_WRLCK;
pLockData->fl_start = parm_data->start;
pLockData->fl_end = parm_data->start + parm_data->length - 1;
pLockData->fl_pid = parm_data->pid;
}
}
plk_err_exit:
......
......@@ -1879,6 +1879,16 @@ CIFSSMBPosixLock(const int xid, struct cifsTconInfo *tcon,
((char *)&pSMBr->hdr.Protocol + data_offset);
if (parm_data->lock_type == cpu_to_le16(CIFS_UNLCK))
pLockData->fl_type = F_UNLCK;
else {
if (parm_data->lock_type == cpu_to_le16(CIFS_RDLCK))
pLockData->fl_type = F_RDLCK;
else if (parm_data->lock_type == cpu_to_le16(CIFS_WRLCK))
pLockData->fl_type = F_WRLCK;
pLockData->fl_start = parm_data->start;
pLockData->fl_end = parm_data->start + parm_data->length - 1;
pLockData->fl_pid = parm_data->pid;
}
}
plk_err_exit:
......
......@@ -1881,6 +1881,16 @@ CIFSSMBPosixLock(const int xid, struct cifsTconInfo *tcon,
((char *)&pSMBr->hdr.Protocol + data_offset);
if (parm_data->lock_type == cpu_to_le16(CIFS_UNLCK))
pLockData->fl_type = F_UNLCK;
else {
if (parm_data->lock_type == cpu_to_le16(CIFS_RDLCK))
pLockData->fl_type = F_RDLCK;
else if (parm_data->lock_type == cpu_to_le16(CIFS_WRLCK))
pLockData->fl_type = F_WRLCK;
pLockData->fl_start = parm_data->start;
pLockData->fl_end = parm_data->start + parm_data->length - 1;
pLockData->fl_pid = parm_data->pid;
}
}
plk_err_exit:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment