]> nv-tegra.nvidia Code Review - linux-2.6.git/commitdiff
sysfs: Update the name hash for an entry after changing the namespace
authorTom Goff <thomas.goff@boeing.com>
Wed, 4 Apr 2012 19:06:20 +0000 (12:06 -0700)
committerVarun Wadekar <vwadekar@nvidia.com>
Wed, 18 Apr 2012 14:39:39 +0000 (20:09 +0530)
This is needed to allow renaming network devices that have been moved
to another network namespace.

Signed-off-by: Tom Goff <thomas.goff@boeing.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/sysfs/dir.c

index 2a7a3f5d1ca6d69ac5508fa85310867e339615c0..8ddc1021c79a288219a7943b4fe9605577e66e8e 100644 (file)
@@ -878,7 +878,6 @@ int sysfs_rename(struct sysfs_dirent *sd,
 
                dup_name = sd->s_name;
                sd->s_name = new_name;
-               sd->s_hash = sysfs_name_hash(sd->s_ns, sd->s_name);
        }
 
        /* Move to the appropriate place in the appropriate directories rbtree. */
@@ -886,6 +885,7 @@ int sysfs_rename(struct sysfs_dirent *sd,
        sysfs_get(new_parent_sd);
        sysfs_put(sd->s_parent);
        sd->s_ns = new_ns;
+       sd->s_hash = sysfs_name_hash(sd->s_ns, sd->s_name);
        sd->s_parent = new_parent_sd;
        sysfs_link_sibling(sd);