X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fobdclass%2Fllog.c;h=f08d54b040c05d191e63ff0e14c00886d0319409;hb=3514e6f03bc08bf7c3e7746a54c8900a65fc0d74;hp=14ed25dd9aa145b6f8e45a42210d99a83efa70ae;hpb=6e3ec5812ebd1b5ecf7cae584f429b013ffe7431;p=fs%2Flustre-release.git diff --git a/lustre/obdclass/llog.c b/lustre/obdclass/llog.c index 14ed25d..f08d54b 100644 --- a/lustre/obdclass/llog.c +++ b/lustre/obdclass/llog.c @@ -1,6 +1,4 @@ -/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- - * vim:expandtab:shiftwidth=8:tabstop=8: - * +/* * GPL HEADER START * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. @@ -26,7 +24,7 @@ * GPL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved + * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. * Use is subject to license terms. */ /* @@ -45,10 +43,6 @@ #define DEBUG_SUBSYSTEM S_LOG -#ifndef EXPORT_SYMTAB -#define EXPORT_SYMTAB -#endif - #ifndef __KERNEL__ #include #endif @@ -242,7 +236,8 @@ static int llog_process_thread(void *arg) return 0; } - cfs_daemonize_ctxt("llog_process_thread"); + if (!(lpi->lpi_flags & LLOG_FLAG_NODEAMON)) + cfs_daemonize_ctxt("llog_process_thread"); if (cd != NULL) { last_called_index = cd->lpcd_first_idx; @@ -354,8 +349,8 @@ static int llog_process_thread(void *arg) return 0; } -int llog_process(struct llog_handle *loghandle, llog_cb_t cb, - void *data, void *catdata) +int llog_process_flags(struct llog_handle *loghandle, llog_cb_t cb, + void *data, void *catdata, int flags) { struct llog_process_info *lpi; int rc; @@ -370,10 +365,11 @@ int llog_process(struct llog_handle *loghandle, llog_cb_t cb, lpi->lpi_cb = cb; lpi->lpi_cbdata = data; lpi->lpi_catdata = catdata; + lpi->lpi_flags = flags; #ifdef __KERNEL__ cfs_init_completion(&lpi->lpi_completion); - rc = cfs_kernel_thread(llog_process_thread, lpi, CLONE_VM | CLONE_FILES); + rc = cfs_create_thread(llog_process_thread, lpi, CFS_DAEMON_FLAGS); if (rc < 0) { CERROR("cannot start thread: %d\n", rc); OBD_FREE_PTR(lpi); @@ -387,6 +383,13 @@ int llog_process(struct llog_handle *loghandle, llog_cb_t cb, OBD_FREE_PTR(lpi); RETURN(rc); } +EXPORT_SYMBOL(llog_process_flags); + +int llog_process(struct llog_handle *loghandle, llog_cb_t cb, + void *data, void *catdata) +{ + return llog_process_flags(loghandle, cb, data, catdata, 0); +} EXPORT_SYMBOL(llog_process); inline int llog_get_size(struct llog_handle *loghandle)