[linux-cifs-client] Re: set last write time = fsync ?

Guenter Kukkukk linux at kukkukk.com
Fri Mar 14 05:18:56 GMT 2008


Am Freitag, 14. März 2008 schrieb Steve French:
> On Thu, Mar 13, 2008 at 6:10 AM, Jeff Layton <jlayton at redhat.com> wrote:
> >
> > On Wed, 12 Mar 2008 22:54:50 -0500
> >  "Steve French" <smfrench at gmail.com> wrote:
> >
> >  > kukks noticed that "cp -p source-file /cifs-mnt" would not set the
> >  > last write time to the previous time
> >  >
> >  > It looks like a straightforward caching sideffect - "cp -p" does
> >  >
> >  > open
> >  > write
> >  > set time stamps (utimensat)
> >  > set uid/gid (fchown32)
> >  > set acl (setxattr(system.posix_acl_access))
> >  >
> >  > but the write is cached until close (which does a flush just before
> >  > the close) - so the final write resets the time which was set
> >  > correctly earlier
> >  >
> >  Interesting -- this seems to be "mtime" week for me. I've been working
> >  on some NFS cache invalidation issues that involve out-of-order mtime
> >  updates...
> >
> >  Actually, this problem looks like a regression caused by the changes
> >  in this patch:
> >
> >  commit cea218054ad277d6c126890213afde07b4eb1602
> >  Author: Jeff Layton <jlayton at redhat.com>
> >  Date:   Tue Nov 20 23:19:03 2007 +0000
> >
> >     [CIFS] Fix potential data corruption when writing out cached dirty pages
> >
> >
> >  ...before that patch we flushed the cache on every setattr call. We now
> >  just do that on size changes, but it sounds like we need to reconsider
> >  this.
> >
> >  Trying to follow Lustre's model sounds tricky and I'm not sure it would
> >  work anyway since the server is going to update the mtime whenever the
> >  write comes in. Consider:
> >
> >  Write --> server sets mtime to current time
> >  Setattr --> server sets mtime for utimes() call
> >  Write --> server resets mtime to current time
> >
> >  ...I'm not sure that the client has much control over this. If we don't
> >  want to flush the cache for a setattr, there are two options:
> >
> >  1) delay the setattr until all of the pending writes have been flushed
> >  (tricky and not really what we want)
> >
> >  2) queue up another setattr call after the last write has completed
> >  (also tricky, and possibly problematic)
> >
> >  There could be other problems lurking here too. What happens to the
> >  pending writes when we change the ownership and mode to something where
> >  we no longer have permission to write to the file? I suppose they just
> >  error out and that's not good either.
> >
> >  For the record, NFS seems to flush the cache too on all setattr calls.
> >
> >  Jeff Layton <jlayton at redhat.com>
> 
> Here is a patch to fix the cp -p problem:
> 
> Kukks/Jeff,
> coments?  Unless there are objections I want to add this to the tree
> quickly (I also need to add Q's memleak fix - but want to try it
> against more servers to see if there is a better way to do that)
> 
> diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c
> index af42262..e57e5c4 100644
> --- a/fs/cifs/inode.c
> +++ b/fs/cifs/inode.c
> @@ -1420,11 +1420,10 @@ int cifs_setattr(struct dentry *direntry,
> struct iattr *attrs)
>  	}
>  	cifsInode = CIFS_I(direntry->d_inode);
> 
> -	/* BB check if we need to refresh inode from server now ? BB */
> -
> -	if (attrs->ia_valid & ATTR_SIZE) {
> +	if ((attrs->ia_valid & ATTR_MTIME) || (attrs->ia_valid & ATTR_SIZE)) {
>  		/*
> -		   Flush data before changing file size on server. If the
> +		   Flush data before changing file size or changing the last
> +		   write time of the file on the server. If the
>  		   flush returns error, store it to report later and continue.
>  		   BB: This should be smarter. Why bother flushing pages that
>  		   will be truncated anyway? Also, should we error out here if
> @@ -1435,7 +1434,9 @@ int cifs_setattr(struct dentry *direntry, struct
> iattr *attrs)
>  			CIFS_I(direntry->d_inode)->write_behind_rc = rc;
>  			rc = 0;
>  		}
> +	}
> 
> +	if (attrs->ia_valid & ATTR_SIZE) {
>  		/* To avoid spurious oplock breaks from server, in the case of
>  		   inodes that we already have open, avoid doing path based
>  		   setting of file size if we can do it by handle.
> 
> 
> 

Steve, Jeff,

most recent git cifs is running here on kernel 2.6.25-rc5-default.
Results after applying the patch:
Running against
 - Samba 3.2 is working now! :-)
 - winNT is failing
 - winXPpro is failing

I'll check the failing cases more deeper later today.

The results are attached.
Cheers, Günter
-------------- next part --------------


Recent Samba 3.2 server:  (Test passed)
========================
linux700:/home/gk # stat test.txt && cp -p test.txt /mnt/linux && sleep 1 && stat /mnt/linux/test.txt
  File: „test.txt“
  Size: 49              Blocks: 8          IO Block: 4096   reguläre Datei
Device: 306h/774d       Inode: 1075751     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/      gk)   Gid: (  100/   users)
Access: 2008-03-14 05:39:55.000000000 +0100
Modify: 2007-12-04 03:50:49.000000000 +0100
Change: 2008-03-13 08:45:11.000000000 +0100
  File: „/mnt/linux/test.txt“
  Size: 49              Blocks: 8          IO Block: 16384  reguläre Datei
Device: 10h/16d Inode: 44707       Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/      gk)   Gid: (  100/   users)
Access: 2008-03-14 05:39:55.000000000 +0100
Modify: 2007-12-04 03:50:49.000000000 +0100
Change: 2008-03-14 05:50:15.379592100 +0100

WinNT:  (Test FAILED!)
======

linux700:/home/gk # stat test.txt && cp -p test.txt /mnt/winnt/cifs && sleep 1 && stat /mnt/winnt/cifs/test.txt
  File: „test.txt“
  Size: 49              Blocks: 8          IO Block: 4096   reguläre Datei
Device: 306h/774d       Inode: 1075751     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/      gk)   Gid: (  100/   users)
Access: 2008-03-14 05:19:41.000000000 +0100
Modify: 2007-12-04 03:50:49.000000000 +0100
Change: 2008-03-13 08:45:11.000000000 +0100
  File: „/mnt/winnt/cifs/test.txt“
  Size: 49              Blocks: 1          IO Block: 16384  reguläre Datei
Device: 11h/17d Inode: 44410       Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/      gk)   Gid: (  100/   users)
Access: 2008-03-14 05:32:38.431034300 +0100
Modify: 2008-03-14 05:32:38.411006500 +0100
Change: 2008-03-14 05:32:38.411006500 +0100

-------------------
Mar 14 05:30:52 linux700 kernel:  fs/cifs/inode.c: CIFS - CTIME changed
Mar 14 05:30:52 linux700 kernel:  fs/cifs/inode.c: calling SetFileInfo since SetPathInfo for times not supported by this server
Mar 14 05:30:52 linux700 kernel:  fs/cifs/transport.c: For smb_command 162
Mar 14 05:30:52 linux700 kernel:  fs/cifs/transport.c: Sending smb of length 114
Mar 14 05:30:52 linux700 kernel:  fs/cifs/connect.c: rfc1002 length 0x6b
Mar 14 05:30:52 linux700 kernel:  fs/cifs/cifssmb.c: Set Times (via SetFileInfo)
Mar 14 05:30:52 linux700 kernel:  fs/cifs/transport.c: For smb_command 50
Mar 14 05:30:52 linux700 kernel:  fs/cifs/transport.c: Sending smb:  total_len 118
Mar 14 05:30:52 linux700 kernel:  fs/cifs/connect.c: rfc1002 length 0x40
Mar 14 05:30:52 linux700 kernel:  fs/cifs/cifssmb.c: In CIFSSMBClose
Mar 14 05:30:52 linux700 kernel:  fs/cifs/transport.c: For smb_command 4
Mar 14 05:30:52 linux700 kernel:  fs/cifs/transport.c: Sending smb:  total_len 45
Mar 14 05:30:52 linux700 kernel:  fs/cifs/connect.c: rfc1002 length 0x27
Mar 14 05:30:52 linux700 kernel:  fs/cifs/inode.c: CIFS VFS: leaving cifs_setattr (xid = 433) rc = 0
Mar 14 05:30:52 linux700 kernel:  fs/cifs/inode.c: CIFS VFS: in cifs_setattr as Xid: 435 with uid: 0
Mar 14 05:30:52 linux700 kernel:  fs/cifs/inode.c: setattr on file test.txt attrs->iavalid 0x1846
Mar 14 05:30:52 linux700 kernel:  fs/cifs/inode.c: UID changed to 1000
Mar 14 05:30:52 linux700 kernel:  fs/cifs/inode.c: GID changed to 100
Mar 14 05:30:52 linux700 kernel:  fs/cifs/inode.c: CIFS VFS: leaving cifs_setattr (xid = 435) rc = 0
Mar 14 05:30:52 linux700 kernel:  fs/cifs/xattr.c: CIFS VFS: in cifs_setxattr as Xid: 436 with uid: 0
Mar 14 05:30:52 linux700 kernel:  fs/cifs/xattr.c: set POSIX ACL rc -95
Mar 14 05:30:52 linux700 kernel:  fs/cifs/xattr.c: CIFS VFS: leaving cifs_setxattr (xid = 436) rc = -95
Mar 14 05:30:52 linux700 kernel:  fs/cifs/inode.c: CIFS VFS: in cifs_setattr as Xid: 437 with uid: 0
Mar 14 05:30:52 linux700 kernel:  fs/cifs/inode.c: setattr on file test.txt attrs->iavalid 0x41
Mar 14 05:30:52 linux700 kernel:  fs/cifs/inode.c: Mode changed to 0x81a4
Mar 14 05:30:52 linux700 kernel:  fs/cifs/inode.c: CIFS VFS: leaving cifs_setattr (xid = 437) rc = 0
Mar 14 05:30:52 linux700 kernel:  fs/cifs/file.c: CIFS VFS: in cifs_writepages as Xid: 438 with uid: 0
Mar 14 05:30:52 linux700 kernel:  fs/cifs/file.c: CIFS VFS: leaving cifs_writepages (xid = 438) rc = 0
Mar 14 05:30:52 linux700 kernel:  fs/cifs/file.c: Flush inode ca9b2398 file c0ceab40 rc 0
Mar 14 05:30:52 linux700 kernel:  fs/cifs/file.c: CIFS VFS: in cifs_close as Xid: 439 with uid: 0
Mar 14 05:30:52 linux700 kernel:  fs/cifs/cifssmb.c: In CIFSSMBClose
Mar 14 05:30:52 linux700 kernel:  fs/cifs/transport.c: For smb_command 4
Mar 14 05:30:52 linux700 kernel:  fs/cifs/transport.c: Sending smb:  total_len 45
Mar 14 05:30:52 linux700 kernel:  fs/cifs/connect.c: rfc1002 length 0x27
Mar 14 05:30:52 linux700 kernel:  fs/cifs/file.c: closing last open instance for inode ca9b2398
Mar 14 05:30:52 linux700 kernel:  fs/cifs/file.c: CIFS VFS: leaving cifs_close (xid = 439) rc = 0
Mar 14 05:30:53 linux700 kernel:  fs/cifs/inode.c: CIFS VFS: in cifs_revalidate as Xid: 440 with uid: 0
Mar 14 05:30:53 linux700 kernel:  fs/cifs/inode.c: Revalidate: \cifs inode 0xca9b2c68 count 1 dentry: 0xd34c05d8 d_time 12880954 jiffies 12881226
Mar 14 05:30:53 linux700 kernel:  fs/cifs/inode.c: Getting info on \cifs
Mar 14 05:30:53 linux700 kernel:  fs/cifs/transport.c: For smb_command 50
Mar 14 05:30:53 linux700 kernel:  fs/cifs/transport.c: Sending smb of length 84
Mar 14 05:30:53 linux700 kernel:  fs/cifs/connect.c: rfc1002 length 0xa0
Mar 14 05:30:53 linux700 kernel:  fs/cifs/inode.c: Old time 12880953
Mar 14 05:30:53 linux700 kernel:  fs/cifs/inode.c: New time 12881227
Mar 14 05:30:53 linux700 kernel:  fs/cifs/inode.c: cifs_revalidate - inode unchanged
Mar 14 05:30:53 linux700 kernel:  fs/cifs/inode.c: CIFS VFS: leaving cifs_revalidate (xid = 440) rc = 0
Mar 14 05:30:53 linux700 kernel:  fs/cifs/inode.c: CIFS VFS: in cifs_revalidate as Xid: 441 with uid: 0
Mar 14 05:30:53 linux700 kernel:  fs/cifs/inode.c: Revalidate: \cifs\test.txt inode 0xca9b2398 count 1 dentry: 0xd34c0e9c d_time 12880954 jiffies 12881227
Mar 14 05:30:53 linux700 kernel:  fs/cifs/inode.c: Getting info on \cifs\test.txt
Mar 14 05:30:53 linux700 kernel:  fs/cifs/transport.c: For smb_command 50
Mar 14 05:30:53 linux700 kernel:  fs/cifs/transport.c: Sending smb of length 102
Mar 14 05:30:53 linux700 kernel:  fs/cifs/connect.c: rfc1002 length 0xb2
Mar 14 05:30:53 linux700 kernel:  fs/cifs/inode.c: Old time 12880966
Mar 14 05:30:53 linux700 kernel:  fs/cifs/inode.c: New time 12881228
Mar 14 05:30:53 linux700 kernel:  fs/cifs/file.c: CIFS VFS: in cifs_writepages as Xid: 442 with uid: 0
Mar 14 05:30:53 linux700 kernel:  fs/cifs/file.c: CIFS VFS: leaving cifs_writepages (xid = 442) rc = 0
Mar 14 05:30:53 linux700 kernel:  fs/cifs/inode.c: Invalidating read ahead data on closed file
Mar 14 05:30:53 linux700 kernel:  fs/cifs/inode.c: CIFS VFS: leaving cifs_revalidate (xid = 441) rc = 0
Mar 14 05:30:53 linux700 kernel:  fs/cifs/inode.c: CIFS VFS: in cifs_revalidate as Xid: 443 with uid: 0
Mar 14 05:30:53 linux700 kernel:  fs/cifs/inode.c: Revalidate: \cifs\test.txt inode 0xca9b2398 count 1 dentry: 0xd34c0e9c d_time 12880954 jiffies 12881228
Mar 14 05:30:53 linux700 kernel:  fs/cifs/inode.c: CIFS VFS: leaving cifs_revalidate (xid = 443) rc = 0
Mar 14 05:31:12 linux700 kernel:  fs/cifs/connect.c: rfc1002 length 0x85000004
Mar 14 05:31:23 linux700 kernel:  fs/cifs/file.c: CIFS VFS: in cifs_writepages as Xid: 444 with uid: 0
Mar 14 05:31:23 linux700 kernel:  fs/cifs/file.c: CIFS VFS: leaving cifs_writepages (xid = 444) rc = 0
--------------------------


WinXP Pro:   (Test FAILED!)
==========

linux700:/home/gk # stat test.txt && cp -p test.txt /mnt/winxp/cifs && sleep 1 && stat /mnt/winxp/cifs/test.txt
  File: „test.txt“
  Size: 49              Blocks: 8          IO Block: 4096   reguläre Datei
Device: 306h/774d       Inode: 1075751     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/      gk)   Gid: (  100/   users)
Access: 2008-03-14 05:30:52.000000000 +0100
Modify: 2007-12-04 03:50:49.000000000 +0100
Change: 2008-03-13 08:45:11.000000000 +0100
  File: „/mnt/winxp/cifs/test.txt“
  Size: 49              Blocks: 1          IO Block: 16384  reguläre Datei
Device: 11h/17d Inode: 44654       Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/      gk)   Gid: (  100/   users)
Access: 2008-03-14 05:41:41.973929100 +0100
Modify: 2008-03-14 05:41:41.973929100 +0100
Change: 2008-03-14 05:41:41.973929100 +0100


Mar 14 05:39:55 linux700 kernel:  fs/cifs/inode.c: CIFS VFS: in cifs_setattr as Xid: 689 with uid: 0
Mar 14 05:39:55 linux700 kernel:  fs/cifs/inode.c: setattr on file test.txt attrs->iavalid 0x1f0
Mar 14 05:39:55 linux700 kernel:  fs/cifs/file.c: CIFS VFS: in cifs_writepages as Xid: 690 with uid: 0
Mar 14 05:39:55 linux700 kernel:  fs/cifs/cifssmb.c: write2 at 0 49 bytes
Mar 14 05:39:55 linux700 kernel:  fs/cifs/transport.c: For smb_command 47
Mar 14 05:39:55 linux700 kernel:  fs/cifs/transport.c: Sending smb:  total_len 117
Mar 14 05:39:55 linux700 kernel:  fs/cifs/connect.c: rfc1002 length 0x33
Mar 14 05:39:55 linux700 kernel:  fs/cifs/misc.c: Null buffer passed to cifs_small_buf_release
Mar 14 05:39:55 linux700 kernel:  fs/cifs/file.c: CIFS VFS: leaving cifs_writepages (xid = 690) rc = 0
Mar 14 05:39:55 linux700 kernel:  fs/cifs/inode.c: CIFS - CTIME changed
Mar 14 05:39:55 linux700 kernel:  fs/cifs/cifssmb.c: In SetTimes
Mar 14 05:39:55 linux700 kernel:  fs/cifs/transport.c: For smb_command 50
Mar 14 05:39:55 linux700 kernel:  fs/cifs/transport.c: Sending smb of length 144
Mar 14 05:39:55 linux700 kernel:  fs/cifs/connect.c: rfc1002 length 0x40
Mar 14 05:39:55 linux700 kernel:  fs/cifs/inode.c: CIFS VFS: leaving cifs_setattr (xid = 689) rc = 0
Mar 14 05:39:55 linux700 kernel:  fs/cifs/inode.c: CIFS VFS: in cifs_setattr as Xid: 691 with uid: 0
Mar 14 05:39:55 linux700 kernel:  fs/cifs/inode.c: setattr on file test.txt attrs->iavalid 0x1846
Mar 14 05:39:55 linux700 kernel:  fs/cifs/inode.c: UID changed to 1000
Mar 14 05:39:55 linux700 kernel:  fs/cifs/inode.c: GID changed to 100
Mar 14 05:39:55 linux700 kernel:  fs/cifs/inode.c: CIFS VFS: leaving cifs_setattr (xid = 691) rc = 0
Mar 14 05:39:55 linux700 kernel:  fs/cifs/xattr.c: CIFS VFS: in cifs_setxattr as Xid: 692 with uid: 0
Mar 14 05:39:55 linux700 kernel:  fs/cifs/xattr.c: set POSIX ACL rc -95
Mar 14 05:39:55 linux700 kernel:  fs/cifs/xattr.c: CIFS VFS: leaving cifs_setxattr (xid = 692) rc = -95
Mar 14 05:39:55 linux700 kernel:  fs/cifs/inode.c: CIFS VFS: in cifs_setattr as Xid: 693 with uid: 0
Mar 14 05:39:55 linux700 kernel:  fs/cifs/inode.c: setattr on file test.txt attrs->iavalid 0x41
Mar 14 05:39:55 linux700 kernel:  fs/cifs/inode.c: Mode changed to 0x81a4
Mar 14 05:39:55 linux700 kernel:  fs/cifs/inode.c: CIFS VFS: leaving cifs_setattr (xid = 693) rc = 0
Mar 14 05:39:55 linux700 kernel:  fs/cifs/file.c: CIFS VFS: in cifs_writepages as Xid: 694 with uid: 0
Mar 14 05:39:55 linux700 kernel:  fs/cifs/file.c: CIFS VFS: leaving cifs_writepages (xid = 694) rc = 0
Mar 14 05:39:55 linux700 kernel:  fs/cifs/file.c: Flush inode c1d06e20 file d2453bc0 rc 0
Mar 14 05:39:55 linux700 kernel:  fs/cifs/file.c: CIFS VFS: in cifs_close as Xid: 695 with uid: 0
Mar 14 05:39:55 linux700 kernel:  fs/cifs/cifssmb.c: In CIFSSMBClose
Mar 14 05:39:55 linux700 kernel:  fs/cifs/transport.c: For smb_command 4
Mar 14 05:39:55 linux700 kernel:  fs/cifs/transport.c: Sending smb:  total_len 45
Mar 14 05:39:55 linux700 kernel:  fs/cifs/connect.c: rfc1002 length 0x27
Mar 14 05:39:55 linux700 kernel:  fs/cifs/file.c: closing last open instance for inode c1d06e20
Mar 14 05:39:55 linux700 kernel:  fs/cifs/file.c: CIFS VFS: leaving cifs_close (xid = 695) rc = 0
Mar 14 05:39:56 linux700 kernel:  fs/cifs/inode.c: CIFS VFS: in cifs_revalidate as Xid: 696 with uid: 0
Mar 14 05:39:56 linux700 kernel:  fs/cifs/inode.c: Revalidate: \cifs inode 0xc1f8a0c8 count 1 dentry: 0xcb3a1cac d_time 13016503 jiffies 13016767
Mar 14 05:39:56 linux700 kernel:  fs/cifs/inode.c: Getting info on \cifs
Mar 14 05:39:56 linux700 kernel:  fs/cifs/transport.c: For smb_command 50
Mar 14 05:39:56 linux700 kernel:  fs/cifs/transport.c: Sending smb of length 84
Mar 14 05:39:56 linux700 kernel:  fs/cifs/connect.c: rfc1002 length 0x98
Mar 14 05:39:56 linux700 kernel:  fs/cifs/inode.c: Old time 13016503
Mar 14 05:39:56 linux700 kernel:  fs/cifs/inode.c: New time 13016768
Mar 14 05:39:56 linux700 kernel:  fs/cifs/inode.c: CIFS VFS: leaving cifs_revalidate (xid = 696) rc = 0
Mar 14 05:39:56 linux700 kernel:  fs/cifs/inode.c: CIFS VFS: in cifs_revalidate as Xid: 697 with uid: 0
Mar 14 05:39:56 linux700 kernel:  fs/cifs/inode.c: Revalidate: \cifs\test.txt inode 0xc1d06e20 count 1 dentry: 0xd3478cf0 d_time 13016505 jiffies 13016768
Mar 14 05:39:56 linux700 kernel:  fs/cifs/inode.c: Getting info on \cifs\test.txt
Mar 14 05:39:56 linux700 kernel:  fs/cifs/transport.c: For smb_command 50
Mar 14 05:39:56 linux700 kernel:  fs/cifs/transport.c: Sending smb of length 102
Mar 14 05:39:56 linux700 kernel:  fs/cifs/connect.c: rfc1002 length 0xaa
Mar 14 05:39:56 linux700 kernel:  fs/cifs/inode.c: Old time 13016509
Mar 14 05:39:56 linux700 kernel:  fs/cifs/inode.c: New time 13016768
Mar 14 05:39:56 linux700 kernel:  fs/cifs/file.c: CIFS VFS: in cifs_writepages as Xid: 698 with uid: 0
Mar 14 05:39:56 linux700 kernel:  fs/cifs/file.c: CIFS VFS: leaving cifs_writepages (xid = 698) rc = 0
Mar 14 05:39:56 linux700 kernel:  fs/cifs/inode.c: Invalidating read ahead data on closed file
Mar 14 05:39:56 linux700 kernel:  fs/cifs/inode.c: CIFS VFS: leaving cifs_revalidate (xid = 697) rc = 0
Mar 14 05:39:56 linux700 kernel:  fs/cifs/inode.c: CIFS VFS: in cifs_revalidate as Xid: 699 with uid: 0
Mar 14 05:39:56 linux700 kernel:  fs/cifs/inode.c: Revalidate: \cifs\test.txt inode 0xc1d06e20 count 1 dentry: 0xd3478cf0 d_time 13016505 jiffies 13016768
Mar 14 05:39:56 linux700 kernel:  fs/cifs/inode.c: CIFS VFS: leaving cifs_revalidate (xid = 699) rc = 0
Mar 14 05:40:29 linux700 kernel:  fs/cifs/file.c: CIFS VFS: in cifs_writepages as Xid: 700 with uid: 0
Mar 14 05:40:29 linux700 kernel:  fs/cifs/file.c: CIFS VFS: leaving cifs_writepages (xid = 700) rc = 0
---------------------------------


More information about the linux-cifs-client mailing list