lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAH2r5mtgC_s2J9g0smr5NDxSp1TO7d+dtZ7=afnuw9hMxQ4TYQ@mail.gmail.com>
Date: Thu, 15 Jan 2026 20:50:49 -0600
From: Steve French <smfrench@...il.com>
To: Enzo Matsumiya <ematsumiya@...e.de>
Cc: David Howells <dhowells@...hat.com>, Paulo Alcantara <pc@...guebit.org>, linux-cifs@...r.kernel.org, 
	linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org, 
	henrique.carvalho@...e.com, ChenXiaoSong <chenxiaosong@...inos.cn>, 
	ChenXiaoSong <chenxiaosong.chenxiaosong@...ux.dev>
Subject: Re: [PATCH 00/37] cifs: Scripted header file cleanup and SMB1 split

I have tentatively merged the first 24 of this series to cifs-2.6.git
for-next (pending testing etc) but had merge conflicts with the
remainder on current mainline.  I also added Enzo's Acked-by

David,
Do you have a newer/rebased version of this series that applies to
current mainline? Also are there other patches you would like in
for-next?

Chen,
Will we need to rebase your patch series as well? Let me know your
current cifs.ko patches for 6.20-rc

On Thu, Jan 15, 2026 at 10:53 AM Enzo Matsumiya <ematsumiya@...e.de> wrote:
>
> On 12/22, David Howells wrote:
> >Hi Steve,
> >
> >Could you consider taking these patches?  There are two parts to the set.
> >
> >The first part cleans up the formatting of declarations in the header file.
> >They remove the externs, (re)name the arguments in the declarations to
> >match those in the C file and format them to wrap at 79 chars (this is
> >configurable - search for 79 in the script), aligning all the first
> >argument on each line with the char after the opening bracket.
> >
> >I've attached the script below so that you can also run it yourself.  It
> >does all the git manipulation to generate one commit per header file
> >changed.  Run as:
> >
> >       ./cifs.pl fs/smb/client/*.[ch]
> >
> >in the kernel source root dir.
> >
> >The script can be rerun later to readjust any added changes.
> >
> >Paulo has given his R-b for this subset (labelled cifs: Scripted clean up).
> >
> >The second part splits the SMB1 parts of cifs protocol layer out into their
> >own files.  cifstransport.c is renamed to smb1transport.c also for
> >consistency, though cifssmb.c is left unrenamed (I could rename that to
> >smb1pdu.c).  This is pretty much all moving stuff around and few actual
> >code changes.  There is one bugfix, though, to cifs_dump_mids().
> >
> >I've left the splitting of the SMB1 parts of the cifs filesystem layer for
> >a future set of patches as that's would involve removing embedded parts of
> >functions and is easier to get wrong.
> >
> >The patches can be found here also:
> >
> >       https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/log/?h=cifs-cleanup
> >
> >Thanks,
> >David
>
> Acked-by: Enzo Matsumiya <ematsumiya@...e.de>
>
>
> Cheers,
>
> Enzo
>
> >---
> >       #!/usr/bin/perl -w
> >       use strict;
> >       unless (@ARGV) {
> >           die "Usage: $0 <c_file1> [<c_file2> ...]\n";
> >       }
> >
> >       # Data tracking
> >       my %funcs = ();         # Func name => { func prototype }
> >       my %headers = ();       # Header filename => { header content }
> >       my %c_files = ();       # C filename => { ordered func list, header pref }
> >       my %cmarkers = ();      # C filename marker => { header filename it's in }
> >
> >       # Parse state
> >       my $pathname = "-";
> >       my $lineno = 0;
> >
> >       sub error(@) {
> >           print STDERR $pathname, ":", $lineno, ": ", @_, "\n";
> >           exit(1);
> >       }
> >
> >       sub pad($) {
> >           # Reindent the function arguments to line the arguments up with the char
> >           # after the opening bracket on the func argument list
> >           my ($lines) = @_;
> >           return $lines if ($#{$lines} <= 0);
> >           my $has_empty = 0;
> >           for (my $i = 0; $i <= $#{$lines}; $i++) {
> >               $lines->[$i] =~ s/^[ \t]+//;
> >               $has_empty = 1 if ($lines->[$i] eq "");
> >           }
> >
> >           if ($has_empty) {
> >               my @clean = grep /.+/, @{$lines};
> >               $lines = \@clean;
> >           }
> >
> >           my $indlen = index($lines->[0], "(");
> >           return $lines if ($indlen < 0);
> >           my $indent = "";
> >           $indlen++;
> >           $indent .= "\t" x ($indlen / 8);
> >           $indent .= " " x ($indlen % 8);
> >
> >           my @padded = ();
> >           my $acc = "";
> >           my $len = -$indlen;
> >           for (my $i = 0; $i <= $#{$lines}; $i++) {
> >               my $argument = $lines->[$i];
> >               my $arglen = length($argument);
> >               my $last = ($i == $#{$lines} ? 1 : 0);
> >
> >               if ($i == 0 ||
> >                   $i == 1) {
> >                   $acc .= $argument;
> >                   $acc .= ";" if ($last);
> >                   $len += $arglen + $last;
> >                   next;
> >               }
> >               if (!$acc) {
> >                   $acc = $indent . $argument;
> >                   $acc .= ";" if ($last);
> >                   $len += $arglen + $last;
> >                   next;
> >               }
> >               if ($indlen + $len + 1 + $arglen + $last > 79) {
> >                   push @padded, $acc;
> >                   $acc = $indent . $argument;
> >                   $acc .= ";" if ($last);
> >                   $len = $arglen + $last;
> >                   next;
> >               }
> >
> >               $acc .= " " . $argument;
> >               $acc .= ";" if ($last);
> >               $len += 1 + $arglen + $last;
> >           }
> >           push @padded, $acc if ($acc);
> >           return \@padded;
> >       }
> >
> >       sub earliest(@) {
> >           my $ret = -1;
> >           foreach (@_) {
> >               $ret = $_ if ($ret < 0 || ($_ >= 0 && $_ < $ret));
> >           }
> >           return $ret;
> >       }
> >
> >       foreach my $file (@ARGV) {
> >           # Open the file for reading.
> >           next if $file =~ /trace[.]h$/;
> >           next if $file =~ /smbdirect[.][ch]$/;
> >           open my $fh, "<$file"
> >               or die "Could not open file '$file'";
> >           $pathname = $file;
> >           $lineno = 0;
> >
> >           my $filename;
> >           my @file_content = ();
> >           my @copy = ();
> >
> >           my $state = 0;
> >           my $qual = "";
> >           my $type = "";
> >           my $funcname = "";
> >           my @funcdef = ();
> >           my $bracket = 0;
> >           my $comment = 0;
> >           my $smb1 = 0;
> >           my $header = 0;
> >           my $inline = 0;
> >           my $file_marker = "";
> >           my $config = "";
> >           my $c_file = 0;
> >
> >           $filename = $pathname;
> >           $filename =~ s!.*/!!;
> >
> >           if ($file =~ m!.h$!) {
> >               my %new_h_file = (
> >                   path    => $pathname,
> >                   fname   => $filename,
> >                   content => [],
> >                   );
> >               $header = \%new_h_file;
> >               $headers{$filename} = \%new_h_file;
> >           } elsif ($file =~ m!.c$!) {
> >               my %new_c_file = (
> >                   path  => $pathname,
> >                   fname => $filename,
> >                   funcs => [],
> >                   );
> >               $c_file = \%new_c_file;
> >               $c_files{$filename} = \%new_c_file;
> >           } else {
> >               warn("Ignoring unexpected file $file\n");
> >               next;
> >           }
> >
> >           $smb1 = 1 if ($file =~ m!/smb1ops.c|/cifssmb.c|/cifstransport.c!);
> >
> >           foreach my $line (<$fh>) {
> >               $lineno++;
> >               chomp($line);
> >               push @copy, $line;
> >               if (!$line) {
> >                   # Blank line
> >                   push @file_content, @copy;
> >                   @copy = ();
> >                   next;
> >               }
> >
> >               # Handle continuation or end of block comment.  Look for C file
> >               # prototype insertion point markers.
> >               if ($comment) {
> >                   if ($line =~ m![*]/!) {
> >                       if ($comment == 2 && $file_marker) {
> >                           $cmarkers{$file_marker} = $file_marker;
> >                           push @copy, "#C_MARKER " . $filename;
> >                           $file_marker = 0;
> >                       }
> >                       $comment = 0;
> >                   } else {
> >                       $comment++;
> >                       if ($comment == 2 && $line =~ m! [*] ([a-z][a-z_0-9]*[.][c])$!) {
> >                           $file_marker = $1;
> >                           print("Found file marker ", $file_marker, " in ", $filename, "\n");
> >                       }
> >                   }
> >                   push @file_content, @copy;
> >                   @copy = ();
> >                   next;
> >               }
> >
> >               # Check cpp directives, particularly looking for SMB1 bits
> >               if ($line =~ /^[#]/) {
> >                   if ($header) {
> >                       if ($line =~ /ifdef.*(CONFIG_[A-Z0-9_])/) {
> >                           error("multiconfig") if $config;
> >                           $config = $1;
> >                           $smb1++ if ($config eq "CONFIG_CIFS_ALLOW_INSECURE_LEGACY");
> >                       } elsif ($line =~ /endif/) {
> >                           $smb1-- if ($config eq "CONFIG_CIFS_ALLOW_INSECURE_LEGACY");
> >                           $config = "";
> >                       }
> >                   }
> >                   push @file_content, @copy;
> >                   @copy = ();
> >                   next;
> >               }
> >
> >               # Exclude interference in finding func names and return types
> >               if ($line =~ /^[{]/ ||
> >                   $line =~ /##/ ||
> >                   $line =~ /^[_a-z0-9A-Z]+:$/ || # goto label
> >                   $line =~ /^do [{]/ ||
> >                   $line =~ m!^//!) {
> >                   push @file_content, @copy;
> >                   @copy = ();
> >                   next;
> >               }
> >
> >               # Start of a block comment
> >               if ($line =~ m!^/[*]!) {
> >                   $comment = 1 unless ($line =~ m![*]/!);
> >                   push @file_content, @copy;
> >                   @copy = ();
> >                   next;
> >               }
> >
> >               # End of a braced section, such as a function implementation
> >               if ($line =~ /^[}]/) {
> >                       $type = "";
> >                       $qual = "";
> >                       $funcname = "";
> >                       @funcdef = ();
> >                       push @file_content, @copy;
> >                       @copy = ();
> >                       next;
> >               }
> >
> >               if ($line =~ /^typedef/) {
> >                   $type = "";
> >                   $qual = "";
> >                   $funcname = "";
> >                   @funcdef = ();
> >                   push @file_content, @copy;
> >                   @copy = ();
> >                   next;
> >               }
> >
> >               # Extract function qualifiers.  There may be multiple of these in more
> >               # or less any order.  Some of them cause the func to be skipped (e.g. inline).
> >
> >               if ($line =~ /^(static|extern|inline|noinline|noinline_for_stack|__always_inline)\W/ ||
> >                   $line =~ /^(static|extern|inline|noinline|noinline_for_stack|__always_inline)$/) {
> >                   error("Unexpected qualifier '$1'") if ($state != 0);
> >                   while ($line =~ /^(static|extern|inline|noinline|noinline_for_stack|__always_inline)\W/ ||
> >                          $line =~ /^(static|extern|inline|noinline|noinline_for_stack|__always_inline)$/) {
> >                       $qual .= " " if ($qual);
> >                       $qual .= $1;
> >                       $inline = 1 if ($1 eq "inline");
> >                       $inline = 1 if ($1 eq "__always_inline");
> >                       $line = substr($line, length($1));
> >                       $line =~ s/^\s+//;
> >                   }
> >               }
> >
> >               if ($state == 0) {
> >                   # Extract what we assume to be the return type
> >                   if ($line =~ /^\s/) {
> >                       push @file_content, @copy;
> >                       @copy = ();
> >                       next;
> >                   }
> >                   while ($line =~ /^(unsigned|signed|bool|char|short|int|long|void|const|volatile|(struct|union|enum)\s+[_a-zA-Z][_a-zA-Z0-9]*|[*]|__init|__exit|__le16|__le32|__le64|__be16|__be32|__be64)/) {
> >                       $type .= " " if $type;
> >                       $type .= $1;
> >                       $line = substr($line, length($1));
> >                       $line =~ s/^\s+//;
> >                   }
> >                   if ($line =~ /^struct [{]/) {
> >                       # Ignore structure definitions
> >                       $type = "";
> >                       $qual = "";
> >                       $funcname = "";
> >                       @funcdef = ();
> >                       push @file_content, @copy;
> >                       @copy = ();
> >                       next;
> >                   }
> >                   if (index($line, "=") >= 0) {
> >                       # Ignore assignments
> >                       $type = "";
> >                       $qual = "";
> >                       $funcname = "";
> >                       @funcdef = "";
> >                       push @file_content, @copy;
> >                       @copy = ();
> >                       next;
> >                   }
> >
> >                   # Try and extract a function's type and name
> >                   while ($line =~ /(^[_a-zA-Z][_a-zA-Z0-9]*)/) {
> >                       my $name = $1;
> >                       $line = substr($line, length($name));
> >                       next if ($line =~ /^[{]/);
> >                       $line =~ s/^\s+//;
> >
> >                       my $ch = substr($line, 0, 1);
> >                       last if ($ch eq "[" || $ch eq ";"); # Global variables
> >
> >                       if ($ch eq "(") {
> >                           # Found the function name
> >                           $state = 1;
> >                           $line = substr($line, 1);
> >                           $funcname = $name;
> >                           my $tmp = $qual . $type . " " . $funcname . "(";
> >                           $tmp =~ s/[*] /*/;
> >                           push @funcdef, $tmp;
> >                           $bracket = 1;
> >                           last;
> >                       }
> >
> >                       if ($type) {
> >                           last if (index($line, ";") >= 0 && index($line, "(") == -1);
> >                           error("Unexpected name '$name' after '$type'");
> >                       }
> >
> >                       $type .= " " if $type;
> >                       $type .= $name;
> >                       if ($line =~ /^(\s*[*]+)/) {
> >                           my $ptr = $1;
> >                           $type .= $ptr;
> >                           $line = substr($line, length($ptr));
> >                       }
> >                   }
> >               }
> >
> >               # Try and extract a function's argument list
> >               my $from = 0;
> >               if ($state == 1) {
> >                   while (1) {
> >                       my $o = index($line, "(", $from);
> >                       my $c = index($line, ")", $from);
> >                       my $m = index($line, ",", $from);
> >
> >                       my $b = earliest($o, $c, $m);
> >                       if ($b < 0) {
> >                           push @funcdef, $line
> >                               unless ($line eq "");
> >                           last;
> >                       }
> >                       my $ch = substr($line, $b, 1);
> >
> >                       # Push the arguments separately on to the list
> >                       if ($ch eq ",") {
> >                           push @funcdef, substr($line, 0, $b + 1);
> >                           $line = substr($line, $b + 1);
> >                           $from = 0;
> >                       } elsif ($ch eq "(") {
> >                           # Handle brackets in the argument list (e.g. function
> >                           # pointers)
> >                           $bracket++;
> >                           $from = $b + 1;
> >                       } elsif ($ch eq ")") {
> >                           $bracket--;
> >                           if ($bracket == 0) {
> >                               push @funcdef, substr($line, 0, $b + 1);
> >                               $line = substr($line, $b + 1);
> >                               $state = 2;
> >                               last;
> >                           }
> >                           $from = $b + 1;
> >                       }
> >                   }
> >               }
> >
> >               if ($state == 2) {
> >                   $inline = 1 if ($qual =~ /inline/);
> >                   #print("QUAL $qual $type $funcname $inline ", $#funcdef, "\n");
> >                   if (!$header &&
> >                       $qual !~ /static/ &&
> >                       $funcname ne "__acquires" &&
> >                       $funcname ne "__releases" &&
> >                       $funcname ne "module_init" &&
> >                       $funcname ne "module_exit" &&
> >                       $funcname ne "module_param" &&
> >                       $funcname ne "module_param_call" &&
> >                       $funcname ne "PROC_FILE_DEFINE" &&
> >                       $funcname !~ /MODULE_/ &&
> >                       $funcname !~ /DEFINE_/) {
> >
> >                       # Okay, we appear to have a function implementation
> >                       my $func;
> >
> >                       if (exists($funcs{$funcname})) {
> >                           $func = $funcs{$funcname};
> >                           $func->{body} = pad(\@funcdef);
> >                       } else {
> >                           my %new_func = (
> >                               name => $funcname,
> >                               cond => "",
> >                               );
> >                           $func = \%new_func;
> >                           $funcs{$funcname} = $func;
> >                           $func->{body} = pad(\@funcdef);
> >                       }
> >                       $func->{body} = pad(\@funcdef);
> >
> >                       if ($funcname eq "cifs_inval_name_dfs_link_error") {
> >                           $func->{cond} = "#ifdef CONFIG_CIFS_DFS_UPCALL";
> >                       } elsif ($funcname eq "cifs_listxattr") {
> >                           $func->{cond} = "#ifdef CONFIG_CIFS_XATTR";
> >                       }
> >
> >                       push @{$c_file->{funcs}}, $func;
> >                   } elsif (!$header || $inline) {
> >                       # Ignore inline function implementations and other weirdies
> >                       push @file_content, @copy;
> >                   } elsif ($header && !$inline) {
> >                       push @file_content, "#FUNCPROTO " . $funcname;
> >
> >                       my $func;
> >
> >                       if (exists($funcs{$funcname})) {
> >                           $func = $funcs{$funcname};
> >                           $func->{lineno} = $lineno;
> >                           $func->{pathname} = $pathname;
> >                       } else {
> >                           my %new_func = (
> >                               name => $funcname,
> >                               cond => "",
> >                               lineno => $lineno,
> >                               pathname => $pathname,
> >                               );
> >                           $func = \%new_func;
> >                           $funcs{$funcname} = $func;
> >                       }
> >                   }
> >
> >                   @funcdef = ();
> >                   $type = "";
> >                   $qual = "";
> >                   $funcname = "";
> >                   $inline = 0;
> >                   $state = 0;
> >                   @copy = ();
> >               }
> >               if ($line =~ /;/) {
> >                   $type = "";
> >                   $qual = "";
> >                   $funcname = "";
> >                   @funcdef = ();
> >                   $state = 0;
> >                   push @file_content, @copy;
> >                   @copy = ();
> >               }
> >           }
> >           close($fh);
> >
> >           if ($header) {
> >               $header->{content} = \@file_content;
> >           }
> >       }
> >
> >       sub write_header($)
> >       {
> >           my ($header) = @_;
> >           my $path = $header->{path};
> >
> >           my @output = ();
> >
> >           foreach my $line (@{$header->{content}}) {
> >               if ($line =~ "^[#]C_MARKER (.*)") {
> >                   next;
> >               } elsif ($line =~ "^[#]FUNCPROTO ([_a-zA-Z0-9]+)") {
> >                   my $funcname = $1;
> >                   my $func = $funcs{$funcname};
> >                   if (!$func->{body}) {
> >                       print($func->{pathname}, ":", $func->{lineno}, ": '", $funcname,
> >                             "' dead prototype\n");
> >                       next;
> >                   }
> >                   #push @output, $line;
> >                   push @output, @{$func->{body}};
> >               } else {
> >                   push @output, $line;
> >               }
> >           }
> >
> >           open my $fh, ">$path"
> >               or die "Could not open file '$path' for writing";
> >           foreach my $f (@output) {
> >               print($fh $f, "\n") or die $path;
> >           }
> >           close($fh) or die $path;
> >
> >           print("Git $path\n");
> >           if (system("git diff -s --exit-code $path") == 0) {
> >               print("- no changes, skipping\n");
> >               return;
> >           }
> >
> >           if (system("git add $path") != 0) {
> >               die("'git add $path' failed\n");
> >           }
> >
> >           open $fh, ">.commit_message"
> >               or die "Could not open file '.commit_message' for writing";
> >           print($fh
> >                 qq/
> >       cifs: Scripted clean up $path
> >
> >       Remove externs, correct argument names and reformat declarations.
> >
> >       Signed-off-by: David Howells <dhowells\@redhat.com>
> >       cc: Steve French <sfrench\@samba.org>
> >       cc: Paulo Alcantara <pc\@manguebit.org>
> >       cc: Enzo Matsumiya <ematsumiya\@suse.de>
> >       cc: linux-cifs\@vger.kernel.org
> >       cc: linux-fsdevel\@vger.kernel.org
> >       cc: linux-kernel\@vger.kernel.org
> >       /);
> >           close($fh) or die ".commit_message";
> >
> >           if (system("git commit -F .commit_message") != 0) {
> >               die("'git commit $path' failed\n");
> >           }
> >       }
> >
> >       foreach my $h (keys(%headers)) {
> >           write_header($headers{$h});
> >       }
> >
> >David Howells (37):
> >  cifs: Scripted clean up fs/smb/client/cached_dir.h
> >  cifs: Scripted clean up fs/smb/client/dfs.h
> >  cifs: Scripted clean up fs/smb/client/cifsproto.h
> >  cifs: Scripted clean up fs/smb/client/cifs_unicode.h
> >  cifs: Scripted clean up fs/smb/client/netlink.h
> >  cifs: Scripted clean up fs/smb/client/cifsfs.h
> >  cifs: Scripted clean up fs/smb/client/dfs_cache.h
> >  cifs: Scripted clean up fs/smb/client/dns_resolve.h
> >  cifs: Scripted clean up fs/smb/client/cifsglob.h
> >  cifs: Scripted clean up fs/smb/client/fscache.h
> >  cifs: Scripted clean up fs/smb/client/fs_context.h
> >  cifs: Scripted clean up fs/smb/client/cifs_spnego.h
> >  cifs: Scripted clean up fs/smb/client/compress.h
> >  cifs: Scripted clean up fs/smb/client/cifs_swn.h
> >  cifs: Scripted clean up fs/smb/client/cifs_debug.h
> >  cifs: Scripted clean up fs/smb/client/smb2proto.h
> >  cifs: Scripted clean up fs/smb/client/reparse.h
> >  cifs: Scripted clean up fs/smb/client/ntlmssp.h
> >  cifs: SMB1 split: Rename cifstransport.c
> >  cifs: SMB1 split: Create smb1proto.h for SMB1 declarations
> >  cifs: SMB1 split: Separate out SMB1 decls into smb1proto.h
> >  cifs: SMB1 split: Move some SMB1 receive bits to smb1transport.c
> >  cifs: SMB1 split: Move some SMB1 received PDU checking bits to
> >    smb1transport.c
> >  cifs: SMB1 split: Add some #includes
> >  cifs: SMB1 split: Split SMB1 protocol defs into smb1pdu.h
> >  cifs: SMB1 split: Adjust #includes
> >  cifs: SMB1 split: Move BCC access functions
> >  cifs: SMB1 split: Don't return smb_hdr from cifs_{,small_}buf_get()
> >  cifs: Fix cifs_dump_mids() to call ->dump_detail
> >  cifs: SMB1 split: Move inline funcs
> >  cifs: SMB1 split: cifs_debug.c
> >  cifs: SMB1 split: misc.c
> >  cifs: SMB1 split: netmisc.c
> >  cifs: SMB1 split: cifsencrypt.c
> >  cifs: SMB1 split: sess.c
> >  cifs: SMB1 split: connect.c
> >  cifs: SMB1 split: Make BCC accessors conditional
> >
> > fs/smb/client/Makefile        |   10 +-
> > fs/smb/client/cached_dir.h    |   30 +-
> > fs/smb/client/cifs_debug.c    |   18 +-
> > fs/smb/client/cifs_debug.h    |    1 -
> > fs/smb/client/cifs_spnego.h   |    4 +-
> > fs/smb/client/cifs_swn.h      |   10 +-
> > fs/smb/client/cifs_unicode.c  |    1 -
> > fs/smb/client/cifs_unicode.h  |   17 +-
> > fs/smb/client/cifsacl.c       |    1 -
> > fs/smb/client/cifsencrypt.c   |  124 --
> > fs/smb/client/cifsfs.c        |    1 -
> > fs/smb/client/cifsfs.h        |  114 +-
> > fs/smb/client/cifsglob.h      |   29 +-
> > fs/smb/client/cifspdu.h       | 2377 +--------------------------------
> > fs/smb/client/cifsproto.h     |  780 ++++-------
> > fs/smb/client/cifssmb.c       |  147 +-
> > fs/smb/client/cifstransport.c |  263 ----
> > fs/smb/client/compress.h      |    3 +-
> > fs/smb/client/connect.c       |  252 ----
> > fs/smb/client/dfs.h           |    3 +-
> > fs/smb/client/dfs_cache.h     |   19 +-
> > fs/smb/client/dir.c           |    1 -
> > fs/smb/client/dns_resolve.h   |    4 +-
> > fs/smb/client/file.c          |    1 -
> > fs/smb/client/fs_context.c    |    1 -
> > fs/smb/client/fs_context.h    |   16 +-
> > fs/smb/client/fscache.h       |   17 +-
> > fs/smb/client/inode.c         |    1 -
> > fs/smb/client/ioctl.c         |    1 -
> > fs/smb/client/link.c          |    1 -
> > fs/smb/client/misc.c          |  302 +----
> > fs/smb/client/netlink.h       |    4 +-
> > fs/smb/client/netmisc.c       |  824 +-----------
> > fs/smb/client/ntlmssp.h       |   15 +-
> > fs/smb/client/readdir.c       |    1 -
> > fs/smb/client/reparse.h       |   14 +-
> > fs/smb/client/sess.c          |  982 --------------
> > fs/smb/client/smb1debug.c     |   25 +
> > fs/smb/client/smb1encrypt.c   |  139 ++
> > fs/smb/client/smb1maperror.c  |  825 ++++++++++++
> > fs/smb/client/smb1misc.c      |  189 +++
> > fs/smb/client/smb1ops.c       |  279 ++--
> > fs/smb/client/smb1pdu.h       | 2354 ++++++++++++++++++++++++++++++++
> > fs/smb/client/smb1proto.h     |  336 +++++
> > fs/smb/client/smb1session.c   |  995 ++++++++++++++
> > fs/smb/client/smb1transport.c |  561 ++++++++
> > fs/smb/client/smb2file.c      |    2 +-
> > fs/smb/client/smb2inode.c     |    2 +-
> > fs/smb/client/smb2pdu.c       |    2 +-
> > fs/smb/client/smb2proto.h     |  468 +++----
> > fs/smb/client/smbencrypt.c    |    1 -
> > fs/smb/client/transport.c     |    1 -
> > fs/smb/client/xattr.c         |    1 -
> > fs/smb/common/smb2pdu.h       |    3 +
> > 54 files changed, 6310 insertions(+), 6262 deletions(-)
> > delete mode 100644 fs/smb/client/cifstransport.c
> > create mode 100644 fs/smb/client/smb1debug.c
> > create mode 100644 fs/smb/client/smb1encrypt.c
> > create mode 100644 fs/smb/client/smb1maperror.c
> > create mode 100644 fs/smb/client/smb1misc.c
> > create mode 100644 fs/smb/client/smb1pdu.h
> > create mode 100644 fs/smb/client/smb1proto.h
> > create mode 100644 fs/smb/client/smb1session.c
> > create mode 100644 fs/smb/client/smb1transport.c
> >
>


-- 
Thanks,

Steve

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ