[linux-cifs-client] Re: "fix some settings of cifsAttrs"

Jeff Layton jlayton at redhat.com
Tue Sep 30 19:22:57 GMT 2008


On Tue, 30 Sep 2008 07:02:10 -0400
Jeff Layton <jlayton at redhat.com> wrote:

> On Mon, 29 Sep 2008 14:40:57 -0500
> "Steve French" <smfrench at gmail.com> wrote:
> 
> > It looks like the "fix some settings of cifsAttrs" patch below, is
> > missing some locations.  In cifs_set_file_info we don't seem to record
> > the newly modified dosattrs in the inode except in one path - so we
> > can't remove the "cifsInode->cifsAttrs = dosattr;" statement from
> > cifs_unlink or else we will reset the attributes again in
> > cifs_rename_pending_delete    We need to scan every call to
> > setpathinfo and setfileinfo again to make sure that we reset cifsattrs
> > in the inode if we succeed - looks like we are missing two places that
> > would need to be fixed before Jeff's patch should apply
> 
> Good catch. When I did the original patch, I focused on SetFileInfo
> calls, and forgot that we need to do the same with SetPathInfo calls.
> I've pushed a new stack of patches to my cifs-next branch. Please have
> a look and let me know if I've missed any places with this one:
> 

Here's a new pull request. In addition to the other changes that I
pushed to this tree last night, this one also contains a patch to fix
problems with directory seeks. We weren't saving off the resume info
before calling CIFSFindNext and that was making directory seeks not
work as intended.

---------------[snip]---------------
The following changes since commit dfd15c46a6c2cafb006183c0c14f07e59eee4ac0:
  Jeff Layton (1):
        cifs: explicitly revoke SPNEGO key after session setup

are available in the git repository at:

  git://git.samba.org/jlayton/cifs.git cifs-next

Jeff Layton (7):
      cifs: don't use CREATE_DELETE_ON_CLOSE in cifs_rename_pending_delete
      cifs: fix some settings of cifsAttrs after calling SetFileInfo and SetPathInfo
      cifs: no need to use rcu_assign_pointer on immutable keys
      cifs: undo changes in cifs_rename_pending_delete if it errors out
      cifs: clean up error handling in cifs_unlink
      cifs: make cifs_rename handle -EACCES errors
      cifs: make sure we have the right resume info before calling CIFSFindNext

 fs/cifs/cifs_spnego.c |    2 +-
 fs/cifs/cifsglob.h    |    1 +
 fs/cifs/cifssmb.c     |    4 +
 fs/cifs/dns_resolve.c |    2 +-
 fs/cifs/inode.c       |  308 +++++++++++++++++++++++++++++++++----------------
 fs/cifs/readdir.c     |  128 +++++++++++----------
 6 files changed, 281 insertions(+), 164 deletions(-)

-- 
Jeff Layton <jlayton at redhat.com>


More information about the linux-cifs-client mailing list