mirror of
https://git.openafs.org/openafs.git
synced 2025-01-31 05:27:44 +00:00
Linux: Use freezer compatibility macros in RX
Commit eef18466d920985c37ed8d22a6557b609c6225a6 introduced some compatibility macros for the refridgerator functionality. Use these in the Linux kernel RX code, rather than rolling our own. Change-Id: I4279e0b3ee92337cb992ff46895712630f681b7b Reviewed-on: http://gerrit.openafs.org/2383 Reviewed-by: Derrick Brashear <shadow@dementia.org> Tested-by: Derrick Brashear <shadow@dementia.org>
This commit is contained in:
parent
af3292a06d
commit
2aa16fba58
@ -21,9 +21,7 @@
|
||||
#include "rx_kmutex.h"
|
||||
#include "rx/rx_kernel.h"
|
||||
|
||||
#ifdef HAVE_LINUX_FREEZER_H
|
||||
# include <linux/freezer.h>
|
||||
#endif
|
||||
#include "osi_compat.h"
|
||||
|
||||
void
|
||||
afs_mutex_init(afs_kmutex_t * l)
|
||||
@ -115,29 +113,8 @@ afs_cv_wait(afs_kcondvar_t * cv, afs_kmutex_t * l, int sigok)
|
||||
|
||||
while(seq == cv->seq) {
|
||||
schedule();
|
||||
#ifdef CONFIG_PM
|
||||
if (
|
||||
#ifdef PF_FREEZE
|
||||
current->flags & PF_FREEZE
|
||||
#else
|
||||
#if defined(STRUCT_TASK_STRUCT_HAS_TODO)
|
||||
!current->todo
|
||||
#else
|
||||
#if defined(STRUCT_TASK_STRUCT_HAS_THREAD_INFO)
|
||||
test_ti_thread_flag(current->thread_info, TIF_FREEZE)
|
||||
#else
|
||||
test_ti_thread_flag(task_thread_info(current), TIF_FREEZE)
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
)
|
||||
#ifdef LINUX_REFRIGERATOR_TAKES_PF_FREEZE
|
||||
refrigerator(PF_FREEZE);
|
||||
#else
|
||||
refrigerator();
|
||||
#endif
|
||||
afs_try_to_freeze();
|
||||
set_current_state(TASK_INTERRUPTIBLE);
|
||||
#endif
|
||||
}
|
||||
|
||||
remove_wait_queue(&cv->waitq, &wait);
|
||||
|
@ -240,29 +240,7 @@ osi_NetReceive(osi_socket so, struct sockaddr_in *from, struct iovec *iov,
|
||||
code = kernel_recvmsg(sop, &msg, (struct kvec *)tmpvec, iovcnt,
|
||||
*lengthp, 0);
|
||||
if (code < 0) {
|
||||
#ifdef CONFIG_PM
|
||||
if (
|
||||
# ifdef PF_FREEZE
|
||||
current->flags & PF_FREEZE
|
||||
# else
|
||||
# if defined(STRUCT_TASK_STRUCT_HAS_TODO)
|
||||
!current->todo
|
||||
# else
|
||||
# if defined(STRUCT_TASK_STRUCT_HAS_THREAD_INFO)
|
||||
test_ti_thread_flag(current->thread_info, TIF_FREEZE)
|
||||
# else
|
||||
test_ti_thread_flag(task_thread_info(current), TIF_FREEZE)
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
)
|
||||
# ifdef LINUX_REFRIGERATOR_TAKES_PF_FREEZE
|
||||
refrigerator(PF_FREEZE);
|
||||
# else
|
||||
refrigerator();
|
||||
# endif
|
||||
set_current_state(TASK_INTERRUPTIBLE);
|
||||
#endif
|
||||
afs_try_to_freeze();
|
||||
|
||||
/* Clear the error before using the socket again.
|
||||
* Oh joy, Linux has hidden header files as well. It appears we can
|
||||
|
Loading…
x
Reference in New Issue
Block a user