diff options
author | Ronnie Sahlberg <lsahlber@redhat.com> | 2019-08-30 08:25:46 +1000 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2019-09-16 11:43:37 -0500 |
commit | 8de9e86c67baa71c661b9ba59a4e23210d98bc79 (patch) | |
tree | bbcca0ff9e4b61fbedbdfec6d28f04580506adf7 /fs/cifs/dir.c | |
parent | 31ebdc11340abfdb02b7cdbfcc5531b7f479d58d (diff) | |
download | linux-8de9e86c67baa71c661b9ba59a4e23210d98bc79.tar.gz |
cifs: create a helper to find a writeable handle by path name
rename() takes a path for old_file and in SMB2 we used to just create
a compound for create(old_path)/rename/close().
If we already have a writable handle we can avoid the create() and close()
altogether and just use the existing handle.
For this situation, as we avoid doing the create()
we also avoid triggering an oplock break for the existing handle.
Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/cifs/dir.c')
-rw-r--r-- | fs/cifs/dir.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c index be424e81e3ad98..dd5ac841aefa7f 100644 --- a/fs/cifs/dir.c +++ b/fs/cifs/dir.c @@ -125,7 +125,7 @@ cifs_bp_rename_retry: } rcu_read_unlock(); - full_path = kmalloc(namelen+1, GFP_KERNEL); + full_path = kmalloc(namelen+1, GFP_ATOMIC); if (full_path == NULL) return full_path; full_path[namelen] = 0; /* trailing null */ |