monitor shouldn't unlock unless it got a lock
[MogileFS-Server.git] / mogilefsd
blob8d00d344cb872bcbdc6898f43f4205867a1a302d
1 #!/usr/bin/perl
3 # MogileFS daemon
5 # Copyright 2004, Danga Interactive
6 # Copyright 2005-2006, Six Apart Ltd.
8 # See POD at bottom.
10 use strict;
11 use warnings;
12 use lib 'lib';
13 use MogileFS::Server;
15 # Rename binary in process list to make init scripts saner
16 $0 = "mogilefsd";
18 my $s = MogileFS::Server->server;
19 $s->run;
23 # Local Variables:
24 # mode: perl
25 # c-basic-indent: 4
26 # indent-tabs-mode: nil
27 # End:
29 __END__
31 =head1 NAME
33 mogilefsd -- MogileFS tracker daemon
35 =head1 USAGE
37 This is the main MogileFS daemon, mogilefsd, also called the
38 "tracker". All interaction with a MogileFS installation begins by a
39 client talking to a tracker (you should run several in parallel for
40 redundancy).
42 See L<MogileFS::Client> for a client library.
44 =head1 ARCHITECTURE
46 =head2 Processes
48 The mogilefsd daemon is an event-loop in the parent process, handling
49 with epoll/kqueue/etc (see L<Danga::Socket>) tons of client
50 connections, while managing a bunch of worker processes underneath.
52 The worker processes under mogilefsd include:
54 =over 4
56 =item B<Client query processing> -- implements the MogileFS client/server protocol
58 See L<MogileFS::Worker::Query>.
60 =item B<Monitoring> -- monitors hosts and devices
62 See L<MogileFS::Worker::Monitor>.
64 =item B<Replicate> -- replicates files
66 See L<MogileFS::Worker::Replicate>.
68 =item B<Deleter> -- deletes files from storage nodes (protocol deletes from namespace are immediate)
70 See L<MogileFS::Worker::Delete>.
72 =item B<Reaper> -- re-enqueues files for replication when disks are marked dead
74 See L<MogileFS::Worker::Reaper>.
76 =item B<Fsck> -- background filesystem consistency checker
78 See L<MogileFS::Worker::Fsck>.
80 =back
82 =head2 Data Storage
84 See L<MogileFS::Store>.
86 =head1 AUTHORS
88 Brad Fitzpatrick E<lt>brad@danga.comE<gt>
90 Mark Smith E<lt>junior@danga.comE<gt>
92 Brad Whitaker E<lt>whitaker@danga.comE<gt>
94 =head1 COPYRIGHT
96 Copyright 2004, Danga Interactive
97 Copyright 2005-2006, Six Apart Ltd.
99 =head1 LICENSE
101 Same terms as Perl itself. Artistic/GPLv2, at your choosing.
103 =head1 SEE ALSO
105 L<mogstored> -- MogileFS storage daemon
107 L<http://danga.com/mogilefs/>