1 |
/* Main program and global state for tmpfs. |
/* Main program and global state for tmpfs. |
2 |
Copyright (C) 2000, 2001 Free Software Foundation, Inc. |
Copyright (C) 2000,01,02 Free Software Foundation, Inc. |
3 |
|
|
4 |
This file is part of the GNU Hurd. |
This file is part of the GNU Hurd. |
5 |
|
|
265 |
/* Propagate permissions, owner, etc. from underlying node to |
/* Propagate permissions, owner, etc. from underlying node to |
266 |
the root directory of the new (empty) filesystem. */ |
the root directory of the new (empty) filesystem. */ |
267 |
err = io_stat (realnode, &st); |
err = io_stat (realnode, &st); |
|
mach_port_deallocate (mach_task_self (), realnode); |
|
268 |
if (err) |
if (err) |
269 |
{ |
{ |
270 |
error (0, err, "cannot stat underlying node"); |
error (0, err, "cannot stat underlying node"); |
293 |
diskfs_root_node->dn_stat.st_mode |= S_IROOT; |
diskfs_root_node->dn_stat.st_mode |= S_IROOT; |
294 |
diskfs_root_node->dn_stat.st_nlink = 2; |
diskfs_root_node->dn_stat.st_nlink = 2; |
295 |
|
|
296 |
|
/* We must keep the REALNODE send right to remain the active |
297 |
|
translator for the underlying node. */ |
298 |
|
|
299 |
mutex_unlock (&diskfs_root_node->lock); |
mutex_unlock (&diskfs_root_node->lock); |
300 |
|
|
301 |
/* and so we die, leaving others to do the real work. */ |
/* and so we die, leaving others to do the real work. */ |