Commit 557d479c authored by Thomas Leibovici's avatar Thomas Leibovici
Browse files

remove ChangeLog file

ChangeLog file is redundant with both changelog in spec file and git log.

Change-Id: I06ebaac38eabe5e592191091dcf934b841cf301a
Signed-off-by: default avatarThomas Leibovici <>

Reviewed-by: Linter
Reviewed-by: default avatarSebastien Gougeaud <>
Reviewed-by: default avatarPatrice LUCAS <>
Tested-by: default avatarJenkins s8open_nr <>
parent 3b3703a0
Detailed list of changes since phobos 1.0:
scripts: phobos 1.0 to 1.1 DB conversion
Adds a simple script '' to convert DB schema
from phobos 1.0 to phobos 1.1.
doc/config: add store's 'layout' parameter to config template
Add store's 'layout' parameter to config template.
This parameter determines which layout must be used for put operations.
layout: implement replication module
Add raid1 module that replicates an object N times across N media.
Rework test_store slightly so that the test suite can invoke it repeatedly using
different layouts.
Phobos-Issue: PHO-58
Fix dead code in
The GET tests were not executed because the extents were deleted before the
test had any chance to browse and check them.
common: implement pho_ht_foreach
new iterator over entries of a GHashTable that can be interrupted by
a callback returning a non-zero value. Such a value is propagated back
to the caller.
common: add comments to the SAJ module
Phobos-Issue: PHO-135
ldm: fix memory leak
unconditionally release result of realpath() and manually
assign errno in case a function fails w/o setting it.
Retrieve fs label at format and check it at mount
Make sure that a filesystem (especially LTFS) that was mounted is the expected
one. Achieve this by (optionally) comparing the FS label at mount time against
the one stored in DSS, retrieved after formatting the medium.
Phobos-Issue: PHO-57
Introduce FS label field into media_info
Introduce a new fs_label field into DSS media description.
Group filesystem related informations into a struct media_fs.
This value (null-terminated, possibly empty) string will be used to
compare the expected value to what is actually mounted to ensure system
Phobos-Issue: PHO-57
Introduce .fs_get_label in LDM fs operations
Allow LDM callers to retrieve the label of a mounted filesystem.
Use the ltfs.volumeName xattr facility for LTFS and a hidden file for
Phobos-Issue: PHO-57
doc: fix file mode
Remove executable bit that was set by mistake
ldm: fix typo in comment
scripts: indentation fixes in pho_*_helper
Replaced all tabs by spaces for consistency.
dss: prevent printf from receiving null params
layout: introduce new layout management layer
Layout modules are autonomous implementations of a given layout type.
They abstract actual object layouts by translating data xfer requests
into corresponding storage resources and manipulation.
Although the layout code is interleaved with the store state machine, layout
can be seen as an interface between store and {LRS, IO}.
Phobos-Issue: PHO-121
lrs: tag unwritable media as full
LTFS has been observed to mount almost-full tapes as read-only. When
this happens, tag the media as full and retry. Update LRS device
selection logic accordingly.
One problem we have here is that there is no easy way to identify
R/O-FS before linux 2.6.36 (ie. before RHEL7). Therefore, only rhel7
will benefit from early detection. Older platforms will have to go
through mput and watch it fail.
If at least one slice of an mput fails with impossibility to further
write on the media we mark the media as full. Note that no retry is
attempted at this step.
Phobos-Issue: PHO-129
lib scsi: search a free slot to unload drive if none is specified
In some cases (e.g. after library power reset) the library doesn't provide
a source slot number for tapes loaded in drives.
In this case, we must search for an empty slot where the tape can be moved.
Completed test_scsi to check this case.
Also fixed it to properly handle drive serials.
tests: add status check in test_scsi
Check that the drive or slot status after a move_medium operation
is the expected one.
Also handle the case when no tape is seen in the library (neither
in slots nor in drives).
lrs: added extra information to log message.
Add the available size on a media to a verbose level log message
so we can better keep track of space-related issues.
lrs: release device on write-prepare failure
A device was allocated by the get_write_res() function that must
be released on error.
ldm: used signed types to represent media space
Both are big enough to not overflow but unsigned types can easily
lead to miscalculation of available space if a difference returns
a "negative" result.
This has been observed in the 5% margin calculation, in
Phobos-Issue: PHO-129
doc: update layout design
Reduce exposed APIs and get rid of GLI.
- libpho_layout: init/declare/acquire/fini
- libpho_layout_mod_xxx: {de}register
- layout implementation: compose/io/commit
dss: replace layout_type by a module description
Introduce module description (name, major, minor, attrs) and store it into DSS
as layout information instead of an empty array. Add the appropriate
encoding/decoding functions.
Remove layout_type (and copy_num) which are no longer needed.
Note that this commit changes the DSS DB schema w/o providing a conversion tool.
This will come before the next release in order to provide compatibility and
ease upgrade of existing instances.
dss: rework json parsing helpers
Use consistent return values and signed types. Add a couple macro to simplify
the code.
dss: use signed integer to represent media stats and extent.
Unsigned integers are cumbersome and useless here.
cli: Fix inheritance in DSS object managers
phobos::dss:MediaManager and phobos::dss:DeviceManager classes operate
on wrapped objects, although their parent class does not and manipulates
raw SWIG structures.
Add the missing ::delete methods appropriately so as to invoke the
underlying function with the expected argument.
doc: add a template configuration.
Add a template configuration with comments.
Included to the RPM, it is initially installed
as "/etc/phobos.conf" (if it does not already exists).
Else it will be installed as /etc/phobos.conf.rpmnew
doc: Update developer README.
PKG_CONFIG_PATH must be set with the right postgres version.
cfg: each module defines its own configuration.
Configuration variables and default values were previously
defined in single centralized header. These values are now
defined independantly by each module. This prepares the
support of dynamically loaded modules so they can define their
own parameters.
cli: Do not emit empty filters
Prevent the python dss filter converter from emitting empty filters and optimize
these that only contain a single element.
scripts: fix typo in comment
minor release 1.0.1
ltfs: reduce available media space by 5%.
LTFS keeps some reserved space to flush its index but do not
reflect this in statfs().
The amount of reserved space is not clearly documented, but
it appears to be around 5% in some real cases.
So, reduce the free space returned by statfs() on LFTS by 5%.
This should address one of the aspects of RM#129.
lrs: mark media full if there is no space free.
cli: fix minor typo
doc: layout composition layer
High-level description of the layout composition layer.
This will be responsible for managing evoluted layouts (replication,
erasure coding...) and translating store requests into proper
sub-requests to the lower layers.
lrs: mark R/O-mounted media as full
Mark media as full if operations happen to have failed with -EROFS.
This can typically occur when LTFS decides that a tape does not contain
enough space to be mounted writable.
dss: make dss_unlock return ENOLCK when a lock is not owned.
When releasing a lock that is not owned by the caller, the resulting
error code was EEXIST, which was somehow confusing.
Replace this error by ENOLCK (No lock available).
dss: make dss_get resilient to missing fields in media stats.
Commit 4c2b7801 added new fields to media_stats (JSON stored in the DB).
When running dss_get on a previous phobos DB, these fields are missing.
Don't break the whole dss_get in that case. Actually make all
media_stats non-critical. Simply return 0 for the missing ones.
......@@ -9,7 +9,7 @@ rpm: dist phobos.spec
rpmbuild --define="_topdir $(rpm_dir)" -ta $(distdir).tar.gz
EXTRA_DIST= phobos.spec scripts/pho_ldm_helper \
scripts/phobos_db doc/cfg/template.conf ChangeLog
scripts/phobos_db doc/cfg/template.conf
sbin_SCRIPTS=scripts/pho_ldm_helper \
......@@ -64,7 +64,6 @@ make %{?_smp_mflags}
install -D -p -m 0640 doc/cfg/template.conf %{buildroot}/%{_sysconfdir}/phobos.conf
# create another copy of configuration in documentation directory
install -D -p -m 0640 doc/cfg/template.conf %{buildroot}/%{phobosdocdir}/template.conf
install -p -m 0640 ChangeLog %{buildroot}/%{phobosdocdir}/ChangeLog
install -p -m 0640 %{buildroot}/%{phobosdocdir}/
cd %{_builddir}/%{name}-%{version}/src/cli/
%{__python} install --skip-build --root %{buildroot}
......@@ -88,7 +87,6 @@ rm -f $RPM_BUILD_ROOT/%{_libdir}/phobos/libpho_layout_*.la
%config(noreplace) %{_sysconfdir}/phobos.conf
%dir %{phobosdocdir}
%doc %{phobosdocdir}/
%doc %{phobosdocdir}/ChangeLog
%doc %{phobosdocdir}/template.conf
%files devel
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment