public inbox for linux-cifs@vger.kernel.org
 help / color / mirror / Atom feed
From: ChenXiaoSong <chenxiaosong.chenxiaosong@linux.dev>
To: smfrench@gmail.com, linkinjeon@kernel.org, pc@manguebit.org,
	ronniesahlberg@gmail.com, sprasad@microsoft.com, tom@talpey.com,
	bharathsm@microsoft.com, senozhatsky@chromium.org,
	dhowells@redhat.com
Cc: linux-cifs@vger.kernel.org, ChenXiaoSong <chenxiaosong@kylinos.cn>
Subject: Re: [PATCH v6 2/5] cifs: Autogenerate SMB2 error mapping table
Date: Sat, 27 Dec 2025 18:53:40 +0800	[thread overview]
Message-ID: <93b7f27c-ed92-4169-912a-c83088c85df9@linux.dev> (raw)
In-Reply-To: <20251225021035.656639-3-chenxiaosong.chenxiaosong@linux.dev>

Hi David,

The following modifications make the table sorted in little-endian 
order. If you are okay with the modifications, I can send the next version.


```
diff --git a/fs/smb/client/gen_smb2_mapping b/fs/smb/client/gen_smb2_mapping
index 98f32ec75316..b7d9e99a19ea 100644
--- a/fs/smb/client/gen_smb2_mapping
+++ b/fs/smb/client/gen_smb2_mapping
@@ -26,7 +26,9 @@ while (<IN_FILE>) {
      if 
(m!^#define\s*([A-Za-z0-9_]+)\s+cpu_to_le32[(]([0-9a-fA-Fx]+)[)]\s+//\s+([-A-Z0-9_]+)!) 
{
         my $status = $1;
         my $code = $2;
-       my $ncode = hex($2);
+       my $ncode_cpu = hex($2);
+       my $bytes_le = pack('V', $ncode_cpu);
+       my $ncode_le = unpack('V', $bytes_le);
         my $error = $3;
         my $s;

@@ -38,7 +40,7 @@ while (<IN_FILE>) {
         my %s = (
             status => $status,
             code   => $code,
-           ncode  => $ncode,
+           ncode  => $ncode_le,
             error  => $error
             );
         $statuses{$status} = \%s;
```

Thanks,
ChenXiaoSong <chenxiaosong@kylinos.cn>

On 12/25/25 10:10 AM, chenxiaosong.chenxiaosong@linux.dev wrote:
> From: David Howells <dhowells@redhat.com>
> 
> +#
> +# Read the file
> +#
> +open IN_FILE, "<$ARGV[0]" || die;
> +while (<IN_FILE>) {
> +    chomp;
> +
> +    if (m!^#define\s*([A-Za-z0-9_]+)\s+cpu_to_le32[(]([0-9a-fA-Fx]+)[)]\s+//\s+([-A-Z0-9_]+)!) {
> +	my $status = $1;
> +	my $code = $2;
> +	my $ncode = hex($2);
> +	my $error = $3;
> +	my $s;
> +
> +	next if ($status =~ /^STATUS_SEVERITY/);
> +
> +	die "Duplicate status $status"
> +	    if exists($statuses{$status});
> +
> +	my %s = (
> +	    status => $status,
> +	    code   => $code,
> +	    ncode  => $ncode,
> +	    error  => $error
> +	    );
> +	$statuses{$status} = \%s;
> +	push @list, \%s;
> +    }
> +}
> +close IN_FILE || die;
> +

  reply	other threads:[~2025-12-27 10:53 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-25  2:10 [PATCH v6 0/5] smb: improve search speed of SMB2 maperror chenxiaosong.chenxiaosong
2025-12-25  2:10 ` [PATCH v6 1/5] cifs: Label SMB2 statuses with errors chenxiaosong.chenxiaosong
2025-12-25  2:10 ` [PATCH v6 2/5] cifs: Autogenerate SMB2 error mapping table chenxiaosong.chenxiaosong
2025-12-27 10:53   ` ChenXiaoSong [this message]
2025-12-27 12:00     ` David Howells
2025-12-27 15:03       ` ChenXiaoSong
2025-12-27 15:50         ` David Howells
2025-12-27 16:05           ` ChenXiaoSong
2025-12-30  9:42             ` ChenXiaoSong
2025-12-30 21:08               ` David Howells
2025-12-30 21:14               ` David Howells
2025-12-30  3:55   ` ChenXiaoSong
2025-12-30  9:07     ` David Howells
2025-12-25  2:10 ` [PATCH v6 3/5] smb/client: check whether smb2_error_map_table is sorted in ascending order chenxiaosong.chenxiaosong
2025-12-25  2:10 ` [PATCH v6 4/5] smb/client: use bsearch() to find target in smb2_error_map_table chenxiaosong.chenxiaosong
2025-12-26 11:58   ` David Howells
2025-12-26 12:06   ` David Howells
2025-12-26 15:28     ` ChenXiaoSong
2025-12-27  2:18       ` ChenXiaoSong
2025-12-27  8:56         ` David Howells
2025-12-27  9:29           ` ChenXiaoSong
2025-12-27 11:59             ` David Howells
2025-12-27  8:53       ` David Howells
2025-12-25  2:10 ` [PATCH v6 5/5] smb/client: introduce KUnit test to check search result of smb2_error_map_table chenxiaosong.chenxiaosong
2025-12-28 15:07   ` kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=93b7f27c-ed92-4169-912a-c83088c85df9@linux.dev \
    --to=chenxiaosong.chenxiaosong@linux.dev \
    --cc=bharathsm@microsoft.com \
    --cc=chenxiaosong@kylinos.cn \
    --cc=dhowells@redhat.com \
    --cc=linkinjeon@kernel.org \
    --cc=linux-cifs@vger.kernel.org \
    --cc=pc@manguebit.org \
    --cc=ronniesahlberg@gmail.com \
    --cc=senozhatsky@chromium.org \
    --cc=smfrench@gmail.com \
    --cc=sprasad@microsoft.com \
    --cc=tom@talpey.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox