]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/staging/smbfs/dir.c
Merge 'staging-next' to Linus's tree
[net-next-2.6.git] / drivers / staging / smbfs / dir.c
index 936b3bb2099cf5879e6beca348a868011306d978..f088ea2f6ac9f27991d605b4093666d1a3d0843c 100644 (file)
@@ -406,21 +406,15 @@ void
 smb_renew_times(struct dentry * dentry)
 {
        dget(dentry);
-       spin_lock(&dentry->d_lock);
-       for (;;) {
-               struct dentry *parent;
+       dentry->d_time = jiffies;
 
-               dentry->d_time = jiffies;
-               if (IS_ROOT(dentry))
-                       break;
-               parent = dentry->d_parent;
-               dget(parent);
-               spin_unlock(&dentry->d_lock);
+       while (!IS_ROOT(dentry)) {
+               struct dentry *parent = dget_parent(dentry);
                dput(dentry);
                dentry = parent;
-               spin_lock(&dentry->d_lock);
+
+               dentry->d_time = jiffies;
        }
-       spin_unlock(&dentry->d_lock);
        dput(dentry);
 }