jeff
9e1f35189b
- Fix a leaked reference to a vnode via v_dd. We rely on cache_purge() and
...
cache_zap() to clear the v_dd pointers when a directory vnode is forcibly
discarded. For this to work, all vnodes with v_dd pointers to a directory
must also have name cache entries linked via v_cache_dst to that dvp
otherwise we could not find them at cache_purge() time. The following
code snipit could break this guarantee by unlinking a directory before
fetching it's dotdot. The dotdot lookup would initialize the v_dd field
of the unlinked directory which could never be cleared. To fix this
we don't initialize v_dd for orphaned vnodes.
printf("rmdir: %d\n", rmdir("../foo")); /* foo is cwd */
printf("chdir: %d\n", chdir(".."));
printf("%s\n", getwd(NULL));
Sponsored by: Isilon Systems, Inc.
Discovered by: kkenn
Approved by: re (blanket vfs)
2005-06-17 01:05:13 +00:00
..
2005-05-03 10:51:38 +00:00
2005-05-24 22:21:44 +00:00
2005-04-01 20:00:11 +00:00
2005-06-09 00:27:02 +00:00
2005-05-30 15:20:21 +00:00
2005-04-16 12:12:27 +00:00
2005-05-30 06:29:29 +00:00
2005-03-31 10:29:57 +00:00
2005-04-10 19:11:23 +00:00
2005-05-03 10:52:22 +00:00
2005-06-03 23:15:01 +00:00
2005-06-09 19:45:09 +00:00
2005-05-23 23:01:53 +00:00
2005-04-20 13:14:52 +00:00
2005-04-04 21:53:56 +00:00
2005-04-12 23:18:54 +00:00
2005-06-09 18:49:19 +00:00
2005-05-27 15:57:27 +00:00
2005-06-10 23:21:29 +00:00
2005-06-09 18:33:21 +00:00
2005-05-28 23:20:05 +00:00
2005-04-12 05:43:03 +00:00
2005-03-29 08:13:01 +00:00
2005-04-22 19:09:12 +00:00
2005-06-16 16:01:46 +00:00
2005-04-08 14:14:09 +00:00
2005-05-28 14:34:41 +00:00
2005-06-09 19:45:09 +00:00
2005-04-18 02:10:37 +00:00
2005-04-18 13:36:57 +00:00
2005-06-01 17:52:51 +00:00
2005-04-12 05:45:58 +00:00
2005-06-06 05:13:10 +00:00
2005-06-10 03:00:29 +00:00
2005-05-23 23:01:53 +00:00
2005-03-26 20:04:28 +00:00
2005-04-23 02:36:07 +00:00
2005-05-27 04:27:22 +00:00
2005-03-31 22:51:18 +00:00
2005-05-30 15:09:18 +00:00
2005-03-31 22:54:48 +00:00
2005-06-09 19:43:08 +00:00
2005-06-07 02:59:16 +00:00
2005-06-09 05:50:01 +00:00
2005-05-03 10:58:05 +00:00
2005-06-15 23:32:07 +00:00
2005-03-24 21:20:25 +00:00
2005-04-30 20:01:00 +00:00
2005-04-16 15:07:41 +00:00
2005-06-06 22:18:32 +00:00
2005-05-06 02:50:00 +00:00
2005-05-27 15:57:27 +00:00
2005-04-30 20:01:00 +00:00
2005-05-01 00:38:11 +00:00
2005-03-28 12:52:46 +00:00
2005-03-14 06:51:29 +00:00
2005-06-04 23:24:50 +00:00
2005-03-31 22:51:18 +00:00
2005-03-18 21:22:28 +00:00
2005-04-16 18:46:29 +00:00
2005-05-30 15:20:21 +00:00
2005-05-30 15:09:18 +00:00
2005-06-07 05:03:28 +00:00
2005-05-12 20:04:48 +00:00
2005-03-31 12:19:44 +00:00
2005-03-31 12:19:44 +00:00
2005-04-13 13:56:17 +00:00
2005-06-11 11:59:48 +00:00
2005-06-05 17:13:23 +00:00
2005-05-04 18:55:03 +00:00
2005-06-08 07:29:22 +00:00
2005-05-27 17:16:43 +00:00
2005-05-27 17:16:43 +00:00
2005-06-10 16:49:24 +00:00
2005-05-04 18:55:03 +00:00
2005-05-07 00:41:36 +00:00
2005-06-07 05:28:21 +00:00
2005-06-14 20:32:27 +00:00
2005-06-17 01:05:13 +00:00
2005-05-14 05:09:11 +00:00
2005-06-14 20:32:27 +00:00
2005-05-11 18:25:42 +00:00
2005-06-14 01:14:40 +00:00
2005-04-07 07:54:08 +00:00
2005-04-13 23:36:28 +00:00
2005-05-18 22:05:12 +00:00
2005-06-16 04:41:42 +00:00
2005-06-14 01:14:40 +00:00
2005-06-14 01:14:40 +00:00
2005-06-09 20:20:31 +00:00