Commit 65ccccee authored by Pali Rohár's avatar Pali Rohár Committed by Steve French
Browse files

cifs: Remove struct reparse_posix_data from struct cifs_open_info_data



Linux SMB client already supports more reparse point types but only the
reparse_posix_data is defined in union of struct cifs_open_info_data.
This union is currently used as implicit casting between point types.

With this code style, it hides information that union is used for pointer
casting, and just in mknod_nfs() and posix_reparse_to_fattr() functions.

Other reparse point buffers do not use this kind of casting. So remove
reparse_posix_data from reparse part of struct cifs_open_info_data and for
all cases of reparse buffer use just struct reparse_data_buffer *buf.

Signed-off-by: default avatarPali Rohár <pali@kernel.org>
Reviewed-by: default avatarNamjae Jeon <linkinjeon@kernel.org>
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
parent 24cf7297
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -226,10 +226,7 @@ struct cifs_open_info_data {
			struct kvec iov;
		} io;
		__u32 tag;
		union {
		struct reparse_data_buffer *buf;
			struct reparse_posix_data *posix;
		};
	} reparse;
	struct {
		__u8		eas[SMB2_WSL_MAX_QUERY_EA_RESP_SIZE];
+2 −3
Original line number Diff line number Diff line
@@ -294,7 +294,7 @@ static int mknod_nfs(unsigned int xid, struct inode *inode,

	data = (struct cifs_open_info_data) {
		.reparse_point = true,
		.reparse = { .tag = IO_REPARSE_TAG_NFS, .posix = p, },
		.reparse = { .tag = IO_REPARSE_TAG_NFS, .buf = (struct reparse_data_buffer *)p, },
	};

	new = smb2_get_reparse_inode(&data, inode->i_sb, xid,
@@ -816,8 +816,7 @@ static bool posix_reparse_to_fattr(struct cifs_sb_info *cifs_sb,
				   struct cifs_fattr *fattr,
				   struct cifs_open_info_data *data)
{
	struct reparse_posix_data *buf = data->reparse.posix;

	struct reparse_posix_data *buf = (struct reparse_posix_data *)data->reparse.buf;

	if (buf == NULL)
		return true;