has anyone seen this issue? i am going to be using 1 symlink per user for homedirs because our homedir struct is not flat - h/a/aboy, h/b/balbert with dirs a - z. the homedir option will point to the homelinks dir which contains all the symlinks.
We are doing exactly what you describe with no trouble.
As I understand it, If you have lots of absolute symlinks and you have lots of entries in /etc/symlink.translations and you have lots of CIFS clients accessing the absolute symlinks, then the filer can get bogged down repeatedly searching the /etc/symlink.translations file. And the symlinks need to be inside a user's directory for this to happen (not in the cifs.home_dir directory).
Using symlinks in your cifs.home_dir directory does not contribute to this problem. The filer follows these symlinks without consulting /etc/symlink.translations and only once when the user logs in, to find the home directory.
Description Prolonged heavy access by CIFS clients that involve or cause lookup of Unix absolute symbolic links can affect filer performance. Because the resolution of absolute symlinks depends on Unix mount point information which is not available to CIFS clients, a table of translations is kept on the filer (/etc/symlink.translations). The entries in this file are order dependent and are searched sequentially. If a CIFS client is doing symlink lookups frequently, and if the entry to resolve the symlink is near the end of the file, and if the file is large, there can be a great deal of CPU utilization. This can slow operations for other users. For example, a user may be changing files in a directory that contains dozens of absolutes symbolic links. The /etc/symlink.translations file may have 1000s of entries. The user is accessing the files with Windows Explorer. After the target file is updated, the filer notifies Explorer of the file change. This is because Explorer will have posted a "change notify" request with the filer, so that it is alerted when changes occur and can update/redraw its display window. Explorer will touch each file including each of the symbolic links. The access of the symlinks will cause the filer to attempt to resolve them by scanning the /etc/symlink.translations entries. If there are many symlinks, many entries,multiple users with Explorer windows affected by change-notify updates, and if the entries needed to resolve the symlinks are missing or at the end of the /etc/symlink.translations file then filer performance can be affected.
Workaround Use the filer's cifs homedir feature (options cifs.home_dir) instead of using a symlink per user when implementing CIFS home directories if there are many users. --
Steve Losen scl@virginia.edu phone: 434-924-0640
University of Virginia ITC Unix Support