OSD: scrub interval checking

Do arithmetic so large intervals don't wrap
Fix log messages to reflect the change and improve output
Add message when skipping scrub due to load

fixes: #5049

Signed-off-by: David Zafman <david.zafman@inktank.com>
Merge branch 'wip-5049'

Reviewed-by: Sam Just <sam.just@inktank.com>
doc: Updated architecture document.

fixes: #2968

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
Added OSD to glossary, removed parenthetical.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
Merge pull request #279 from ceph/wip-libcephfs-env

Reviewed-by: Greg Farnum <greg@inktank.com>
doc: fix mkcephfs production use, deprecated note

Signed-off-by: Sage Weil <sage@inktank.com>
OSD: Repair with 0 fixed doesn't complete properly

Queue DoRecovery() event on any repair

Signed-off-by: David Zafman <david.zafman@inktank.com>
OSD: After repairs finish a new deep-scrub should be avoided

When errors fixed, clear them so pg not inconsistent and no deep-scrub needed
In the rare case of incomplete repair, still do deep-scrub to get new error counts

fixes: #4783

Signed-off-by: David Zafman <david.zafman@inktank.com>
Merge branch 'wip-4783'

Reviewed-by: Sam Just <sam.just@inktank.com>
Makefle: force char to be signed

On an armv7l build, we see errors like

 warning: rgw/rgw_common.cc:626:16: comparison is always false due to limited range of data type [-Wtype-limits]

from code

      char c1 = hex_to_num(*src++);
...
      if (c1 < 0)

Force char to be signed (regardless of any weird architecture's default)
to avoid risk of this leading to misbehavior.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
Fix some little/big endian issues

Ceph uses little endian, this patch fixes some endian issues
while Ceph running on big endian machine.

Signed-off-by: Yunchuan Wen <yunchuanwen@ubuntukylin.com>
Signed-off-by: Li Wang <liwang@ubuntukylin.com>
osd/OSD.cc: remove unused variable

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
rgw/rgw_gc.cc: fix possible NULL pointer dereference

Fix/silence cppcheck warning:
[src/rgw/rgw_gc.cc:185] -> [src/rgw/rgw_gc.cc:181]: (error) Possible
  null pointer dereference: ctx - otherwise it is redundant to check
  it against null.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
rgw/rgw_rados.cc: remove not needed code

Fix for cppcheck warning:
[src/rgw/rgw_rados.cc:2390]: (warning) Assignment of function
  parameter has no effect outside the function.

Assignment of if_nomatch_str.c_str() to if_nomatch has no
effect outside the function and the functions isn't used
inside the function after the assignment.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
auth/Crypto.cc: reduce scope of local variable in_buf

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
src/crush/mapper.c: reduce scope of some local variables

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
mds/Locker.cc: reduce scope of forced_change_max

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
src/mds/flock.cc: reduce scope of old_lock_to_end in two cases

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
mount/mount.ceph.c: reduce scope of 'skip' in parse_options()

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
src/os/DBObjectMap.cc: reduce scope of some variables

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>