Hello community, here is the log from the commit of package reiser4progs for openSUSE:Factory checked in at 2020-12-09 22:22:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/reiser4progs (Old) and /work/SRC/openSUSE:Factory/.reiser4progs.new.2328 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "reiser4progs" Wed Dec 9 22:22:12 2020 rev:11 rq:854261 version:2.0.4 Changes: -------- --- /work/SRC/openSUSE:Factory/reiser4progs/reiser4progs.changes 2020-01-07 23:58:06.324179311 +0100 +++ /work/SRC/openSUSE:Factory/.reiser4progs.new.2328/reiser4progs.changes 2020-12-09 22:22:12.919723695 +0100 @@ -1,0 +2,10 @@ +Mon Nov 23 21:55:20 UTC 2020 - Jan Engelhardt <[email protected]> + +- Update to release 2.0.4 + * Format release 5.1.3. + * Logical Volumes with parallel scaling out, fair distribution + and transparent data migration capabilities. + * Proxy device support (Tiering, Burst Buffers). + * Selective file migration and "immobile file status support". + +------------------------------------------------------------------- Old: ---- reiser4progs-2.0.0.tar.gz New: ---- reiser4progs-2.0.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ reiser4progs.spec ++++++ --- /var/tmp/diff_new_pack.x48pFL/_old 2020-12-09 22:22:13.523724308 +0100 +++ /var/tmp/diff_new_pack.x48pFL/_new 2020-12-09 22:22:13.527724311 +0100 @@ -1,7 +1,7 @@ # # spec file for package reiser4progs # -# Copyright (c) 2019 SUSE LLC +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,9 +17,9 @@ Name: reiser4progs -Version: 2.0.0 +Version: 2.0.4 Release: 0 -%define lsuf -2_0-0 +%define lsuf -2_0-4 Summary: Utilities for Managing the Reiser4 File System License: GPL-2.0-only Group: System/Filesystems @@ -106,13 +106,13 @@ %_sbindir/*reiser4 %files -n libreiser4%lsuf -%_libdir/libreiser4-2.0.so.0* +%_libdir/libreiser4-2.0.so.4* %files -n libreiser4-minimal%lsuf -%_libdir/libreiser4-minimal-2.0.so.0* +%_libdir/libreiser4-minimal-2.0.so.4* %files -n librepair%lsuf -%_libdir/librepair-2.0.so.0* +%_libdir/librepair-2.0.so.4* %files devel %_includedir/reiser4/ ++++++ no-static.diff ++++++ --- /var/tmp/diff_new_pack.x48pFL/_old 2020-12-09 22:22:13.547724332 +0100 +++ /var/tmp/diff_new_pack.x48pFL/_new 2020-12-09 22:22:13.547724332 +0100 @@ -7,10 +7,10 @@ libreiser4/Makefile.am | 1 - 2 files changed, 7 deletions(-) -Index: reiser4progs-1.2.1/configure.ac +Index: reiser4progs-2.0.4/configure.ac =================================================================== ---- reiser4progs-1.2.1.orig/configure.ac -+++ reiser4progs-1.2.1/configure.ac +--- reiser4progs-2.0.4.orig/configure.ac ++++ reiser4progs-2.0.4/configure.ac @@ -70,9 +70,6 @@ libaal_config_minor_version=`echo $2 | \ libaal_config_micro_version=`echo $2 | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` @@ -38,10 +38,10 @@ if test x$with_libaal != x; then LIBS="-L$with_libaal/lib" -Index: reiser4progs-1.2.1/libreiser4/Makefile.am +Index: reiser4progs-2.0.4/libreiser4/Makefile.am =================================================================== ---- reiser4progs-1.2.1.orig/libreiser4/Makefile.am -+++ reiser4progs-1.2.1/libreiser4/Makefile.am +--- reiser4progs-2.0.4.orig/libreiser4/Makefile.am ++++ reiser4progs-2.0.4/libreiser4/Makefile.am @@ -30,7 +30,6 @@ libreiser4_static_la_LIBADD = $(top_bui libreiser4_static_la_SOURCES = $(libreiser4_sources) @@ -49,4 +49,4 @@ -libreiser4_static_la_LDFLAGS = -static if ENABLE_MINIMAL - libreiser4_minimal_la_LIBADD = $(top_builddir)/libaux/libaux-minimal.la \ + libreiser4_minimal_la_LIBADD = $(top_builddir)/libmisc/libmisc-minimal.la \ ++++++ reiser4progs-2.0.0.tar.gz -> reiser4progs-2.0.4.tar.gz ++++++ ++++ 15042 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/reiser4progs-2.0.0/ChangeLog new/reiser4progs-2.0.4/ChangeLog --- old/reiser4progs-2.0.0/ChangeLog 2019-12-29 20:53:26.000000000 +0100 +++ new/reiser4progs-2.0.4/ChangeLog 2020-11-22 19:19:50.000000000 +0100 @@ -6,9 +6,27 @@ This file may be modified and/or distributed without restriction. This is not an invitation to misrepresent the history of reiser4progs. +2020-11-11 + 2.0.4 version; + Changes in logical volumes administration. Don't invoke balancing + by default. Add new options for volume.reiser4(8) + Updated man page for volume.reiser4(8) utility +2020-08-16 + 2.0.3 version; + Fixed bugs in progs/volume/volume.c + Added man page for volume.reiser4(8) utility +2020-07-05 + 2.0.2 version; + Selective file migration and "immobile file status support", + User interfaces +2020-05-24 + 2.0.1 version; + Proxy device support (Tiering, Burst Buffers) 2019-12-29 2.0.0 version; - Format release 5.1.3 + Format release 5.1.3; + Logical Volumes with parallel scaling out, + fair distribution and transparent data migration capabilities 2017-11-28 1.2.1 version; Fix up configuration problem (From Felix Zielcke) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/reiser4progs-2.0.0/Makefile.am new/reiser4progs-2.0.4/Makefile.am --- old/reiser4progs-2.0.0/Makefile.am 2019-12-27 11:30:13.000000000 +0100 +++ new/reiser4progs-2.0.4/Makefile.am 2020-11-22 19:20:04.000000000 +0100 @@ -1,4 +1,4 @@ -SUBDIRS = libaux plugin libreiser4 librepair libmisc progs include doc demos +SUBDIRS = libaux libmisc plugin libreiser4 librepair progs include doc demos EXTRA_DIST = AUTHORS COPYING TODO NEWS BUGS README CREDITS THANKS \ reiser4progs.spec.in reiser4progs.spec libreiser4.m4 \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/reiser4progs-2.0.0/compile new/reiser4progs-2.0.4/compile --- old/reiser4progs-2.0.0/compile 2018-03-08 21:15:51.000000000 +0100 +++ new/reiser4progs-2.0.4/compile 2017-02-10 07:47:11.000000000 +0100 @@ -1,9 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2018-03-07.03; # UTC +scriptversion=2012-10-14.11; # UTC -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2014 Free Software Foundation, Inc. # Written by Tom Tromey <[email protected]>. # # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see <https://www.gnu.org/licenses/>. +# along with this program. If not, see <http://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -255,8 +255,7 @@ echo "compile $scriptversion" exit $? ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ - icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac @@ -340,9 +339,9 @@ # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) +# eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" +# time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/reiser4progs-2.0.0/configure.ac new/reiser4progs-2.0.4/configure.ac --- old/reiser4progs-2.0.0/configure.ac 2019-12-28 12:30:44.000000000 +0100 +++ new/reiser4progs-2.0.4/configure.ac 2020-11-22 19:19:50.000000000 +0100 @@ -15,7 +15,7 @@ LIBREISER4_MAJOR_VERSION=2 LIBREISER4_MINOR_VERSION=0 -LIBREISER4_MICRO_VERSION=0 +LIBREISER4_MICRO_VERSION=4 LIBREISER4_INTERFACE_AGE=0 LIBREISER4_BINARY_AGE=0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/reiser4progs-2.0.0/demos/Makefile.am new/reiser4progs-2.0.4/demos/Makefile.am --- old/reiser4progs-2.0.0/demos/Makefile.am 2019-12-27 11:30:13.000000000 +0100 +++ new/reiser4progs-2.0.4/demos/Makefile.am 2020-11-22 19:20:04.000000000 +0100 @@ -10,8 +10,8 @@ busy_CFLAGS = @GENERIC_CFLAGS@ -busy_LDADD = $(top_builddir)/libreiser4/libreiser4.la \ - $(top_builddir)/libmisc/libmisc.la \ +busy_LDADD = $(top_builddir)/libmisc/libmisc.la \ + $(top_builddir)/libreiser4/libreiser4.la \ $(PROGS_LIBS) EXTRA_DIST = $(noinst_SCRIPTS) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/reiser4progs-2.0.0/doc/Makefile.am new/reiser4progs-2.0.4/doc/Makefile.am --- old/reiser4progs-2.0.0/doc/Makefile.am 2019-12-27 11:30:13.000000000 +0100 +++ new/reiser4progs-2.0.4/doc/Makefile.am 2020-11-22 19:19:50.000000000 +0100 @@ -1,4 +1,4 @@ -man_MANS = mkfs.reiser4.8 fsck.reiser4.8 debugfs.reiser4.8 measurefs.reiser4.8 +man_MANS = mkfs.reiser4.8 fsck.reiser4.8 debugfs.reiser4.8 measurefs.reiser4.8 volume.reiser4.8 EXTRA_DIST = $(man_MANS) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/reiser4progs-2.0.0/doc/volume.reiser4.8 new/reiser4progs-2.0.4/doc/volume.reiser4.8 --- old/reiser4progs-2.0.0/doc/volume.reiser4.8 1970-01-01 01:00:00.000000000 +0100 +++ new/reiser4progs-2.0.4/doc/volume.reiser4.8 2020-11-28 13:58:18.000000000 +0100 @@ -0,0 +1,166 @@ +.\" Hey, EMACS: -*- nroff -*- +.\" First parameter, NAME, should be all caps +.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection +.\" other parameters are allowed: see man(7), man(1) +.TH volume.reiser4 8 "16 Aug, 2020" reiser4progs "reiser4progs manual" +.\" Please adjust this date whenever revising the manpage. +.\" +.\" Some roff macros, for reference: +.\" .nh disable hyphenation +.\" .hy enable hyphenation +.\" .ad l left justify +.\" .ad b justify to both left and right margins +.\" .nf disable filling +.\" .fi enable filling +.\" .br insert line break +.\" .sp <n> insert n+1 empty lines +.\" for manpage-specific macros, see man(7) +.SH NAME +volume.reiser4 \- the program for managing reiser4 logical volumes. +.SH SYNOPSIS +.B volume.reiser4 +[ options ] [ FILE ] [ MNT ] +.SH DESCRIPTION +.B volume.reiser4 +is an utility to manage reiser4 logical (compound) volumes. It performs +operations on logical volumes like adding[removing] a brick to[from] +your volume, changing capacity of any brick of your volume, increasing +current upper limit on total number of bricks in your volume. +On-line options are applicable only to mounted volumes. Other options +don't have such restrictions. This program doesn't create initial volume. +Instead, it operates on bricks, which are formatted partitions. To +create a brick use mkfs.reiser4(8) utility. For more details see logical +volumes administration guide at +.nh +https://reiser4.wiki.kernel.org/index.php/Logical_Volumes_Administration +.hy +.SH COMMON OPTIONS +.TP +.B -V, --version +Prints program version. +.TP +.B -?, -h, --help +Prints program help. +.TP +.B -y, --yes +Assumes an answer 'yes' to all questions. +.SH OFF-LINE OPTIONS +.TP +.B -g, --register DEV +Register a brick associated with device DEV in the system. +.TP +.B -u, --unregister DEV +Unregister a brick associated with device DEV in the system. +.TP +.B -l, --list +Print list of all bricks registered in the system. +.SH ON-LINE OPTIONS +.TP +.B -p, --print N +Print information about a brick of serial number N in the volume mounted at MNT. +.TP +.B -b, --balance +Run a balancing procedure on a volume mounted at MNT. +.TP +.B -z, --resize DEV +Change data capacity of a brick associated with device DEV in the +volume mounted at MNT. The actual capacity has to be defined by the +option "-c (--capacity)". +.TP +.B -c, --capacity VALUE +Define new data capacity VALUE for a device specified by option +"-z (--resize)". +.TP +.B -a, --add DEV +Add a brick associated with device DEV to the volume mounted at MNT. +This operation makes the volume unbalanced. Using in conjunction with -B +(--with-balance) option, completes the operation with balancing. +.TP +.B -x, --add-proxy +Add a proxy brick associated with device DEV to the volume mounted at MNT. +.TP +.B -r, --remove +Remove a brick associated with device DEV from the volume mounted at MNT. +Automatically triggers balancing, which is considered as a part of the +removal operation. Being interrupted for some reasons, should be completed by +running the utility with the option -R (--finish-removal). +.TP +.B -q, --scale N +Increase 2^N times the upper limit for total number of bricks in the +volume mounted at MNT. This operation makes the volume unbalanced. +Using in conjunction with -B (--with-balance) option, completes the operation +with balancing. +.TP +.B -m, --migrate N +Move all data blocks of regular FILE to a brick of serial number N. +.TP +.B -i, --set-immobile +Set "immobile" property to regular FILE. +.TP +.B -e, --clear-immobile +Clear "immobile" property of regular FILE. +.TP +.B -B, --with-balance +Complete a volume operation with balancing procedure. Can be used only in +conjunction with options -a (--add), -z (--resize), -q (--scale). +.TP +.B -R, --finish-removal +Finish brick removal operation interrupted for various reasons. +.TP +.B -S, --restore-regular +Restore regular distribution on the volume mounted at MNT. +.sp 1 +.SH Examples: +.sp 1 +To create a volume, choose volume ID and stripe size. Then create a first +brick, that will be the meta-data brick of your volume: +.sp 1 +VOL_ID=`uuidgen` +.sp 1 +STRIPE=256K +.sp 1 +mkfs.reiser4 -U $VOL_ID -t $STRIPE /dev/sdb1 +.sp 1 +To add a data brick to your initial volume, consisting of only one meta-data +brick, mount it e.g. at /mnt: +.sp 1 +mount /dev/sdb1 /mnt +.sp 1 +Choose a block device for your data brick (e.g. /dev/sdb2) and format it with +the same volume ID and stripe size: +.sp 1 +mkfs.reiser4 -a -U $VOL_ID -t $STRIPE /dev/sdb2 +.sp 1 +Finally, using option "-a", add it to the volume: +.sp 1 +volume.reiser4 -a /dev/sdb2 /mnt +.sp 1 +After this, you might want to run balancing procedure on your volume. It will +distribute all your data among the bricks fairly, i.e. in a proportion with +bricks capacities. For this simply run the utility with the option -b (--balance): +.sp 1 +volume.reiser4 -b /mnt +.sp 1 +To remove a brick from your logical volume simply specify the block device that +the brick is associated with, using option "-r": +.sp 1 +volume.reiser4 -r /dev/sdb2 /mnt +.sp 1 +After successful removal completion your volume is always balanced. +If the operation of brick removal was interrupted for some reasons, then complete +the removal by running the utility with the option -R (--finish-removal): +.sp 1 +volume.reiser4 -R /mnt +.RS +.SH REPORTING BUGS +Report bugs to <[email protected]> +.SH SEE ALSO +.BR mkfs.reiser4(8), +.BR debugfs.reiser4(8), +.br +Reiser4 logical volumes administration guide at +.nh +https://reiser4.wiki.kernel.org/index.php/Logical_Volumes_Administration +.hy +.SH AUTHOR +Written by Edward O. Shishkin diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/reiser4progs-2.0.0/include/reiser4/ioctl.h new/reiser4progs-2.0.4/include/reiser4/ioctl.h --- old/reiser4progs-2.0.0/include/reiser4/ioctl.h 2019-12-27 11:31:10.000000000 +0100 +++ new/reiser4progs-2.0.4/include/reiser4/ioctl.h 2020-11-22 19:19:50.000000000 +0100 @@ -32,7 +32,7 @@ */ /* - * Per volume flags. + * On-line per-volume and per-subvolume flags. * They are set up for (re)mount session and are not stored on disk */ typedef enum { @@ -60,8 +60,6 @@ REISER4_DONT_PUNCH_HOLES = 9, /* volume is ready for regular operations */ REISER4_ACTIVATED_VOL = 10, - /* this is to serialize online volume operations */ - REISER4_BUSY_VOL = 11, /* volume is in unbalanced state */ REISER4_UNBALANCED_VOL = 12, /* this flag indicates that volume operation was @@ -70,9 +68,37 @@ REISER4_INCOMPLETE_BRICK_REMOVAL = 13, /* this flag indicates that distribution mode is file-based (default is volume-based) */ - REISER4_FILE_BASED_DIST = 14 + REISER4_FILE_BASED_DIST = 14, + /* proxy-subvolume is active */ + REISER4_PROXY_ENABLED = 15, + /* proxy subvolume accepts IO requests */ + REISER4_PROXY_IO = 16 } reiser4_fs_flag; +typedef enum { + /* set if all nodes in internal tree have the same + * node layout plugin. See znode_guess_plugin() */ + SUBVOL_ONE_NODE_PLUGIN = 0, + /* set if subvolume lives on a solid state drive */ + SUBVOL_IS_NONROT_DEVICE = 1, + /* set if subvol is registered */ + SUBVOL_REGISTERED = 2, + /* set if subvol is activated */ + SUBVOL_ACTIVATED = 3, + /* set if brick is used for data storage and participates + in regular data distribution */ + SUBVOL_HAS_DATA_ROOM = 4, + /* set if subvolume is not included in volume configuration + and doesn't accept any IOs */ + SUBVOL_IS_ORPHAN = 5, + /* set if brick was scheduled for removal. It may be not + empty and may accept IOs */ + SUBVOL_TO_BE_REMOVED = 6, + /* set if brick is used for data storage, but doesn't + participate in regular data distribution */ + SUBVOL_IS_PROXY = 7 +} reiser4_subvol_flag; + #define REISER4_PATH_NAME_MAX 3900 /* FIXME: make it more precise */ typedef enum { @@ -89,14 +115,23 @@ REISER4_REMOVE_BRICK, REISER4_SCALE_VOLUME, REISER4_BALANCE_VOLUME, + REISER4_ADD_PROXY, + REISER4_MIGRATE_FILE, + REISER4_SET_FILE_IMMOBILE, + REISER4_CLR_FILE_IMMOBILE, + REISER4_FINISH_REMOVAL, + REISER4_RESTORE_REGULAR_DST } reiser4_vol_op; +typedef enum { + COMPLETE_WITH_BALANCE = 0x1 +} reiser4_vol_op_flags; + struct reiser4_volume_stat { u8 id[16]; /* unique ID */ - s64 nr_bricks; /* absolute value indicates total number of - bricks in the volume. Negative means that - AID doesn't contain meta-data brick */ + u32 nr_bricks; /* total number of bricks in the volume */ + u32 bricks_in_dsa; /* number of bricks in DSA */ u16 vpid; /* volume plugin ID */ u16 dpid; /* distribution plugin ID */ u16 stripe_bits; /* logarithm of stripe size */ @@ -112,7 +147,7 @@ u64 int_id; /* ordered number, 0 means meta-data brick */ u8 ext_id[16]; /* external unique ID */ u16 nr_replicas; /* number of replicas */ - u64 state; /* activated, etc flags */ + u64 subv_flags; /* per-subvolume on-line flags */ u64 block_count; /* total number of blocks on the device */ u64 data_capacity; /* "weight" of the brick in data storage array */ u64 blocks_used; /* number of blocks used by data and meta-data */ @@ -127,6 +162,7 @@ reiser4_vol_op opcode; int error; u64 new_capacity; + u64 flags; union { u64 brick_idx; /* index of brick in logical volume */ u64 vol_idx; /* serial num of volume in the list of volumes */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/reiser4progs-2.0.0/libmisc/Makefile.am new/reiser4progs-2.0.4/libmisc/Makefile.am --- old/reiser4progs-2.0.0/libmisc/Makefile.am 2019-12-27 11:31:10.000000000 +0100 +++ new/reiser4progs-2.0.4/libmisc/Makefile.am 2020-11-22 19:20:04.000000000 +0100 @@ -1,4 +1,12 @@ -noinst_LTLIBRARIES = libmisc.la +miscincludedir = -I$(top_srcdir)/include + +if ENABLE_MINIMAL +MINIMAL_LIBS = libmisc-minimal.la +else +MINIMAL_LIBS = +endif + +noinst_LTLIBRARIES = libmisc.la $(MINIMAL_LIBS) libmisc_la_SOURCES = misc.c profile.c exception.c gauge.c ui.c \ mpressure.c @@ -8,4 +16,13 @@ libmisc_la_CFLAGS = @GENERIC_CFLAGS@ -AM_CPPFLAGS = -I$(top_srcdir)/include +if ENABLE_MINIMAL +libmisc_minimal_la_SOURCES = $(libmisc_la_SOURCES) + +libmisc_minimal_la_LIBADD = @AAL_LIBS@ $(UUID_LIBS) @PROGS_LIBS@ \ + $(top_builddir)/libaux/libaux-minimal.la + +libmisc_minimal_la_CFLAGS = $(libmisc_la_CFLAGS) +endif + +AM_CPPFLAGS = $(miscincludedir) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/reiser4progs-2.0.0/libreiser4/Makefile.am new/reiser4progs-2.0.4/libreiser4/Makefile.am --- old/reiser4progs-2.0.0/libreiser4/Makefile.am 2019-12-27 11:30:13.000000000 +0100 +++ new/reiser4progs-2.0.4/libreiser4/Makefile.am 2020-11-22 19:20:04.000000000 +0100 @@ -14,7 +14,7 @@ lib_LTLIBRARIES = libreiser4.la $(MINIMAL_LIBS) noinst_LTLIBRARIES = libreiser4-static.la -libreiser4_la_LIBADD = $(top_builddir)/libaux/libaux-static.la \ +libreiser4_la_LIBADD = $(top_builddir)/libmisc/libmisc.la \ $(top_builddir)/plugin/libreiser4-plugin.la \ @AAL_LIBS@ @@ -24,7 +24,7 @@ -release $(LT_RELEASE) libreiser4_la_CFLAGS = @GENERIC_CFLAGS@ -libreiser4_static_la_LIBADD = $(top_builddir)/libaux/libaux-static.la \ +libreiser4_static_la_LIBADD = $(top_builddir)/libmisc/libmisc.la \ $(top_builddir)/plugin/libreiser4-plugin.la \ @AAL_LIBS@ @@ -33,7 +33,7 @@ libreiser4_static_la_LDFLAGS = -static if ENABLE_MINIMAL -libreiser4_minimal_la_LIBADD = $(top_builddir)/libaux/libaux-minimal.la \ +libreiser4_minimal_la_LIBADD = $(top_builddir)/libmisc/libmisc-minimal.la \ $(top_builddir)/plugin/libreiser4-plugin-minimal.la \ @AAL_MINIMAL_LIBS@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/reiser4progs-2.0.0/missing new/reiser4progs-2.0.4/missing --- old/reiser4progs-2.0.0/missing 2018-03-08 21:15:51.000000000 +0100 +++ new/reiser4progs-2.0.4/missing 2017-02-10 07:47:11.000000000 +0100 @@ -1,9 +1,9 @@ #! /bin/sh # Common wrapper for a few potentially missing GNU programs. -scriptversion=2018-03-07.03; # UTC +scriptversion=2013-10-28.13; # UTC -# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# Copyright (C) 1996-2014 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <[email protected]>, 1996. # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program. If not, see <https://www.gnu.org/licenses/>. +# along with this program. If not, see <http://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -101,9 +101,9 @@ exit $st fi -perl_URL=https://www.perl.org/ -flex_URL=https://github.com/westes/flex -gnu_software_URL=https://www.gnu.org/software +perl_URL=http://www.perl.org/ +flex_URL=http://flex.sourceforge.net/ +gnu_software_URL=http://www.gnu.org/software program_details () { @@ -207,9 +207,9 @@ exit $st # Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) +# eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" +# time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/reiser4progs-2.0.0/progs/debugfs/Makefile.am new/reiser4progs-2.0.4/progs/debugfs/Makefile.am --- old/reiser4progs-2.0.0/progs/debugfs/Makefile.am 2019-12-27 11:30:13.000000000 +0100 +++ new/reiser4progs-2.0.4/progs/debugfs/Makefile.am 2020-11-22 19:20:04.000000000 +0100 @@ -2,9 +2,9 @@ debugfs_reiser4_SOURCES = debugfs.c debugfs.h print.c print.h browse.c \ browse.h types.h -debugfs_reiser4_LDADD = $(top_builddir)/libreiser4/libreiser4.la \ +debugfs_reiser4_LDADD = $(top_builddir)/libmisc/libmisc.la \ $(top_builddir)/librepair/librepair.la \ - $(top_builddir)/libmisc/libmisc.la \ + $(top_builddir)/libreiser4/libreiser4.la \ $(PROGS_LIBS) debugfs_reiser4_LDFLAGS = @PROGS_LDFLAGS@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/reiser4progs-2.0.0/progs/fsck/Makefile.am new/reiser4progs-2.0.4/progs/fsck/Makefile.am --- old/reiser4progs-2.0.0/progs/fsck/Makefile.am 2019-12-27 11:30:13.000000000 +0100 +++ new/reiser4progs-2.0.4/progs/fsck/Makefile.am 2020-11-22 19:20:04.000000000 +0100 @@ -1,9 +1,9 @@ sbin_PROGRAMS = fsck.reiser4 fsck_reiser4_SOURCES = fsck.c backup.c fsck.h backup.h -fsck_reiser4_LDADD = $(top_builddir)/libreiser4/libreiser4.la \ +fsck_reiser4_LDADD = $(top_builddir)/libmisc/libmisc.la \ $(top_builddir)/librepair/librepair.la \ - $(top_builddir)/libmisc/libmisc.la \ + $(top_builddir)/libreiser4/libreiser4.la \ @PROGS_LIBS@ fsck_reiser4_LDFLAGS = @PROGS_LDFLAGS@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/reiser4progs-2.0.0/progs/measurefs/Makefile.am new/reiser4progs-2.0.4/progs/measurefs/Makefile.am --- old/reiser4progs-2.0.0/progs/measurefs/Makefile.am 2019-12-27 11:30:13.000000000 +0100 +++ new/reiser4progs-2.0.4/progs/measurefs/Makefile.am 2020-11-22 19:20:04.000000000 +0100 @@ -1,8 +1,8 @@ sbin_PROGRAMS = measurefs.reiser4 measurefs_reiser4_SOURCES = measurefs.c -measurefs_reiser4_LDADD = $(top_builddir)/libreiser4/libreiser4.la \ - $(top_builddir)/libmisc/libmisc.la \ +measurefs_reiser4_LDADD = $(top_builddir)/libmisc/libmisc.la \ + $(top_builddir)/libreiser4/libreiser4.la \ $(PROGS_LIBS) measurefs_reiser4_LDFLAGS = @PROGS_LDFLAGS@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/reiser4progs-2.0.0/progs/mkfs/Makefile.am new/reiser4progs-2.0.4/progs/mkfs/Makefile.am --- old/reiser4progs-2.0.0/progs/mkfs/Makefile.am 2019-12-27 11:30:13.000000000 +0100 +++ new/reiser4progs-2.0.4/progs/mkfs/Makefile.am 2020-11-22 19:20:04.000000000 +0100 @@ -1,8 +1,8 @@ sbin_PROGRAMS = mkfs.reiser4 mkfs_reiser4_SOURCES = mkfs.c -mkfs_reiser4_LDADD = $(top_builddir)/libreiser4/libreiser4.la \ - $(top_builddir)/libmisc/libmisc.la \ +mkfs_reiser4_LDADD = $(top_builddir)/libmisc/libmisc.la \ + $(top_builddir)/libreiser4/libreiser4.la \ $(PROGS_LIBS) mkfs_reiser4_LDFLAGS = @PROGS_LDFLAGS@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/reiser4progs-2.0.0/progs/volume/Makefile.am new/reiser4progs-2.0.4/progs/volume/Makefile.am --- old/reiser4progs-2.0.0/progs/volume/Makefile.am 2019-12-27 11:31:10.000000000 +0100 +++ new/reiser4progs-2.0.4/progs/volume/Makefile.am 2020-11-22 19:20:04.000000000 +0100 @@ -1,8 +1,8 @@ sbin_PROGRAMS = volume.reiser4 volume_reiser4_SOURCES = volume.c -volume_reiser4_LDADD = $(top_builddir)/libreiser4/libreiser4.la \ - $(top_builddir)/libmisc/libmisc.la \ +volume_reiser4_LDADD = $(top_builddir)/libmisc/libmisc.la \ + $(top_builddir)/libreiser4/libreiser4.la \ $(PROGS_LIBS) volume_reiser4_LDFLAGS = @PROGS_LDFLAGS@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/reiser4progs-2.0.0/progs/volume/volume.c new/reiser4progs-2.0.4/progs/volume/volume.c --- old/reiser4progs-2.0.0/progs/volume/volume.c 2019-12-27 11:31:10.000000000 +0100 +++ new/reiser4progs-2.0.4/progs/volume/volume.c 2020-11-22 19:19:50.000000000 +0100 @@ -1,5 +1,5 @@ /* - Copyright (c) 2017-2019 Eduard O. Shishkin + Copyright (c) 2017-2020 Eduard O. Shishkin This file is licensed to you under your choice of the GNU Lesser General Public License, version 3 or any later version (LGPLv3 or @@ -32,37 +32,53 @@ /* Known behavior flags */ typedef enum behav_flags { - BF_FORCE = 1 << 0, - BF_YES = 1 << 1, + BF_FORCE = 1 << 0, + BF_YES = 1 << 1, + BF_WITH_BALANCE = 1 << 2 } behav_flags_t; /* Prints options */ static void volmgr_print_usage(char *name) { - fprintf(stderr, "Usage: %s [ options ] FILE\n", name); + fprintf(stderr, "Usage: %s [options] [FILE] [MNT]\n", name); fprintf(stderr, - "Volume managing options:\n" - " -g, --register FILE register a brick associated with a device\n" - " \"FILE\" in the system.\n" - " -u, --unregister FILE unregister a brick associated with\n" - " device\"FILE\" in the system.\n" - " -l, --list print list of all bricks registered in the\n" - " system.\n" - " -p, --print N print information about a brick of serial\n" - " number N in the mounted volume.\n" - " -b, --balance balance the volume.\n" - " -z, --resize FILE set new data capacity for a brick associated\n" - " with device \"FILE\".\n" - " -c, --capacity VALUE specify VALUE of new data capacity\n" - " -a, --add FILE add a brick associated with device \"FILE\"\n" - " to the volume.\n" - " -r, --remove FILE remove a brick associated with device\n" - " \"FILE\" from the volume.\n" - " -q, --scale N increase \"2^N\" times number of hash space\n" - " segments.\n" "Common options:\n" - " -?, -h, --help print program usage.\n" - " -V, --version print current version.\n" - " -y, --yes assumes an answer 'yes' to all questions.\n"); + " -?, -h, --help Print program usage.\n" + " -V, --version Print current version.\n" + " -y, --yes Assumes an answer 'yes' to all questions.\n" + "Off-line options:\n" + " -g, --register DEV Register a brick associated with device DEV\n" + " in the system.\n" + " -u, --unregister DEV Unregister a brick associated with device DEV\n" + " in the system.\n" + " -l, --list Print list of all bricks registered in the\n" + " system.\n" + "On-line options:\n" + " -p, --print N Print information about a brick of serial\n" + " number N in the volume mounted at MNT.\n" + " -b, --balance Balance volume mounted at MNT.\n" + " -B, --with-balance Complete a volume operation with balancing.\n" + " -z, --resize DEV Change data capacity of a brick accociated\n" + " with device DEV in the volume mounted at MNT.\n" + " The actual capacity has to be defined by the\n" + " option \"-c (--capacity)\".\n" + " -c, --capacity VALUE Define new data capacity VALUE for a device\n" + " specified by option \"-z (--resize).\n" + " -a, --add DEV Add a brick associated with device DEV to the\n" + " volume mounted at MNT.\n" + " -x, --add-proxy DEV Add a proxy brick associated with device\n" + " DEV to the volume mounted at MNT.\n" + " -r, --remove DEV Remove a brick associated with device DEV\n" + " from the volume mounted at MNT.\n" + " -R, --finish-removal Complete a brick removal operation for the\n" + " volume mounted at MNT.\n" + " -q, --scale N increase 2^N times the upper limit for total\n" + " number of bricks in the volume mounted at MNT.\n" + " -m, --migrate N Migrate all data blocks of regular FILE to a\n" + " brick of serial number N.\n" + " -i, --set-immobile Set \"immobile\" property to regular FILE.\n" + " -e, --clear-immobile Clear \"immobile\" property of regular FILE.\n" + " -S, --restore-regular Restore regular distribution on the volume\n" + " mounted at MNT.\n"); } /* Initializes exception streams used by volume manager */ @@ -92,29 +108,48 @@ aal_error("Can't stat %s. %s.", name, strerror(errno)); return USER_ERROR; } - if (set_op(info, op)) - return USER_ERROR; - strncpy(info->d.name, name, sizeof(info->d.name)); - return NO_ERROR; + strncpy(info->d.name, name, sizeof(info->d.name) - 1); + return set_op(info, op); } static int set_op_value(struct reiser4_vol_op_args *info, char *value, reiser4_vol_op op) { - if ((info->s.val = misc_str2long(value, 10)) == INVAL_DIG) + if ((info->s.val = misc_str2long(value, 10)) == INVAL_DIG) { + aal_error("Invalid value %s.", value); return USER_ERROR; - if (set_op(info, op)) - return USER_ERROR; - return NO_ERROR; + } + return set_op(info, op); } static int set_capacity(struct reiser4_vol_op_args *info, char *value) { - if ((info->new_capacity = misc_str2long(value, 10)) == INVAL_DIG) + if ((info->new_capacity = misc_str2long(value, 10)) == INVAL_DIG) { + aal_error("Invalid value %s.", value); return USER_ERROR; + } + if (info->new_capacity == 0) { + aal_error("Invalid capacity (0)"); + return USER_ERROR; + } return NO_ERROR; } +static int check_deps(struct reiser4_vol_op_args *info) +{ + switch (info->opcode) { + case REISER4_RESIZE_BRICK: + if (info->new_capacity == 0) { + aal_error("Option \"-z (--resize)\" requires option \"-c (--capacity)\""); + return -1; + } + break; + default: + break; + } + return 0; +} + static void print_separator(void) { aal_stream_t stream; @@ -225,8 +260,6 @@ reiser4_plug_t *vol_plug, *dst_plug; uint64_t stripe_size; uint64_t nr_segments; - int nr_bricks; - int bricks_in_dsa; aal_stream_init(&stream, stdout, &file_stream); @@ -241,28 +274,14 @@ if (info->u.vol.nr_sgs_bits != 0) nr_segments = 1ull << info->u.vol.nr_sgs_bits; - nr_bricks = info->u.vol.nr_bricks; - if (nr_bricks < 0) { - /* - * negative number of bricks passed means - * that meta-data brick doesn't belong to - * data storage array - */ - nr_bricks = -nr_bricks; - bricks_in_dsa = nr_bricks - 1; - } else - bricks_in_dsa = nr_bricks; - if (!(dst_plug = reiser4_factory_ifind(DST_PLUG_TYPE, dst))) { aal_error("Can't find distrib plugin by its id 0x%x.", dst); return; } - if (!(vol_plug = reiser4_factory_ifind(VOL_PLUG_TYPE, vol))) { aal_error("Can't find volume plugin by its id 0x%x.", vol); return; } - aal_stream_format(&stream, "%s\n", "Logical Volume Info:"); #if defined(HAVE_LIBUUID) && defined(HAVE_UUID_UUID_H) @@ -274,7 +293,6 @@ } else aal_stream_format(&stream, "ID:\t\t<none>\n"); #endif - aal_stream_format(&stream, "volume:\t\t0x%x (%s)\n", vol, vol_plug ? vol_plug->label : "absent"); @@ -286,18 +304,22 @@ aal_stream_format(&stream, "segments:\t%llu\n", nr_segments); - aal_stream_format(&stream, "bricks total:\t%d\n", nr_bricks); + aal_stream_format(&stream, "bricks total:\t%d\n", info->u.vol.nr_bricks); - aal_stream_format(&stream, "bricks in DSA:\t%d\n", bricks_in_dsa); + aal_stream_format(&stream, "bricks in DSA:\t%d\n", info->u.vol.bricks_in_dsa); aal_stream_format(&stream, "slots:\t\t%u\n", info->u.vol.nr_mslots); - aal_stream_format(&stream, "volinfo blocks:\t%llu\n", + aal_stream_format(&stream, "map blocks:\t%llu\n", info->u.vol.nr_volinfo_blocks); aal_stream_format(&stream, "balanced:\t%s\n", aal_test_bit(&info->u.vol.fs_flags, REISER4_UNBALANCED_VOL) ? "No" : "Yes"); + aal_stream_format(&stream, "health:\t\t%s\n", + aal_test_bit(&info->u.vol.fs_flags, + REISER4_INCOMPLETE_BRICK_REMOVAL) ? + "Incomplete brick removal" : "OK"); aal_stream_fini(&stream); } @@ -350,6 +372,14 @@ info->u.brick.volinfo_addr, info->u.brick.volinfo_addr ? "" : "(none)"); + aal_stream_format(&stream, "in DSA:\t\t%s\n", + info->u.brick.subv_flags & (1 << SUBVOL_HAS_DATA_ROOM) ? + "Yes" : "No"); + + aal_stream_format(&stream, "is proxy:\t%s\n", + info->u.brick.subv_flags & (1 << SUBVOL_IS_PROXY) ? + "Yes" : "No"); + aal_stream_fini(&stream); } @@ -373,11 +403,18 @@ {"list", no_argument, NULL, 'l'}, {"print", required_argument, NULL, 'p'}, {"balance", no_argument, NULL, 'b'}, + {"with-balance", no_argument, NULL, 'B'}, {"add", required_argument, NULL, 'a'}, + {"add-proxy", required_argument, NULL, 'x'}, {"remove", required_argument, NULL, 'r'}, + {"finish-removal", no_argument, NULL, 'R'}, {"resize", required_argument, NULL, 'z'}, {"capacity", required_argument, NULL, 'c'}, {"scale", required_argument, NULL, 'q'}, + {"migrate-file", required_argument, NULL, 'm'}, + {"set-immobile", no_argument, NULL, 'i'}, + {"clear-immobile", no_argument, NULL, 'e'}, + {"restore-regular", no_argument, NULL, 'S'}, {0, 0, 0, 0} }; @@ -388,7 +425,7 @@ volmgr_print_usage(argv[0]); return USER_ERROR; } - while ((c = getopt_long(argc, argv, "hVyfblp:g:u:a:r:z:c:q:?", + while ((c = getopt_long(argc, argv, "hVRSByfbliep:g:u:a:x:r:z:c:q:m:?", long_options, (int *)0)) != EOF) { switch (c) { @@ -405,6 +442,9 @@ case 'y': flags |= BF_YES; break; + case 'B': + flags |= BF_WITH_BALANCE; + break; case 'b': ret = set_op(&info, REISER4_BALANCE_VOLUME); if (ret) @@ -436,12 +476,23 @@ if (ret) return ret; break; + case 'x': + ret = set_op_name(&info, optarg, &st, + REISER4_ADD_PROXY); + if (ret) + return ret; + break; case 'r': ret = set_op_name(&info, optarg, &st, REISER4_REMOVE_BRICK); if (ret) return ret; break; + case 'R': + ret = set_op(&info, REISER4_FINISH_REMOVAL); + if (ret) + return ret; + break; case 'p': ret = set_op_value(&info, optarg, REISER4_PRINT_BRICK); @@ -465,6 +516,27 @@ if (ret) return ret; break; + case 'm': + ret = set_op_value(&info, optarg, + REISER4_MIGRATE_FILE); + if (ret) + return ret; + break; + case 'i': + ret = set_op(&info, REISER4_SET_FILE_IMMOBILE); + if (ret) + return ret; + break; + case 'e': + ret = set_op(&info, REISER4_CLR_FILE_IMMOBILE); + if (ret) + return ret; + break; + case 'S': + ret = set_op(&info, REISER4_RESTORE_REGULAR_DST); + if (ret) + return ret; + break; } } if (info.opcode == REISER4_INVALID_OPT) @@ -495,25 +567,23 @@ ret = ioctl(fd, REISER4_IOC_SCAN_DEV, &info); } } else { - struct stat buf; - + ret = check_deps(&info); + if (ret) + goto error_free_libreiser4; name = argv[optind]; + if (name == NULL) { + libreiser4_fini(); + volmgr_print_usage(argv[0]); + return USER_ERROR; + } fd = open(name, O_NONBLOCK); if (fd == -1) { aal_error("Can't open %s. %s.", name, strerror(errno)); goto error_free_libreiser4; } - ret = fstat(fd, &buf); - if (ret) { - aal_error("%s: fstat failed %s.", - name, strerror(errno)); - goto error_free_libreiser4; - } - if (!S_ISDIR(buf.st_mode)) { - ret = -1; - aal_error("%s is not directory.", name); - goto close; - } + if (flags & BF_WITH_BALANCE) + info.flags |= COMPLETE_WITH_BALANCE; + ret = ioctl(fd, REISER4_IOC_VOLUME, &info); if (ret == -1) aal_error("Ioctl on %s failed. %s.", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/reiser4progs-2.0.0/reiser4progs.spec new/reiser4progs-2.0.4/reiser4progs.spec --- old/reiser4progs-2.0.0/reiser4progs.spec 2019-12-30 11:30:15.000000000 +0100 +++ new/reiser4progs-2.0.4/reiser4progs.spec 2020-11-28 14:01:13.000000000 +0100 @@ -1,7 +1,7 @@ %define enable_debug 1 Name: reiser4progs -Version: 2.0.0 +Version: 2.0.4 Release: 1 Summary: Utilities for reiser4 filesystems License: GPL _______________________________________________ openSUSE Commits mailing list -- [email protected] To unsubscribe, email [email protected] List Netiquette: https://en.opensuse.org/openSUSE:Mailing_list_netiquette List Archives: https://lists.opensuse.org/archives/list/[email protected]
