cifs: add pid field to cifs_writedata

We'll need this to handle rwpidforward option correctly when we use
async writes in the aio_write op.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Reviewed-by: Pavel Shilovsky <piastry@etersoft.ru>
tirimbino
Jeff Layton 13 years ago
parent da472fc847
commit fe5f5d2e90
  1. 1
      fs/cifs/cifsproto.h
  2. 4
      fs/cifs/cifssmb.c
  3. 1
      fs/cifs/file.c

@ -487,6 +487,7 @@ struct cifs_writedata {
struct work_struct work;
struct cifsFileInfo *cfile;
__u64 offset;
pid_t pid;
unsigned int bytes;
int result;
unsigned int nr_pages;

@ -2166,8 +2166,8 @@ cifs_async_writev(struct cifs_writedata *wdata)
goto async_writev_out;
}
smb->hdr.Pid = cpu_to_le16((__u16)wdata->cfile->pid);
smb->hdr.PidHigh = cpu_to_le16((__u16)(wdata->cfile->pid >> 16));
smb->hdr.Pid = cpu_to_le16((__u16)wdata->pid);
smb->hdr.PidHigh = cpu_to_le16((__u16)(wdata->pid >> 16));
smb->AndXCommand = 0xFF; /* none */
smb->Fid = wdata->cfile->netfid;

@ -1802,6 +1802,7 @@ retry:
rc = -EBADF;
break;
}
wdata->pid = wdata->cfile->pid;
rc = cifs_async_writev(wdata);
} while (wbc->sync_mode == WB_SYNC_ALL && rc == -EAGAIN);

Loading…
Cancel
Save