summaryrefslogtreecommitdiffstats
path: root/fs/smb/client/cifsglob.h
diff options
context:
space:
mode:
authorPaulo Alcantara <pc@manguebit.com>2023-11-25 23:55:05 -0300
committerSteve French <stfrench@microsoft.com>2024-01-07 15:46:05 -0600
commit67ec9949b0dfe78c99e110dd975eb7dc5645630c (patch)
tree5953ae20533a50ad3990bdcea0a7f6fd79b7208b /fs/smb/client/cifsglob.h
parent102466f303ffcd5cff207b3c122557f73f1041e6 (diff)
downloadlinux-stable-67ec9949b0dfe78c99e110dd975eb7dc5645630c.tar.gz
linux-stable-67ec9949b0dfe78c99e110dd975eb7dc5645630c.tar.bz2
linux-stable-67ec9949b0dfe78c99e110dd975eb7dc5645630c.zip
smb: client: optimise reparse point querying
Reduce number of roundtrips to server when querying reparse points in ->query_path_info() by sending a single compound request of create+get_reparse+get_info+close. Signed-off-by: Paulo Alcantara (SUSE) <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/smb/client/cifsglob.h')
-rw-r--r--fs/smb/client/cifsglob.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/fs/smb/client/cifsglob.h b/fs/smb/client/cifsglob.h
index fd9aba5f4fda..541e8b88b4c1 100644
--- a/fs/smb/client/cifsglob.h
+++ b/fs/smb/client/cifsglob.h
@@ -192,6 +192,11 @@ struct cifs_open_info_data {
bool symlink;
};
struct {
+ /* ioctl response buffer */
+ struct {
+ int buftype;
+ struct kvec iov;
+ } io;
__u32 tag;
union {
struct reparse_data_buffer *buf;
@@ -209,11 +214,6 @@ struct cifs_open_info_data {
((d)->reparse_point || \
(le32_to_cpu((d)->fi.Attributes) & ATTR_REPARSE))
-static inline void cifs_free_open_info(struct cifs_open_info_data *data)
-{
- kfree(data->symlink_target);
-}
-
/*
*****************************************************************
* Except the CIFS PDUs themselves all the