osd/PG: track PG_STATE_UNDERSIZED separately from DEGRADED

DEGRADED means there are objects without complete reduncancy; also check
for needs_recovery().

UNDERSIZED means acting set is too small.

Signed-off-by: Sage Weil <sage@redhat.com>
osd/osd_types: add last_undegraded, last_undersized to pg_stat_t

Keep track of the last time the PG was known to not be degraded or
undersized.

Signed-off-by: Sage Weil <sage@redhat.com>
osd: track last_undegraded pg stat

Signed-off-by: Sage Weil <sage@redhat.com>
osd: track last_fullsized in pg_stat_t

Signed-off-by: Sage Weil <sage@redhat.com>
mon: track pgs that get stuck degraded

Signed-off-by: Sage Weil <sage@redhat.com>
mon: track stuck undersized

Signed-off-by: Sage Weil <sage@redhat.com>
vstart.sh: make filestore fd cache size smaller

I hit the fd limit on a vstart cluster with the default 128; reduce this
to 16.

Signed-off-by: Sage Weil <sage@redhat.com>
osd/PGLog: prevent copying

We have iterators and pointers to pg_log_entry_t's.  Not copy safe.

Signed-off-by: Sage Weil <sage@redhat.com>