[linux-cifs-client] Re: cifs caching problem fixed? and
GENERIC_WRITE vs. GENERIC_ALL fix pushed to 2.4 cvs
Ian
ian at gallowit.com
Tue Feb 3 13:49:58 GMT 2004
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
HI
~ I tried the fixes this morning and found that the odd permission
problem had been solved however, I found that this has broken something
else. Here is the test I ran
[iamess at strider NT]$ ls -l test
ls: test: No such file or directory
[iamess at strider NT]$ touch test
[iamess at strider NT]$ ls -l test
- -rw-rw-rw- 1 iamess iamess 0 Aug 9 2037 test (note
date)
[iamess at strider NT]$ vi test
E325: ATTENTION
Found a swap file by the name ".test.swp"
~ owned by: iamess dated: Tue Feb 3 12:06:34 2004
~ [cannot be read]
While opening file "test"
~ dated: Sun Aug 9 14:26:34 2037
~ NEWER than swap file!
(1) Another program may be editing the same file.
~ If this is the case, be careful not to end up with two
~ different instances of the same file when making changes.
~ Quit, or continue with caution.
(2) An edit session for this file crashed.
~ If this is the case, use ":recover" or "vim -r test"
~ to recover the changes (see ":help recovery").
~ If you did this already, delete the swap file ".test.swp"
~ to avoid this message.
Swap file ".test.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (D)elete it:
~ Chose to Delete file vi returns an emptly file
~ Entered some text
[iamess at strider NT]$ ls -l test*
- -rw-rw-rw- 1 iamess iamess 16 Feb 3 13:44 test
- -rw-rw-rw- 1 iamess iamess 0 Feb 3 13:44 test~
[iamess at strider NT]$ ls -l .test*
- -rw-rw-rw- 1 iamess iamess 0 Feb 3 13:43 .test.swp
- -rw-rw-rw- 1 iamess iamess 0 Feb 3 13:41 .test.swpx
~ I'm guessing but it seems that an open request is being made at
least twice.
Cheers,
Ian
Steve French wrote:
|Howard,
|See below - this seems to work now based on my tests on 2.6 which has
|the identical code in these routines to 2.4. The caching/oplock problem
|no longer fails with the minor change to cifsfs.c that I made today and
|pushed in the bk://cifs.bkbits.net/linux-2.5cifs 2.6 development tree (I
|also backported them to the 2.4 cvs version in samba.org cvs but they
|have not been tested yet on 2.4). The 2.4 code now includes the fix Ian
|was asking about as well (for the odd share permissions access denied).
|
|/localhost/stevef on /mnt type cifs (0)
|stevef95:/home/stevef/bk/linux-2.5cifs # ls -l /mnt/foo
|ls: /mnt/foo: No such file or directory
|stevef95:/home/stevef/bk/linux-2.5cifs # touch !$
|touch /mnt/foo
|stevef95:/home/stevef/bk/linux-2.5cifs # ls -l /mnt/foo
|-rwxrwxrwx 1 stevef users 0 2004-02-02 18:24 /mnt/foo
|stevef95:/home/stevef/bk/linux-2.5cifs # rm /mnt/foo
|stevef95:/home/stevef/bk/linux-2.5cifs # echo "This is the client" >
|/mnt/foo
|stevef95:/home/stevef/bk/linux-2.5cifs # ls -l /mnt/foo
|-rwxrwxrwx 1 stevef users 19 2004-02-02 18:25 /mnt/foo
|stevef95:/home/stevef/bk/linux-2.5cifs # echo "look at server version of
|file now"
|look at server version of file now
|stevef95:/home/stevef/bk/linux-2.5cifs # ls -l /data/pchome/stevef/foo
|-rwxrwxrwx 1 stevef users 19 2004-02-02 18:25
|/data/pchome/stevef/foo
|stevef95:/home/stevef/bk/linux-2.5cifs # cat /data/pchome/stevef/foo
|This is the client
|stevef95:/home/stevef/bk/linux-2.5cifs # perl -pi -e 's/client/server/'
|/data/pchome/stevef/foo
|stevef95:/home/stevef/bk/linux-2.5cifs # cat /data/pchome/stevef/foo
|This is the server
|stevef95:/home/stevef/bk/linux-2.5cifs # echo "Back to client view of
|file"
|Back to client view of file
|stevef95:/home/stevef/bk/linux-2.5cifs # cat /mnt/foo
|This is the server
|stevef95:/home/stevef/bk/linux-2.5cifs # touch !$
|touch /mnt/foo
|stevef95:/home/stevef/bk/linux-2.5cifs # ls -l /mnt/foo
|-rwxrwxrwx 1 stevef users 19 2004-02-02 18:27 /mnt/foo
|stevef95:/home/stevef/bk/linux-2.5cifs # cat /mnt/foo
|This is the server
|stevef95:/home/stevef/bk/linux-2.5cifs # toch /mnt/foo
|bash: toch: command not found
|stevef95:/home/stevef/bk/linux-2.5cifs # cat /mnt/foo
|This is the server
|stevef95:/home/stevef/bk/linux-2.5cifs # /usr/local/samba/sbin/smbd -V
|Version CVS 3.0.1pre1
|stevef95:/home/stevef/bk/linux-2.5cifs #
|
|
|Then same test with oplock enabled (default)
|
|stevef95:/home/stevef/bk/linux-2.5cifs # cat /proc/fs/cifs/OplockEnabled
|1
|stevef95:/home/stevef/bk/linux-2.5cifs # ls -l /mnt/foo1
|ls: /mnt/foo1: No such file or directory
|stevef95:/home/stevef/bk/linux-2.5cifs # touch !$
|touch /mnt/foo1
|stevef95:/home/stevef/bk/linux-2.5cifs # ls -l /mnt/foo1
|-rwxrwxrwx 1 stevef users 0 2004-02-02 18:30 /mnt/foo1
|stevef95:/home/stevef/bk/linux-2.5cifs # rm !$
|rm /mnt/foo1
|stevef95:/home/stevef/bk/linux-2.5cifs # echo "This is client" >
|/mnt/foo1
|stevef95:/home/stevef/bk/linux-2.5cifs # ls -l /mnt/foo1
|-rwxrwxrwx 1 stevef users 15 2004-02-02 18:31 /mnt/foo1
|stevef95:/home/stevef/bk/linux-2.5cifs # echo "switch to server view of
|same file"
|switch to server view of same file
|stevef95:/home/stevef/bk/linux-2.5cifs # ls -l /data/pchome/stevef/foo1
|-rwxrwxrwx 1 stevef users 15 2004-02-02 18:31
|/data/pchome/stevef/foo1
|stevef95:/home/stevef/bk/linux-2.5cifs # cat /data/pchome/stevef/foo1
|This is client
|stevef95:/home/stevef/bk/linux-2.5cifs # perl -pi -e 's/client/server/'
|/data/pchome/stevef/foo1
|stevef95:/home/stevef/bk/linux-2.5cifs # cat /data/pchome/stevef/foo1
|This is server
|stevef95:/home/stevef/bk/linux-2.5cifs # echo switch to client view
|switch to client view
|stevef95:/home/stevef/bk/linux-2.5cifs # cat /mnt/foo1
|This is server
|stevef95:/home/stevef/bk/linux-2.5cifs # touch !$
|touch /mnt/foo1
|stevef95:/home/stevef/bk/linux-2.5cifs # ls -l /mnt/foo1
|-rwxrwxrwx 1 stevef users 15 2004-02-02 18:33 /mnt/foo1
|stevef95:/home/stevef/bk/linux-2.5cifs # cat /mnt/foo1
|This is server
|stevef95:/home/stevef/bk/linux-2.5cifs # touch /mnt/foo1
|stevef95:/home/stevef/bk/linux-2.5cifs # cat /mnt/foo1
|This is server
|
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQFAH6cEzR2KhuAWJ/gRAtsoAJ0XallwGPnXzdPomZm6SVdamwmj/QCgwKFz
2lsk74fd434D6mebpTf7kZw=
=4bGd
-----END PGP SIGNATURE-----
More information about the linux-cifs-client
mailing list