[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
Wed Feb 4 17:17:23 GMT 2004
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Its getting late in the day and I forgot to mention that I have tested
copying new files to the share with no problems. see below
[iamess at strider iamess]$ ls -l VMware-workstation-4.0.5-6030.i386.rpm
- -rw------- 1 iamess iamess 26401561 Jan 30 12:36
VMware-workstation-4.0.5-6030.i386.rpm
[iamess at strider iamess]$ md5sum VMware-workstation-4.0.5-6030.i386.rpm >
VM_MD5SUM
[iamess at strider iamess]$ cp VMware-workstation-4.0.5-6030.i386.rpm NT/.
[iamess at strider iamess]$ cp VM_MD5SUM NT/.
[iamess at strider iamess]$ cd NT
[iamess at strider NT]$ md5sum --check VM_MD5SUM
VMware-workstation-4.0.5-6030.i386.rpm: OK
[iamess at strider NT]$ ls -l VMware-workstation-4.0.5-6030.i386.rpm
- -rw-rw-rw- 1 iamess iamess 26401561 Feb 4 2004
VMware-workstation-4.0.5-6030.i386.rpm
Cheers
Ian
Ian wrote:
| Steve,
| ~ Is this the cause of the odd vi behaviour? I ran some more tests and
| discovered that vi will behave oddly whether the file being edited is
| new or not.
|
| Steve French wrote:
|
| | Ian, Thanks, trying 2.4.24 at current cvs level I see the problem
| | with the date and time stamps on 2.4 (the 2.4 and 2.6 logic for
| | creating files is very different due to the more efficient "lookup
| | intent" changes in 2.6 so I can see why 2.6 would not have this
| | problem). There are actually (at least) 3 setpathinfo calls caused
| | indirectly in executing the "touch" command in 2.4 due in part to the
| | strange way that create is broken into multiple pieces in
| | implemented in the VFS. Of three date/time stamps fields on a file
| | - the create and access ones are getting overwritten while the modify
| | one is ok (they look fine until the third (!) setpathinfo - in which
| | it looks like the correct values are shifted and partially
| | overwritten with zeros. Am investigating. Interestingly the date and
| | time stamps are ok on the file most of the way through the trace
| | (frame 20 out of 25 sets it to the incorrect value, but it is fine
| | until that point).
| |
| | On Tue, 2004-02-03 at 07:49, Ian wrote:
| |
| |> -----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-----
| |>
| |>
| |>
_______________________________________________
linux-cifs-client mailing list
linux-cifs-client at lists.samba.org
http://lists.samba.org/mailman/listinfo/linux-cifs-client
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQFAISjNzR2KhuAWJ/gRAmjiAJ9+wX54o991mWWQo9EWH+S1U1yQ7ACgqDiX
9NK7tjArM4jgrflb7hLRVns=
=Vilu
-----END PGP SIGNATURE-----
More information about the linux-cifs-client
mailing list