From 947801a0e000c5e509076dcad5de66103ed095df Mon Sep 17 00:00:00 2001 From: Paulo Alcantara Date: Tue, 25 Feb 2025 22:59:22 +0900 Subject: [PATCH] smb: client: set correct device number on nfs reparse points BugLink: https://bugs.launchpad.net/bugs/2099996 [ Upstream commit a9de67336a4aa3ff2e706ba023fb5f7ff681a954 ] Fix major and minor numbers set on special files created with NFS reparse points. Signed-off-by: Paulo Alcantara (Red Hat) Signed-off-by: Steve French Signed-off-by: Sasha Levin Signed-off-by: Koichiro Den Signed-off-by: Stefan Bader --- fs/smb/client/reparse.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/smb/client/reparse.c b/fs/smb/client/reparse.c index f1dcb3b4e51d..71d705cf6a7d 100644 --- a/fs/smb/client/reparse.c +++ b/fs/smb/client/reparse.c @@ -107,8 +107,8 @@ static int nfs_set_reparse_buf(struct reparse_posix_data *buf, buf->InodeType = cpu_to_le64(type); buf->ReparseDataLength = cpu_to_le16(len + dlen - sizeof(struct reparse_data_buffer)); - *(__le64 *)buf->DataBuffer = cpu_to_le64(((u64)MAJOR(dev) << 32) | - MINOR(dev)); + *(__le64 *)buf->DataBuffer = cpu_to_le64(((u64)MINOR(dev) << 32) | + MAJOR(dev)); iov->iov_base = buf; iov->iov_len = len + dlen; return 0;