Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

scan build fixes #12148

Merged
merged 7 commits into from Nov 28, 2016
2 changes: 1 addition & 1 deletion src/common/blkdev.cc
Expand Up @@ -197,7 +197,7 @@ int get_device_by_uuid(uuid_d dev_uuid, const char* label, char* partition,
if (blkid_get_cache(&cache, NULL) >= 0)
dev = blkid_find_dev_with_tag(cache, label, (const char*)uuid_str);
else
rc = -EINVAL;
return -EINVAL;

if (dev) {
temp_partition_ptr = blkid_dev_devname(dev);
Expand Down
2 changes: 1 addition & 1 deletion src/common/hobject.cc
Expand Up @@ -45,7 +45,7 @@ set<string> hobject_t::get_prefixes(
for (set<uint32_t>::iterator j = from.begin();
j != from.end();
++j) {
to.insert(*j | (1 << i));
to.insert(*j | (1U << i));
to.insert(*j);
}
to.swap(from);
Expand Down
2 changes: 1 addition & 1 deletion src/global/signal_handler.cc
Expand Up @@ -281,7 +281,7 @@ struct SignalHandler : public Thread {
char v;

// consume byte from signal socket, if any.
r = read(pipefd[0], &v, 1);
TEMP_FAILURE_RETRY(read(pipefd[0], &v, 1));

lock.Lock();
for (unsigned signum=0; signum<32; signum++) {
Expand Down
5 changes: 3 additions & 2 deletions src/os/filestore/FileStore.cc
Expand Up @@ -3158,7 +3158,6 @@ int FileStore::_do_fiemap(int fd, uint64_t offset, size_t len,
{
uint64_t i;
struct fiemap_extent *extent = NULL;
struct fiemap_extent *last = NULL;
struct fiemap *fiemap = NULL;
int r = 0;

Expand All @@ -3182,6 +3181,7 @@ int FileStore::_do_fiemap(int fd, uint64_t offset, size_t len,

i = 0;

struct fiemap_extent *last = nullptr;
while (i < fiemap->fm_mapped_extents) {
struct fiemap_extent *next = extent + 1;

Expand All @@ -3204,8 +3204,9 @@ int FileStore::_do_fiemap(int fd, uint64_t offset, size_t len,
i++;
last = extent++;
}
const bool is_last = last->fe_flags & FIEMAP_EXTENT_LAST;
free(fiemap);
if (!(last->fe_flags & FIEMAP_EXTENT_LAST)) {
if (!is_last) {
uint64_t xoffset = last->fe_logical + last->fe_length - offset;
offset = last->fe_logical + last->fe_length;
len -= xoffset;
Expand Down
12 changes: 10 additions & 2 deletions src/osd/ReplicatedPG.cc
Expand Up @@ -4566,7 +4566,11 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
bufferlist t;
uint64_t len = miter->first - last;
r = pgbackend->objects_read_sync(soid, last, len, op.flags, &t);
if (!t.is_zero()) {
if (r < 0) {
osd->clog->error() << coll << " " << soid
<< " sparse-read failed to read: "
<< r << "\n";
} else if (!t.is_zero()) {
osd->clog->error() << coll << " " << soid << " sparse-read found data in hole "
<< last << "~" << len << "\n";
}
Expand Down Expand Up @@ -4597,7 +4601,11 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
bufferlist t;
uint64_t len = end - last;
r = pgbackend->objects_read_sync(soid, last, len, op.flags, &t);
if (!t.is_zero()) {
if (r < 0) {
osd->clog->error() << coll << " " << soid
<< " sparse-read failed to read: "
<< r << "\n";
} else if (!t.is_zero()) {
osd->clog->error() << coll << " " << soid << " sparse-read found data in hole "
<< last << "~" << len << "\n";
}
Expand Down
8 changes: 4 additions & 4 deletions src/osd/osd_types.cc
Expand Up @@ -476,10 +476,10 @@ bool pg_t::is_split(unsigned old_pg_num, unsigned new_pg_num, set<pg_t> *childre

bool split = false;
if (true) {
int old_bits = cbits(old_pg_num);
int old_mask = (1 << old_bits) - 1;
for (int n = 1; ; n++) {
int next_bit = (n << (old_bits-1));
unsigned old_bits = cbits(old_pg_num);
unsigned old_mask = (1 << old_bits) - 1;
for (unsigned n = 1; ; n++) {
unsigned next_bit = (n << (old_bits-1));
unsigned s = next_bit | m_seed;

if (s < old_pg_num || s == m_seed)
Expand Down
5 changes: 4 additions & 1 deletion src/tools/radosacl.cc
Expand Up @@ -155,7 +155,8 @@ int main(int argc, const char **argv)
cout << "id=" << id.id << std::endl;

r = io_ctx.exec(oid, "acl", "get", bl, bl2);
cout << "exec returned " << r << " len=" << bl2.length() << std::endl;
cout << "exec(acl get) returned " << r
<< " len=" << bl2.length() << std::endl;
ObjectACLs oa;
if (r >= 0) {
bufferlist::iterator iter = bl2.begin();
Expand All @@ -166,6 +167,8 @@ int main(int argc, const char **argv)
bl.clear();
oa.encode(bl);
r = io_ctx.exec(oid, "acl", "set", bl, bl2);
cout << "exec(acl set) returned " << r
<< " len=" << bl2.length() << std::endl;

const unsigned char *md5 = (const unsigned char *)bl2.c_str();
char md5_str[bl2.length()*2 + 1];
Expand Down