namei.c (8ed936b5671bfb33d89bc60bdcc7cf0470ba52fe) namei.c (5542aa2fa7f6cddb03c4ac3135e390adffda98ca)
1/*
2 * linux/fs/namei.c
3 *
4 * Copyright (C) 1991, 1992 Linus Torvalds
5 */
6
7/*
8 * Some corrections by tytso.

--- 1292 unchanged lines hidden (view full) ---

1301 dentry = d_lookup(dir, name);
1302 if (dentry) {
1303 if (dentry->d_flags & DCACHE_OP_REVALIDATE) {
1304 error = d_revalidate(dentry, flags);
1305 if (unlikely(error <= 0)) {
1306 if (error < 0) {
1307 dput(dentry);
1308 return ERR_PTR(error);
1/*
2 * linux/fs/namei.c
3 *
4 * Copyright (C) 1991, 1992 Linus Torvalds
5 */
6
7/*
8 * Some corrections by tytso.

--- 1292 unchanged lines hidden (view full) ---

1301 dentry = d_lookup(dir, name);
1302 if (dentry) {
1303 if (dentry->d_flags & DCACHE_OP_REVALIDATE) {
1304 error = d_revalidate(dentry, flags);
1305 if (unlikely(error <= 0)) {
1306 if (error < 0) {
1307 dput(dentry);
1308 return ERR_PTR(error);
1309 } else if (!d_invalidate(dentry)) {
1309 } else {
1310 d_invalidate(dentry);
1310 dput(dentry);
1311 dentry = NULL;
1312 }
1313 }
1314 }
1315 }
1316
1317 if (!dentry) {

--- 112 unchanged lines hidden (view full) ---

1430
1431 if (unlikely(dentry->d_flags & DCACHE_OP_REVALIDATE) && need_reval)
1432 status = d_revalidate(dentry, nd->flags);
1433 if (unlikely(status <= 0)) {
1434 if (status < 0) {
1435 dput(dentry);
1436 return status;
1437 }
1311 dput(dentry);
1312 dentry = NULL;
1313 }
1314 }
1315 }
1316 }
1317
1318 if (!dentry) {

--- 112 unchanged lines hidden (view full) ---

1431
1432 if (unlikely(dentry->d_flags & DCACHE_OP_REVALIDATE) && need_reval)
1433 status = d_revalidate(dentry, nd->flags);
1434 if (unlikely(status <= 0)) {
1435 if (status < 0) {
1436 dput(dentry);
1437 return status;
1438 }
1438 if (!d_invalidate(dentry)) {
1439 dput(dentry);
1440 goto need_lookup;
1441 }
1439 d_invalidate(dentry);
1440 dput(dentry);
1441 goto need_lookup;
1442 }
1443
1444 path->mnt = mnt;
1445 path->dentry = dentry;
1446 err = follow_managed(path, nd->flags);
1447 if (unlikely(err < 0)) {
1448 path_put_conditional(path, nd);
1449 return err;

--- 3035 unchanged lines hidden ---
1442 }
1443
1444 path->mnt = mnt;
1445 path->dentry = dentry;
1446 err = follow_managed(path, nd->flags);
1447 if (unlikely(err < 0)) {
1448 path_put_conditional(path, nd);
1449 return err;

--- 3035 unchanged lines hidden ---