mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 11:46:19 +00:00
Rename CIFSSMBSetFileTimes to CIFSSMBSetFileInfo and add PID arg
The new name is more clear since this is also used to set file attributes. We'll need the pid_of_opener arg so that we can pass in filehandles of other pids and spare ourselves an open call. Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
This commit is contained in:
parent
6fc000e519
commit
2dd2dfa060
3 changed files with 13 additions and 14 deletions
|
@ -176,8 +176,9 @@ extern int CIFSSMBSetPathInfo(const int xid, struct cifsTconInfo *tcon,
|
|||
const char *fileName, const FILE_BASIC_INFO *data,
|
||||
const struct nls_table *nls_codepage,
|
||||
int remap_special_chars);
|
||||
extern int CIFSSMBSetFileTimes(const int xid, struct cifsTconInfo *tcon,
|
||||
const FILE_BASIC_INFO *data, __u16 fid);
|
||||
extern int CIFSSMBSetFileInfo(const int xid, struct cifsTconInfo *tcon,
|
||||
const FILE_BASIC_INFO *data, __u16 fid,
|
||||
__u32 pid_of_opener);
|
||||
#if 0
|
||||
extern int CIFSSMBSetAttrLegacy(int xid, struct cifsTconInfo *tcon,
|
||||
char *fileName, __u16 dos_attributes,
|
||||
|
|
|
@ -4816,8 +4816,8 @@ CIFSSMBSetFileSize(const int xid, struct cifsTconInfo *tcon, __u64 size,
|
|||
time and resort to the original setpathinfo level which takes the ancient
|
||||
DOS time format with 2 second granularity */
|
||||
int
|
||||
CIFSSMBSetFileTimes(const int xid, struct cifsTconInfo *tcon,
|
||||
const FILE_BASIC_INFO *data, __u16 fid)
|
||||
CIFSSMBSetFileInfo(const int xid, struct cifsTconInfo *tcon,
|
||||
const FILE_BASIC_INFO *data, __u16 fid, __u32 pid_of_opener)
|
||||
{
|
||||
struct smb_com_transaction2_sfi_req *pSMB = NULL;
|
||||
char *data_offset;
|
||||
|
@ -4830,11 +4830,8 @@ CIFSSMBSetFileTimes(const int xid, struct cifsTconInfo *tcon,
|
|||
if (rc)
|
||||
return rc;
|
||||
|
||||
/* At this point there is no need to override the current pid
|
||||
with the pid of the opener, but that could change if we someday
|
||||
use an existing handle (rather than opening one on the fly) */
|
||||
/* pSMB->hdr.Pid = cpu_to_le16((__u16)pid_of_opener);
|
||||
pSMB->hdr.PidHigh = cpu_to_le16((__u16)(pid_of_opener >> 16));*/
|
||||
pSMB->hdr.Pid = cpu_to_le16((__u16)pid_of_opener);
|
||||
pSMB->hdr.PidHigh = cpu_to_le16((__u16)(pid_of_opener >> 16));
|
||||
|
||||
params = 6;
|
||||
pSMB->MaxSetupCount = 0;
|
||||
|
|
|
@ -767,9 +767,10 @@ psx_del_no_retry:
|
|||
cifs_sb->mnt_cifs_flags &
|
||||
CIFS_MOUNT_MAP_SPECIAL_CHR);
|
||||
if (rc == 0) {
|
||||
rc = CIFSSMBSetFileTimes(xid, pTcon,
|
||||
pinfo_buf,
|
||||
netfid);
|
||||
rc = CIFSSMBSetFileInfo(xid, pTcon,
|
||||
pinfo_buf,
|
||||
netfid,
|
||||
current->tgid);
|
||||
CIFSSMBClose(xid, pTcon, netfid);
|
||||
}
|
||||
}
|
||||
|
@ -1702,8 +1703,8 @@ int cifs_setattr(struct dentry *direntry, struct iattr *attrs)
|
|||
cifs_sb->mnt_cifs_flags &
|
||||
CIFS_MOUNT_MAP_SPECIAL_CHR);
|
||||
if (rc == 0) {
|
||||
rc = CIFSSMBSetFileTimes(xid, pTcon, &time_buf,
|
||||
netfid);
|
||||
rc = CIFSSMBSetFileInfo(xid, pTcon, &time_buf,
|
||||
netfid, current->tgid);
|
||||
CIFSSMBClose(xid, pTcon, netfid);
|
||||
} else {
|
||||
/* BB For even older servers we could convert time_buf
|
||||
|
|
Loading…
Reference in a new issue