]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
afs: Leave cellnum alone for explicit mtpt cell
authorAndrew Deason <adeason@sinenomine.net>
Tue, 15 Nov 2011 19:18:48 +0000 (13:18 -0600)
committerDerrick Brashear <shadow@dementix.org>
Mon, 28 Nov 2011 02:40:30 +0000 (18:40 -0800)
When a mountpoint is given an explicit cell, don't alter cellnum.
Cellnum represents the cell for the parent, and is used for
determining whether or not we're crossing a cell boundary.

Previously, this code forced the mount point to always be treated as
foreign (for a mountpoint prefixed with a cell name), or to always be
treated as local (for a mountpoint prefixed with a cell number).

Reviewed-on: http://gerrit.openafs.org/6051
Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit e14dec55e6600edb60ce5184b4ab1f646c68947b)

Change-Id: I8d2b378a95533aabd65e7121000ce34238d728b7
Reviewed-on: http://gerrit.openafs.org/6123
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
src/afs/VNOPS/afs_vnop_lookup.c

index 46fc72dd89c72e22ff02823f4ee4728fd7ccf764..580f78b1e010b293f8af16b07948c94610cf2221 100644 (file)
@@ -67,14 +67,14 @@ EvalMountData(char type, char *data, afs_uint32 states, afs_uint32 cellnum,
     /* Start by figuring out and finding the cell */
     cpos = afs_strchr(data, ':');      /* if cell name present */
     if (cpos) {
+       afs_uint32 mtptCellnum;
        volnamep = cpos + 1;
        *cpos = 0;
-       if ((afs_strtoi_r(data, &endptr, &cellnum) == 0) &&
-           (endptr == cpos))
-           tcell = afs_GetCell(cellnum, READ_LOCK);
-       else {
+       if ((afs_strtoi_r(data, &endptr, &mtptCellnum) == 0) &&
+           (endptr == cpos)) {
+           tcell = afs_GetCell(mtptCellnum, READ_LOCK);
+       else {
            tcell = afs_GetCellByName(data, READ_LOCK);
-           cellnum = 0;
        }
        *cpos = ':';
     } else if (cellnum) {