mirror of
https://github.com/torvalds/linux.git
synced 2024-12-29 14:21:47 +00:00
2bcc673101
Pull timer updates from Thomas Gleixner: "Yet another big pile of changes: - More year 2038 work from Arnd slowly reaching the point where we need to think about the syscalls themself. - A new timer function which allows to conditionally (re)arm a timer only when it's either not running or the new expiry time is sooner than the armed expiry time. This allows to use a single timer for multiple timeout requirements w/o caring about the first expiry time at the call site. - A new NMI safe accessor to clock real time for the printk timestamp work. Can be used by tracing, perf as well if required. - A large number of timer setup conversions from Kees which got collected here because either maintainers requested so or they simply got ignored. As Kees pointed out already there are a few trivial merge conflicts and some redundant commits which was unavoidable due to the size of this conversion effort. - Avoid a redundant iteration in the timer wheel softirq processing. - Provide a mechanism to treat RTC implementations depending on their hardware properties, i.e. don't inflict the write at the 0.5 seconds boundary which originates from the PC CMOS RTC to all RTCs. No functional change as drivers need to be updated separately. - The usual small updates to core code clocksource drivers. Nothing really exciting" * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (111 commits) timers: Add a function to start/reduce a timer pstore: Use ktime_get_real_fast_ns() instead of __getnstimeofday() timer: Prepare to change all DEFINE_TIMER() callbacks netfilter: ipvs: Convert timers to use timer_setup() scsi: qla2xxx: Convert timers to use timer_setup() block/aoe: discover_timer: Convert timers to use timer_setup() ide: Convert timers to use timer_setup() drbd: Convert timers to use timer_setup() mailbox: Convert timers to use timer_setup() crypto: Convert timers to use timer_setup() drivers/pcmcia: omap1: Fix error in automated timer conversion ARM: footbridge: Fix typo in timer conversion drivers/sgi-xp: Convert timers to use timer_setup() drivers/pcmcia: Convert timers to use timer_setup() drivers/memstick: Convert timers to use timer_setup() drivers/macintosh: Convert timers to use timer_setup() hwrng/xgene-rng: Convert timers to use timer_setup() auxdisplay: Convert timers to use timer_setup() sparc/led: Convert timers to use timer_setup() mips: ip22/32: Convert timers to use timer_setup() ...
39 lines
1.7 KiB
C
39 lines
1.7 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef ISCSI_TARGET_ERL1_H
|
|
#define ISCSI_TARGET_ERL1_H
|
|
|
|
#include <linux/types.h>
|
|
#include <scsi/iscsi_proto.h> /* itt_t */
|
|
|
|
struct iscsi_cmd;
|
|
struct iscsi_conn;
|
|
struct iscsi_datain_req;
|
|
struct iscsi_ooo_cmdsn;
|
|
struct iscsi_pdu;
|
|
struct iscsi_session;
|
|
|
|
extern int iscsit_dump_data_payload(struct iscsi_conn *, u32, int);
|
|
extern int iscsit_create_recovery_datain_values_datasequenceinorder_yes(
|
|
struct iscsi_cmd *, struct iscsi_datain_req *);
|
|
extern int iscsit_create_recovery_datain_values_datasequenceinorder_no(
|
|
struct iscsi_cmd *, struct iscsi_datain_req *);
|
|
extern int iscsit_handle_recovery_datain_or_r2t(struct iscsi_conn *, unsigned char *,
|
|
itt_t, u32, u32, u32);
|
|
extern int iscsit_handle_status_snack(struct iscsi_conn *, itt_t, u32,
|
|
u32, u32);
|
|
extern int iscsit_handle_data_ack(struct iscsi_conn *, u32, u32, u32);
|
|
extern int iscsit_dataout_datapduinorder_no_fbit(struct iscsi_cmd *, struct iscsi_pdu *);
|
|
extern int iscsit_recover_dataout_sequence(struct iscsi_cmd *, u32, u32);
|
|
extern void iscsit_clear_ooo_cmdsns_for_conn(struct iscsi_conn *);
|
|
extern void iscsit_free_all_ooo_cmdsns(struct iscsi_session *);
|
|
extern int iscsit_execute_ooo_cmdsns(struct iscsi_session *);
|
|
extern int iscsit_execute_cmd(struct iscsi_cmd *, int);
|
|
extern int iscsit_handle_ooo_cmdsn(struct iscsi_session *, struct iscsi_cmd *, u32);
|
|
extern void iscsit_remove_ooo_cmdsn(struct iscsi_session *, struct iscsi_ooo_cmdsn *);
|
|
extern void iscsit_handle_dataout_timeout(struct timer_list *t);
|
|
extern void iscsit_mod_dataout_timer(struct iscsi_cmd *);
|
|
extern void iscsit_start_dataout_timer(struct iscsi_cmd *, struct iscsi_conn *);
|
|
extern void iscsit_stop_dataout_timer(struct iscsi_cmd *);
|
|
|
|
#endif /* ISCSI_TARGET_ERL1_H */
|