On 08/28/2016 07:14 AM, Niels de Vos wrote:
Hi,
While working on some code, I notices that there are quite some calls to
pthread_mutex_lock() that do not check for the return value. There might
be cases where obtaining the lock fails, and in many cases this would
just be ignored. Needless to say, this might cause incorrect updates to
the data structures that the pthread_mutex intends to prevent.
I have filed https://bugzilla.redhat.com/1370921 for this issue, but may
add more dependent bugs for different components. What do other
maintainers prefer to use for tracking corrections like this?
Short answer: a bug report
Long answer: A bug is most favorable, so that when considering backlog
for a component, such changes are also seen and prioritized. I would
like a bug for everything that we see needs an improvement to an actual
problem-fix, so that we can consider them in totality.
In this case a bug does suit the needs.
In possibly some cases, where it is an improvement that is not
necessarily a bug, I would like to post this in a wish list of sorts for
the component (or the entire project). Primarily not a bug report,
because in any bug backlog clearing activity I do not want these closed
as not a bug or some such.
Such a wishlist is possibly a trello backlog board/list, with an easier
update+view for all community members (rather than actually visiting
Trello if possible). This is not a part of this discussion I believe, so
feel free to ignore this for the moment if you choose to.
Thanks,
Niels
$ git grep pthread_mutex_lock '*.[ch]' \
| grep -v '= pthread_mutex_lock' | cut -d : -f 1 | uniq -c \
| sort -rn
28 xlators/features/locks/src/posix.c
27 rpc/rpc-lib/src/rpc-clnt.c
23 rpc/rpc-transport/rdma/src/rdma.c
19 rpc/rpc-transport/socket/src/socket.c
19 libglusterfs/src/logging.c
19 libglusterfs/src/inode.c
16 xlators/features/bit-rot/src/bitd/bit-rot-scrub.c
16 xlators/features/bit-rot/src/bitd/bit-rot.c
15 libglusterfs/src/syncop.c
14 xlators/mount/fuse/src/fuse-bridge.c
14 rpc/rpc-lib/src/rpcsvc.c
13 xlators/features/locks/src/entrylk.c
11 xlators/features/leases/src/leases-internal.c
11 xlators/cluster/dht/src/tier.c
10 xlators/features/locks/src/inodelk.c
8 xlators/protocol/client/src/client.c
8 libglusterfs/src/fd.c
8 libglusterfs/src/event-epoll.c
7 xlators/protocol/client/src/client-handshake.c
7 xlators/cluster/dht/src/dht-rebalance.c
7 libglusterfs/src/event-poll.c
6 xlators/protocol/server/src/server.c
6 xlators/protocol/client/src/client-lk.c
6 libglusterfs/src/iobuf.c
5 xlators/features/upcall/src/upcall-internal.c
5 xlators/features/locks/src/reservelk.c
5 xlators/features/locks/src/common.c
5 xlators/features/locks/src/clear.c
5 xlators/features/changelog/lib/src/gf-changelog-reborp.c
5 rpc/rpc-lib/src/rpc-clnt-ping.c
4 xlators/protocol/client/src/client-rpc-fops.c
4 xlators/performance/io-threads/src/io-threads.c
4 xlators/performance/io-cache/src/io-cache.h
4 xlators/mgmt/glusterd/src/glusterd.c
4 xlators/features/bit-rot/src/bitd/bit-rot-scrub-status.c
4 xlators/cluster/ec/src/ec-heald.c
4 xlators/cluster/afr/src/afr-self-heald.c
4 libglusterfs/src/syncop-utils.c
4 cli/src/cli-cmd.c
4 api/src/glfs.c
3 xlators/storage/posix/src/posix.c
3 xlators/performance/read-ahead/src/read-ahead.h
3 xlators/mgmt/glusterd/src/glusterd-utils.c
3 xlators/features/protect/src/prot_dht.c
3 xlators/features/changelog/src/changelog-helpers.c
3 tools/gfind_missing_files/gcrawler.c
3 libglusterfs/src/event.c
3 libglusterfs/src/circ-buff.c
3 api/src/glfs-resolve.c
3 api/src/glfs-mgmt.c
3 api/src/glfs-master.c
3 api/src/glfs-handleops.c
3 api/src/glfs-fops.c
2 xlators/storage/posix/src/posix-helpers.c
2 xlators/mount/fuse/src/fuse-helpers.c
2 xlators/mgmt/glusterd/src/glusterd-syncop.c
2 xlators/mgmt/glusterd/src/glusterd-statedump.c
2 xlators/mgmt/glusterd/src/glusterd-mgmt.c
2 xlators/mgmt/glusterd/src/glusterd-hooks.c
2 xlators/features/index/src/index.c
2 xlators/features/changelog/src/changelog-ev-handle.c
2 xlators/features/changelog/lib/src/gf-changelog-journal-handler.c
2 xlators/features/bit-rot/src/stub/bit-rot-stub-helpers.c
2 xlators/features/bit-rot/src/stub/bit-rot-stub.c
2 xlators/experimental/fdl/src/fdl-tmpl.c
2 rpc/rpc-lib/src/rpc-transport.c
2 libglusterfs/src/throttle-tbf.c
2 libglusterfs/src/syncop.h
2 libglusterfs/src/rot-buffs.c
2 libglusterfs/src/locking.h
1 xlators/protocol/server/src/server-helpers.c
1 xlators/protocol/client/src/client-helpers.c
1 xlators/nfs/server/src/nfs-fops.c
1 xlators/features/trash/src/trash.c
1 xlators/features/leases/src/leases.h
1 xlators/features/changelog/lib/src/gf-changelog.c
1 xlators/cluster/dht/src/dht-shared.c
1 xlators/cluster/afr/src/afr-transaction.c
1 libglusterfs/src/statedump.c
1 extras/benchmarking/rdd.c
1 api/src/glfs-internal.h
_______________________________________________
maintainers mailing list
[email protected]
http://www.gluster.org/mailman/listinfo/maintainers
_______________________________________________
maintainers mailing list
[email protected]
http://www.gluster.org/mailman/listinfo/maintainers