Commit b5a9d61e authored by Martin Brandenburg's avatar Martin Brandenburg Committed by Mike Marshall

orangefs: do not wait for timeout if umounting

When the computer is turned off, all the processes are killed and then
all the filesystems are umounted.  OrangeFS should not wait for the
userspace daemon to come back in that case.

This only works for plain umount(2).  To actually take advantage of this
interactively, `umount -f' is needed; otherwise umount will issue a
statfs first, which will wait for the userspace daemon to come back.
Signed-off-by: default avatarMartin Brandenburg <martin@omnibond.com>
Signed-off-by: default avatarMike Marshall <hubcap@omnibond.com>
parent b7a57cca
...@@ -124,7 +124,14 @@ int service_operation(struct orangefs_kernel_op_s *op, ...@@ -124,7 +124,14 @@ int service_operation(struct orangefs_kernel_op_s *op,
gossip_debug(GOSSIP_WAIT_DEBUG, gossip_debug(GOSSIP_WAIT_DEBUG,
"%s:client core is NOT in service.\n", "%s:client core is NOT in service.\n",
__func__); __func__);
timeout = op_timeout_secs * HZ; /*
* Don't wait for the userspace component to return if
* the filesystem is being umounted anyway.
*/
if (op->upcall.type == ORANGEFS_VFS_OP_FS_UMOUNT)
timeout = 0;
else
timeout = op_timeout_secs * HZ;
} }
spin_unlock(&orangefs_request_list_lock); spin_unlock(&orangefs_request_list_lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment