On Thu, 28 Sep 2000, Todd C. Merrill wrote:
On Tue, 26 Sep 2000, Moshe Linzer wrote:
Jeffrey Krueger wrote:
On Wed, Sep 20, 2000 at 09:23:04AM +0200, Eli Lopez wrote:
Aieee! EATTRIB2DEEP!
BTW, you can create a soft link on the filer called QTREE1 pointing to /vol/vol1/QTREE1 and mount using the link name.
Cool! I didn't know the NetApp could internally resolve symlinks for NFS/CIFS exports/shares and still give us the "right stuff" from rquotad and what not.
Yeah, the same trick allows us to share our CIFS homedirs under a single root, without actually moving the user's home directory.
Whoa. What's this? I knew symlinks if resolved on the same filesystem on a filer work correctly under CIFS, but this seems different. You can symlink across *volumes* on the same filer and it is transparent to NFS and CIFS clients???
<Scratches chin, tries to think back, way back, to the late 1900's...>
Y'know, I can't recall exactly now, but I thought we tried that trick on a filer running an early 5.x release... when we went from a pure, pristine NFS-only shop to the bag of rabid weasels that is a mixed CIFS/NFS environment, we had to figure out how to map a flat /home/users/* namespace into CIFS shares. Only our /home/users was really populated with symlinks to about a dozen separate subdirectories of a users qtree, which segregated them according to groups, so that NFS exports of those groups could be divided into netgroups of machines that were owned by said groups. (Phew! Say that five times fast.) I.e., we could restrict exports to some machines so that they could only "see" home directories for users in that group, but on shared central servers we could mount the parent of the users tree and see everything. Given the (political) circumstances that necessitated this somehwat bizarre arrangement, this was Very clean. Nee, even elegant in its own way.
And, of course, Windows choked on it like month-old leftovers.
Because cifs.home_dir only accepted one directory argument to do its magic, we were stuck. We had a bunch of separate roots, not just one, so now typing "cifs shares" on said filer produces something resembling the Portland Metro Area phone book. My, how we scroll! (I'm sure the folks that read the autosupport mail have probably seen worse, though. :-)
So I put in an RFE a couple of years ago to expand the cifs.home_dir option to accept multiple paths, rather than just a single directory. Like setting $PATH to a colon-separated list in any Unix shell:
/vol/vol0/users/dirA:/vol/vol0/users/dirB:/vol/vol1/users/dirC
I think someone else had already submitted that one too, around the same time.
"So, how is any of this relevant to the discussion at hand?" I hear you cry.
In glancing over the 6.0 release notes, I *thought* I read that this very RFE has finally been included in the release. So, rather than worry about directories of symlinks or the vagaries of resolving them across volumes in a mixed NFS/CIFS environment, you can simply set cifs.home_dir to a collection of paths and be done with it. Hooray! Of course, I'm far too tired to log into NOW and look for it and see if this is, indeed, the case, so don't take my word for it. I've had enough caffeine today to incapacitate a large barnyard animal.
OKAY, so sleep is overrated. I went and looked. Bug ID 13856 is the RFE that caught my eye, but it doesn't quite describe the thing I requested, although it does appear to add some interesting functionality, although it's full of Windows goop and not what I was describing with the path idea. Bzzzt. Sorry to get your hopes up. Please play again soon.
It's funny is that I really can't remember if we tried setting cifs.home_dir to the directory full of symlinks or not. We must have. Really. I've probably blocked out the whole sordid affair. If that had worked in 5.2.x and we could have avoided defining and maintaining all those separate shares, by hand, for every bloomin' user... but heck, that's what we have NT admins for. :-)
Nowadays I'm unencumbered by such restraints and I have one nice flat /home, and cifs.home_dir works famously. Still, even though I don't have a need for it anymore, I think having cifs.home_dir take a $PATH-style argument would be a spiffy feature. Don't you agree, Toastadminarians?
Cheers!
-- Chris
-- Chris Lamb, Unix Guy MeasureCast, Inc. 503-241-1469 x247 skeezics@measurecast.com