[patch] smbfs cache rewrite - 2nd try

Urban Widmark (urban@teststation.com)
Sun, 28 Jan 2001 17:22:32 +0100 (CET)


Hello again

This patch is more complete than the version posted earlier. It implements
support for OS/2 (and possibly things even older than that :) and have
been more tested. This borrows a lot from the ncpfs dircache code.

Smbfs testers wanted, with or without highmem boxes.

Bugs (believed) fixed vs 2.4.1-pre10:
+ cache code would oops/lockup on highmem machines (too many kmap'ed pages
and possibly a few other things)
+ readpage/writepage could oops on highmem machines (missing kmap)
+ listing long directories would fail on some dirs on some types of servers
(from 2.2.18, has nothing to do with the cache code)

Improvements:
+ new cache code creates dentries and inodes from the "findfirst" data,
reducing the number of smb requests needed to list a directory (ls -l)
from n/x + n to n/x (where x is the number of entries that fit in one
request).
+ new mount option, ttl, allows control over how long the cache is
considered valid, default ttl=1000 (1 second).

Bugs introduced:
- date conversion may need to do timezone conversion in smbfs
- 'd; touch dd; d; rm DD; d', where d is an alias for ls -alF, will crash
on the rm if the server is "old", tested vs a samba server configured to
talk "LANMAN1". Does not crash when using "NT1".
Don't know if this is a new or old bug yet.
- more?
(this is where you come in ...)

Download ~57k from:
http://www.hojdpunkten.ac.se/054/samba/smbfs-2.4.1-pre10-cache-2.patch
(Apply using 'patch -p1' from the linux directory.)

/Urban

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/