1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
LVM2 mirror repository https://sourceware.org/lvm2/
Go to file
David Teigland 96b777167c cov: clean up pvid and vgid usage
pvid and vgid are sometimes a null-terminated string, and
other times a 'struct id', and the two types were often
cast between each other.  When a struct id was cast to a char
pointer, the resulting string would not necessarily be null
terminated.  Casting a null-terminated string id to a
struct id is fine, but is still avoided when possible.

A struct id is:  int8_t uuid[ID_LEN]
A string id is:  char pvid[ID_LEN + 1]

A convention is introduced to help distinguish them:

- variables and struct fields named "pvid" or "vgid"
  should be null-terminated strings.

- variables and struct fields named "pv_id" or "vg_id"
  should be struct id's.

- examples:
  char pvid[ID_LEN + 1];
  char vgid[ID_LEN + 1];
  struct id pv_id;
  struct id vg_id;

Function names also attempt to follow this convention.

Avoid casting between the two types as much as possible,
with limited exceptions when known to be safe and clearly
commented.

Avoid using variations of strcpy and strcmp, and instead
use memcpy/memcmp with ID_LEN (with similar limited
exceptions possible.)
2021-08-16 11:31:15 -05:00
autoconf autoconf: Fix py-compile permissions 2016-02-18 01:05:05 +00:00
base hash: replace hash with better function 2021-03-08 15:33:15 +01:00
conf make: generate 2021-08-05 21:38:43 +02:00
coverity cov: drop model for origin_from_cow 2020-09-12 13:23:49 +02:00
daemons cov: lvmlockd: rewrite string copies to avoid warnings 2021-08-16 11:31:09 -05:00
device_mapper cov: ensure bufffe size is at least 5 2021-07-28 00:49:28 +02:00
doc all: fix typos 2021-03-30 13:08:14 +02:00
include vdo: add vdoimport support 2021-07-09 14:57:59 +02:00
lib cov: clean up pvid and vgid usage 2021-08-16 11:31:15 -05:00
libdaemon daemon-server: handle reaping threads better 2021-04-06 21:26:57 +02:00
libdm cov: ensure bufffe size is at least 5 2021-07-28 00:49:28 +02:00
man vgmerge: support option --poolmetadataspare 2021-07-23 16:36:31 +02:00
nix lockd: Clean up spec 2015-07-04 14:36:57 +02:00
po makefiles: fix pofile generation 2021-03-02 22:54:40 +01:00
scripts vdo: add vdoimport support 2021-07-09 14:57:59 +02:00
spec spec: Add vdoimport man page 2021-07-21 16:40:27 +02:00
test tests: extend vgmerge testing 2021-07-23 16:36:31 +02:00
tools cov: clean up pvid and vgid usage 2021-08-16 11:31:15 -05:00
udev udev rule: remove lvmetad comments 2020-11-25 16:57:54 -06:00
.gitignore git: update .gitignore 2021-03-19 23:21:18 +01:00
acinclude.m4 [build] uncomment 'serial 3' in an m4 file. 2018-04-30 09:44:27 +01:00
aclocal.m4 configure: update 2020-12-11 12:16:16 +01:00
configure vdo: add vdoimport support 2021-07-09 14:57:59 +02:00
configure.ac vdo: add vdoimport support 2021-07-09 14:57:59 +02:00
COPYING doc: change fsf address 2016-01-21 12:11:37 +01:00
COPYING.BSD Add BSD 2-Clause License 2018-07-27 17:09:46 +02:00
COPYING.LIB Fix inconsistent licence notices: executables are GPLv2; libraries LGPLv2.1. 2007-08-20 20:55:30 +00:00
INSTALL quick review of docs 2008-11-04 17:49:22 +00:00
make.tmpl.in makefiles: add devmapper for devmapper-event 2021-04-12 10:35:55 +02:00
Makefile.in makefiles: reuse CSCOPE_DIRS for ctags 2021-04-12 09:54:16 +02:00
README Update README 2020-08-12 12:05:36 +02:00
TESTING docs: Add TESTING file 2017-12-14 16:45:47 +01:00
VERSION post-release 2021-08-11 17:15:51 +02:00
VERSION_DM post-release 2021-08-11 17:15:51 +02:00
WHATS_NEW post-release 2021-08-11 17:15:51 +02:00
WHATS_NEW_DM post-release 2021-08-11 17:15:51 +02:00

This tree contains the LVM2 and device-mapper tools and libraries.

This is development branch, for stable 2.02 release see stable-2.02 branch.

For more information about LVM2 read the changelog in the WHATS_NEW file.
Installation instructions are in INSTALL.

There is no warranty - see COPYING and COPYING.LIB.

Tarballs are available from:
  ftp://sourceware.org/pub/lvm2/
  https://github.com/lvmteam/lvm2/releases

The source code is stored in git:
  https://sourceware.org/git/?p=lvm2.git
  git clone git://sourceware.org/git/lvm2.git
mirrored to:
  https://github.com/lvmteam/lvm2
  git clone https://github.com/lvmteam/lvm2.git
  git clone git@github.com:lvmteam/lvm2.git

Mailing list for general discussion related to LVM2:
  linux-lvm@redhat.com
  Subscribe from https://www.redhat.com/mailman/listinfo/linux-lvm

Mailing lists for LVM2 development, patches and commits:
  lvm-devel@redhat.com
  Subscribe from https://www.redhat.com/mailman/listinfo/lvm-devel

  lvm2-commits@lists.fedorahosted.org (Read-only archive of commits)
  Subscribe from https://fedorahosted.org/mailman/listinfo/lvm2-commits

Mailing list for device-mapper development, including kernel patches
and multipath-tools:
  dm-devel@redhat.com
  Subscribe from https://www.redhat.com/mailman/listinfo/dm-devel

Website:
  https://sourceware.org/lvm2/

Report upstream bugs at:
  https://bugzilla.redhat.com/enter_bug.cgi?product=LVM%20and%20device-mapper
or open issues at:
  https://github.com/lvmteam/lvm2/issues

The source code repository used until 7th June 2012 is accessible using CVS:

  cvs -d :pserver:cvs@sourceware.org:/cvs/lvm2 login cvs
  cvs -d :pserver:cvs@sourceware.org:/cvs/lvm2 checkout LVM2

The password is cvs.