1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
4 * Ceph - scalable distributed file system
6 * Copyright (C) 2004-2006 Sage Weil <sage@newdream.net>
8 * This is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License version 2.1, as published by the Free Software
11 * Foundation. See file COPYING.
15 //class C_MDC_Recover;
17 #ifndef RECOVERY_QUEUE_H
18 #define RECOVERY_QUEUE_H
22 #include "osdc/Filer.h"
30 void enqueue(CInode
*in
);
32 void prioritize(CInode
*in
); ///< do this inode now/soon
33 explicit RecoveryQueue(MDSRank
*mds_
);
35 void set_logger(PerfCounters
*p
) {logger
=p
;}
38 void _start(CInode
*in
); ///< start recovering this file
39 void _recovered(CInode
*in
, int r
, uint64_t size
, utime_t mtime
);
41 size_t file_recover_queue_size
= 0;
42 size_t file_recover_queue_front_size
= 0;
44 elist
<CInode
*> file_recover_queue
; ///< the queue
45 elist
<CInode
*> file_recover_queue_front
; ///< elevated priority items
46 std::map
<CInode
*, bool> file_recovering
; // inode -> need_restart
52 friend class C_MDC_Recover
;
55 #endif // RECOVERY_QUEUE_H