openSUSE Commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
December 2013
- 1 participants
- 1715 discussions
Hello community,
here is the log from the commit of package f2fs-tools for openSUSE:Factory checked in at 2013-12-02 07:22:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/f2fs-tools (Old)
and /work/SRC/openSUSE:Factory/.f2fs-tools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "f2fs-tools"
Changes:
--------
--- /work/SRC/openSUSE:Factory/f2fs-tools/f2fs-tools.changes 2013-08-12 10:16:17.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.f2fs-tools.new/f2fs-tools.changes 2013-12-02 07:22:17.000000000 +0100
@@ -1,0 +2,11 @@
+Sun Nov 24 11:34:03 UTC 2013 - jengelh(a)inai.de
+
+- Update to new upstream release 1.2.0
+* f2fs-tools: add stat information into fibmap
+* fibmap.f2fs: change fibmap to fibmap.f2fs
+* fsck, lib: support inline xattr
+* fsck: skip to check block addresses in device files
+* fsck: fix to handle file types correctly
+* fsck: fix checking orphan inodes
+
+-------------------------------------------------------------------
Old:
----
f2fs-tools-1.1.0+git40.tar.xz
New:
----
f2fs-tools-1.2.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ f2fs-tools.spec ++++++
--- /var/tmp/diff_new_pack.Ueol9Q/_old 2013-12-02 07:22:17.000000000 +0100
+++ /var/tmp/diff_new_pack.Ueol9Q/_new 2013-12-02 07:22:17.000000000 +0100
@@ -18,14 +18,14 @@
Name: f2fs-tools
%define lname libf2fs0
-Version: 1.1.0+git40
+Version: 1.2.0
Release: 0
-#Snapshot: 6e8f2d5d222eff0abea4b5c0abc7433834094924
Summary: Utilities for the Flash-friendly Filesystem (F2FS)
License: GPL-2.0
Group: System/Filesystems
Url: http://f2fs-tools.sf.net/_(disused)
+#Snapshot: v1.2.0
#Git-Clone: git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools
#DL-URL: no tarballs provided
Source: %name-%version.tar.xz
@@ -53,8 +53,6 @@
make install DESTDIR="$b" sbindir="%_sbindir"
# The devel file is quite useless ATM without public headers.
rm -f "$b/%_libdir"/*.{la,so}
-# /usr/sbin/filefrag already does what fibmap can do.
-rm -f "$b/%_sbindir/fibmap"
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
@@ -62,6 +60,7 @@
%files
%defattr(-,root,root)
%_sbindir/dump.f2fs
+%_sbindir/fibmap.f2fs
%_sbindir/fsck.f2fs
%_sbindir/mkfs.f2fs
%_libdir/libf2fs.so.0*
++++++ f2fs-tools-1.1.0+git40.tar.xz -> f2fs-tools-1.2.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/f2fs-tools/README new/f2fs-tools/README
--- old/f2fs-tools/README 2013-06-18 03:56:41.000000000 +0200
+++ new/f2fs-tools/README 2013-11-24 12:32:49.000000000 +0100
@@ -25,6 +25,20 @@
# ./configure
# make
+How to cross-compile (e.g., for ARM)
+------------------------------------
+
+ 1. Add the below line into mkfs/Makefile.am:
+ mkfs_f2fs_LDFLAGS = -all-static
+
+ 2. Add the below line into fsck/Makefile.am:
+ fsck_f2fs_LDFLAGS = -all-static
+
+ 3. then, do:
+ # LDFLAGS=--static ./configure \
+ --host=arm-none-linux-gnueabi --target=arm-none-linux-gnueabi
+ # make
+
How to run by default
---------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/f2fs-tools/VERSION new/f2fs-tools/VERSION
--- old/f2fs-tools/VERSION 2013-06-18 03:56:41.000000000 +0200
+++ new/f2fs-tools/VERSION 2013-11-24 12:32:49.000000000 +0100
@@ -1,2 +1,2 @@
-1.1.0
-2012-11-29
+1.2.0
+2013-10-25
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/f2fs-tools/configure new/f2fs-tools/configure
--- old/f2fs-tools/configure 2013-08-08 00:15:50.000000000 +0200
+++ new/f2fs-tools/configure 2013-11-24 12:35:46.000000000 +0100
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for F2FS tools 1.1.0.
+# Generated by GNU Autoconf 2.69 for F2FS tools 1.2.0.
#
# Report bugs to <linux-f2fs-devel(a)lists.sourceforge.net>.
#
@@ -590,8 +590,8 @@
# Identity of this package.
PACKAGE_NAME='F2FS tools'
PACKAGE_TARNAME='f2fs-tools'
-PACKAGE_VERSION='1.1.0'
-PACKAGE_STRING='F2FS tools 1.1.0'
+PACKAGE_VERSION='1.2.0'
+PACKAGE_STRING='F2FS tools 1.2.0'
PACKAGE_BUGREPORT='linux-f2fs-devel(a)lists.sourceforge.net'
PACKAGE_URL=''
@@ -1324,7 +1324,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures F2FS tools 1.1.0 to adapt to many kinds of systems.
+\`configure' configures F2FS tools 1.2.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1394,7 +1394,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of F2FS tools 1.1.0:";;
+ short | recursive ) echo "Configuration of F2FS tools 1.2.0:";;
esac
cat <<\_ACEOF
@@ -1508,7 +1508,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-F2FS tools configure 1.1.0
+F2FS tools configure 1.2.0
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2007,7 +2007,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by F2FS tools $as_me 1.1.0, which was
+It was created by F2FS tools $as_me 1.2.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2366,13 +2366,13 @@
-$as_echo "#define F2FS_TOOLS_VERSION \"1.1.0\"" >>confdefs.h
+$as_echo "#define F2FS_TOOLS_VERSION \"1.2.0\"" >>confdefs.h
$as_echo "#define F2FS_MAJOR_VERSION 1" >>confdefs.h
-$as_echo "#define F2FS_MINOR_VERSION 1" >>confdefs.h
+$as_echo "#define F2FS_MINOR_VERSION 2" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for .git" >&5
@@ -2392,11 +2392,11 @@
$as_echo "$ac_cv_file__git" >&6; }
if test "x$ac_cv_file__git" = xyes; then :
-$as_echo "#define F2FS_TOOLS_DATE \"2013-08-07\"" >>confdefs.h
+$as_echo "#define F2FS_TOOLS_DATE \"\"" >>confdefs.h
else
-$as_echo "#define F2FS_TOOLS_DATE \"2012-11-29\"" >>confdefs.h
+$as_echo "#define F2FS_TOOLS_DATE \"2013-10-25\"" >>confdefs.h
fi
@@ -2881,7 +2881,7 @@
# Define the identity of the package.
PACKAGE='f2fs-tools'
- VERSION='1.1.0'
+ VERSION='1.2.0'
cat >>confdefs.h <<_ACEOF
@@ -13286,7 +13286,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by F2FS tools $as_me 1.1.0, which was
+This file was extended by F2FS tools $as_me 1.2.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -13352,7 +13352,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-F2FS tools config.status 1.1.0
+F2FS tools config.status 1.2.0
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/f2fs-tools/fsck/Makefile.am new/f2fs-tools/fsck/Makefile.am
--- old/f2fs-tools/fsck/Makefile.am 2013-08-08 00:14:42.000000000 +0200
+++ new/f2fs-tools/fsck/Makefile.am 2013-11-24 12:32:49.000000000 +0100
@@ -2,11 +2,11 @@
AM_CPPFLAGS = ${libuuid_CFLAGS} -I$(top_srcdir)/include
AM_CFLAGS = -Wall
-sbin_PROGRAMS = fsck.f2fs fibmap
+sbin_PROGRAMS = fsck.f2fs fibmap.f2fs
fsck_f2fs_SOURCES = main.c fsck.c dump.c mount.c
fsck_f2fs_LDADD = ${libuuid_LIBS} $(top_builddir)/lib/libf2fs.la
-fibmap_SOURCES = fibmap.c
+fibmap_f2fs_SOURCES = fibmap.c
install-data-hook:
ln -sf fsck.f2fs $(DESTDIR)/$(sbindir)/dump.f2fs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/f2fs-tools/fsck/Makefile.in new/f2fs-tools/fsck/Makefile.in
--- old/f2fs-tools/fsck/Makefile.in 2013-08-08 00:15:54.000000000 +0200
+++ new/f2fs-tools/fsck/Makefile.in 2013-11-24 12:35:48.000000000 +0100
@@ -50,7 +50,7 @@
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-sbin_PROGRAMS = fsck.f2fs$(EXEEXT) fibmap$(EXEEXT)
+sbin_PROGRAMS = fsck.f2fs$(EXEEXT) fibmap.f2fs$(EXEEXT)
subdir = fsck
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/build-aux/depcomp
@@ -67,9 +67,9 @@
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(sbindir)"
PROGRAMS = $(sbin_PROGRAMS)
-am_fibmap_OBJECTS = fibmap.$(OBJEXT)
-fibmap_OBJECTS = $(am_fibmap_OBJECTS)
-fibmap_LDADD = $(LDADD)
+am_fibmap_f2fs_OBJECTS = fibmap.$(OBJEXT)
+fibmap_f2fs_OBJECTS = $(am_fibmap_f2fs_OBJECTS)
+fibmap_f2fs_LDADD = $(LDADD)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
@@ -105,8 +105,8 @@
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
-SOURCES = $(fibmap_SOURCES) $(fsck_f2fs_SOURCES)
-DIST_SOURCES = $(fibmap_SOURCES) $(fsck_f2fs_SOURCES)
+SOURCES = $(fibmap_f2fs_SOURCES) $(fsck_f2fs_SOURCES)
+DIST_SOURCES = $(fibmap_f2fs_SOURCES) $(fsck_f2fs_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -239,7 +239,7 @@
AM_CFLAGS = -Wall
fsck_f2fs_SOURCES = main.c fsck.c dump.c mount.c
fsck_f2fs_LDADD = ${libuuid_LIBS} $(top_builddir)/lib/libf2fs.la
-fibmap_SOURCES = fibmap.c
+fibmap_f2fs_SOURCES = fibmap.c
all: all-am
.SUFFIXES:
@@ -320,9 +320,9 @@
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
-fibmap$(EXEEXT): $(fibmap_OBJECTS) $(fibmap_DEPENDENCIES) $(EXTRA_fibmap_DEPENDENCIES)
- @rm -f fibmap$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fibmap_OBJECTS) $(fibmap_LDADD) $(LIBS)
+fibmap.f2fs$(EXEEXT): $(fibmap_f2fs_OBJECTS) $(fibmap_f2fs_DEPENDENCIES) $(EXTRA_fibmap_f2fs_DEPENDENCIES)
+ @rm -f fibmap.f2fs$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(fibmap_f2fs_OBJECTS) $(fibmap_f2fs_LDADD) $(LIBS)
fsck.f2fs$(EXEEXT): $(fsck_f2fs_OBJECTS) $(fsck_f2fs_DEPENDENCIES) $(EXTRA_fsck_f2fs_DEPENDENCIES)
@rm -f fsck.f2fs$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(fsck_f2fs_OBJECTS) $(fsck_f2fs_LDADD) $(LIBS)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/f2fs-tools/fsck/fibmap.c new/f2fs-tools/fsck/fibmap.c
--- old/f2fs-tools/fsck/fibmap.c 2013-08-08 00:14:42.000000000 +0200
+++ new/f2fs-tools/fsck/fibmap.c 2013-11-24 12:32:49.000000000 +0100
@@ -26,6 +26,21 @@
ext->end_blk, ext->blk_count);
}
+void print_stat(struct stat64 *st)
+{
+ printf("--------------------------------------------\n");
+ printf("dev [%d:%d]\n", major(st->st_dev), minor(st->st_dev));
+ printf("ino [0x%8lx : %ld]\n", st->st_ino, st->st_ino);
+ printf("mode [0x%8x : %d]\n", st->st_mode, st->st_mode);
+ printf("nlink [0x%8lx : %ld]\n", st->st_nlink, st->st_nlink);
+ printf("uid [0x%8x : %d]\n", st->st_uid, st->st_uid);
+ printf("gid [0x%8x : %d]\n", st->st_gid, st->st_gid);
+ printf("size [0x%8lx : %ld]\n", st->st_size, st->st_size);
+ printf("blksize [0x%8lx : %ld]\n", st->st_blksize, st->st_blksize);
+ printf("blocks [0x%8lx : %ld]\n", st->st_blocks, st->st_blocks);
+ printf("--------------------------------------------\n\n");
+}
+
int main(int argc, char *argv[])
{
int fd;
@@ -61,6 +76,7 @@
total_blks = (st.st_size + st.st_blksize - 1) / st.st_blksize;
printf("\n%s :\n", filename);
+ print_stat(&st);
printf("file_pos start_blk end_blk blks\n");
blknum = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/f2fs-tools/fsck/fsck.c new/f2fs-tools/fsck/fsck.c
--- old/f2fs-tools/fsck/fsck.c 2013-08-08 00:14:42.000000000 +0200
+++ new/f2fs-tools/fsck/fsck.c 2013-11-24 12:34:59.000000000 +0100
@@ -10,6 +10,17 @@
*/
#include "fsck.h"
+#define S_SHIFT 12
+static unsigned char f2fs_type_by_mode[S_IFMT >> S_SHIFT] = {
+ [S_IFREG >> S_SHIFT] = F2FS_FT_REG_FILE,
+ [S_IFDIR >> S_SHIFT] = F2FS_FT_DIR,
+ [S_IFCHR >> S_SHIFT] = F2FS_FT_CHRDEV,
+ [S_IFBLK >> S_SHIFT] = F2FS_FT_BLKDEV,
+ [S_IFIFO >> S_SHIFT] = F2FS_FT_FIFO,
+ [S_IFSOCK >> S_SHIFT] = F2FS_FT_SOCK,
+ [S_IFLNK >> S_SHIFT] = F2FS_FT_SYMLINK,
+};
+
char *tree_mark;
int tree_mark_size = 256;
@@ -258,7 +269,6 @@
return 0;
}
-
int fsck_chk_inode_blk(struct f2fs_sb_info *sbi,
u32 nid,
enum FILE_TYPE ftype,
@@ -281,18 +291,13 @@
fsck->chk.valid_inode_cnt++;
/* Orphan node. i_links should be 0 */
- if (ftype & F2FS_FT_ORPHAN) {
+ if (ftype == F2FS_FT_ORPHAN) {
ASSERT(i_links == 0);
-
- if (S_ISDIR(le16_to_cpu(node_blk->i.i_mode)))
- ftype |= F2FS_FT_DIR;
- else
- ftype |= F2FS_FT_REG_FILE;
} else {
ASSERT(i_links > 0);
}
- if (ftype & F2FS_FT_DIR) {
+ if (ftype == F2FS_FT_DIR) {
/* not included '.' & '..' */
if (f2fs_test_bit(BLKOFF_FROM_MAIN(sbi, ni->blk_addr), fsck->main_area_bitmap) != 0) {
@@ -301,7 +306,7 @@
}
f2fs_set_bit(BLKOFF_FROM_MAIN(sbi, ni->blk_addr), fsck->main_area_bitmap);
- } else if (ftype & F2FS_FT_REG_FILE) {
+ } else {
if (f2fs_test_bit(BLKOFF_FROM_MAIN(sbi, ni->blk_addr), fsck->main_area_bitmap) == 0x0) {
f2fs_set_bit(BLKOFF_FROM_MAIN(sbi, ni->blk_addr), fsck->main_area_bitmap);
@@ -325,16 +330,17 @@
/* No need to go deep into the node */
goto out;
-
}
- } else {
- ASSERT(0);
}
fsck_chk_xattr_blk(sbi, nid, le32_to_cpu(node_blk->i.i_xattr_nid), blk_cnt);
+ if (ftype == F2FS_FT_CHRDEV || ftype == F2FS_FT_BLKDEV ||
+ ftype == F2FS_FT_FIFO || ftype == F2FS_FT_SOCK)
+ goto check;
+
/* check data blocks in inode */
- for (idx = 0; idx < ADDRS_PER_INODE; idx++) {
+ for (idx = 0; idx < ADDRS_PER_INODE(&node_blk->i); idx++) {
if (le32_to_cpu(node_blk->i.i_addr[idx]) != 0) {
*blk_cnt = *blk_cnt + 1;
ret = fsck_chk_data_blk(sbi,
@@ -373,12 +379,16 @@
ASSERT(ret >= 0);
}
}
-
- if (ftype & F2FS_FT_DIR)
+check:
+ if (ftype == F2FS_FT_DIR)
DBG(1, "Directory Inode: ino: %x name: %s depth: %d child files: %d\n\n",
le32_to_cpu(node_blk->footer.ino), node_blk->i.i_name,
le32_to_cpu(node_blk->i.i_current_depth), child_files);
- if ((ftype & F2FS_FT_DIR && i_links != child_cnt) ||
+ if (ftype == F2FS_FT_ORPHAN)
+ DBG(1, "Orphan Inode: ino: %x name: %s i_blocks: %d\n\n",
+ le32_to_cpu(node_blk->footer.ino), node_blk->i.i_name,
+ i_blocks);
+ if ((ftype == F2FS_FT_DIR && i_links != child_cnt) ||
(i_blocks != *blk_cnt)) {
print_node_info(node_blk);
DBG(1, "blk cnt [0x%x]\n", *blk_cnt);
@@ -386,7 +396,7 @@
}
ASSERT(i_blocks == *blk_cnt);
- if (ftype & F2FS_FT_DIR)
+ if (ftype == F2FS_FT_DIR)
ASSERT(i_links == child_cnt);
out:
return 0;
@@ -549,12 +559,11 @@
hash_code = f2fs_dentry_hash((const char *)name, name_len);
ASSERT(le32_to_cpu(de_blk->dentry[i].hash_code) == hash_code);
- ftype = F2FS_FT_REG_FILE;
+ ftype = de_blk->dentry[i].file_type;
/* Becareful. 'dentry.file_type' is not imode. */
- if (de_blk->dentry[i].file_type == F2FS_FT_DIR) {
+ if (ftype == F2FS_FT_DIR) {
*child_cnt = *child_cnt + 1;
- ftype = F2FS_FT_DIR;
if ((name[0] == '.' && name[1] == '.' && name_len == 2) ||
(name[0] == '.' && name_len == 1)) {
i++;
@@ -606,6 +615,7 @@
u8 ver)
{
struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
+
/* Is it reserved block? */
if (blk_addr == NEW_ADDR) {
fsck->chk.valid_blk_cnt++;
@@ -628,7 +638,7 @@
fsck->chk.valid_blk_cnt++;
- if ((ftype & F2FS_FT_DIR) && !(ftype & F2FS_FT_ORPHAN)) {
+ if (ftype == F2FS_FT_DIR) {
fsck_chk_dentry_blk(sbi,
inode,
blk_addr,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/f2fs-tools/fsck/mount.c new/f2fs-tools/fsck/mount.c
--- old/f2fs-tools/fsck/mount.c 2013-08-08 00:14:42.000000000 +0200
+++ new/f2fs-tools/fsck/mount.c 2013-11-24 12:32:49.000000000 +0100
@@ -51,7 +51,7 @@
DISP_u32(inode, i_addr[2]); /* Pointers to data blocks */
DISP_u32(inode, i_addr[3]); /* Pointers to data blocks */
- for (i = 4; i < ADDRS_PER_INODE; i++) {
+ for (i = 4; i < ADDRS_PER_INODE(inode); i++) {
if (inode->i_addr[i] != 0x0) {
printf("i_addr[0x%x] points data block\r\t\t\t\t[0x%4x]\n",
i, inode->i_addr[i]);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/f2fs-tools/include/f2fs_fs.h new/f2fs-tools/include/f2fs_fs.h
--- old/f2fs-tools/include/f2fs_fs.h 2013-08-08 00:14:42.000000000 +0200
+++ new/f2fs-tools/include/f2fs_fs.h 2013-11-24 12:32:49.000000000 +0100
@@ -346,14 +346,25 @@
} __attribute__((packed));
#define F2FS_NAME_LEN 255
-#define ADDRS_PER_INODE 923 /* Address Pointers in an Inode */
+#define F2FS_INLINE_XATTR_ADDRS 50 /* 200 bytes for inline xattrs */
+#define DEF_ADDRS_PER_INODE 923 /* Address Pointers in an Inode */
+#define ADDRS_PER_INODE(fi) addrs_per_inode(fi)
#define ADDRS_PER_BLOCK 1018 /* Address Pointers in a Direct Block */
#define NIDS_PER_BLOCK 1018 /* Node IDs in an Indirect Block */
+#define NODE_DIR1_BLOCK (DEF_ADDRS_PER_INODE + 1)
+#define NODE_DIR2_BLOCK (DEF_ADDRS_PER_INODE + 2)
+#define NODE_IND1_BLOCK (DEF_ADDRS_PER_INODE + 3)
+#define NODE_IND2_BLOCK (DEF_ADDRS_PER_INODE + 4)
+#define NODE_DIND_BLOCK (DEF_ADDRS_PER_INODE + 5)
+
+#define F2FS_INLINE_XATTR 0x01 /* file inline xattr flag */
+#define F2FS_INLINE_DATA 0x02 /* file inline data flag */
+
struct f2fs_inode {
__le16 i_mode; /* file mode */
__u8 i_advise; /* file hints */
- __u8 i_reserved; /* reserved */
+ __u8 i_inline; /* file inline flags */
__le32 i_uid; /* user ID */
__le32 i_gid; /* group ID */
__le32 i_links; /* links count */
@@ -376,7 +387,7 @@
struct f2fs_extent i_ext; /* caching a largest extent */
- __le32 i_addr[ADDRS_PER_INODE]; /* Pointers to data blocks */
+ __le32 i_addr[DEF_ADDRS_PER_INODE]; /* Pointers to data blocks */
__le32 i_nid[5]; /* direct(2), indirect(2),
double_indirect(1) node id */
@@ -607,16 +618,16 @@
/* file types used in inode_info->flags */
enum FILE_TYPE {
F2FS_FT_UNKNOWN,
- F2FS_FT_REG_FILE = 0x1,
- F2FS_FT_DIR = 0x2,
- F2FS_FT_CHRDEV = 0x4,
- F2FS_FT_BLKDEV = 0x8,
- F2FS_FT_FIFO = 0x10,
- F2FS_FT_SOCK = 0x20,
- F2FS_FT_SYMLINK = 0x40,
- F2FS_FT_MAX = 0x80,
+ F2FS_FT_REG_FILE,
+ F2FS_FT_DIR,
+ F2FS_FT_CHRDEV,
+ F2FS_FT_BLKDEV,
+ F2FS_FT_FIFO,
+ F2FS_FT_SOCK,
+ F2FS_FT_SYMLINK,
+ F2FS_FT_MAX,
/* added for fsck */
- F2FS_FT_ORPHAN = 0x1000,
+ F2FS_FT_ORPHAN,
};
/* from f2fs/segment.h */
@@ -627,6 +638,7 @@
extern void ASCIIToUNICODE(u_int16_t *, u_int8_t *);
extern int log_base_2(u_int32_t);
+extern unsigned int addrs_per_inode(struct f2fs_inode *);
extern int get_bits_in_byte(unsigned char n);
extern int set_bit(unsigned int nr,void * addr);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/f2fs-tools/lib/libf2fs.c new/f2fs-tools/lib/libf2fs.c
--- old/f2fs-tools/lib/libf2fs.c 2013-08-08 00:14:42.000000000 +0200
+++ new/f2fs-tools/lib/libf2fs.c 2013-11-24 12:32:49.000000000 +0100
@@ -315,6 +315,13 @@
return f2fs_hash;
}
+unsigned int addrs_per_inode(struct f2fs_inode *i)
+{
+ if (i->i_inline & F2FS_INLINE_XATTR)
+ return DEF_ADDRS_PER_INODE - F2FS_INLINE_XATTR_ADDRS;
+ return DEF_ADDRS_PER_INODE;
+}
+
/*
* CRC32
*/
@@ -364,6 +371,7 @@
c->heap = 1;
c->vol_label = "";
c->device_name = NULL;
+ c->trim = 1;
}
static int is_mounted(const char *mpt, const char *device)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/f2fs-tools/mkfs/f2fs_format.c new/f2fs-tools/mkfs/f2fs_format.c
--- old/f2fs-tools/mkfs/f2fs_format.c 2013-08-08 00:14:42.000000000 +0200
+++ new/f2fs-tools/mkfs/f2fs_format.c 2013-11-24 12:34:59.000000000 +0100
@@ -130,6 +130,8 @@
"mpe",
"rm",
"ogg",
+ "jpeg",
+ "video",
"apk", /* for android system */
NULL
};
@@ -917,6 +919,7 @@
return -1;
}
+ MSG(0, "Info: Discarding device\n");
if (S_ISREG(stat_buf.st_mode))
return 0;
else if (S_ISBLK(stat_buf.st_mode)) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/f2fs-tools/scripts/dumpf2fs.sh new/f2fs-tools/scripts/dumpf2fs.sh
--- old/f2fs-tools/scripts/dumpf2fs.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/f2fs-tools/scripts/dumpf2fs.sh 2013-11-24 12:32:49.000000000 +0100
@@ -0,0 +1,61 @@
+#!/system/bin/sh
+DEV=/dev/block/mmcblk0p16
+
+CMD=$1
+BASE=0x200000
+BASE_MAIN=0xac00000
+
+case $CMD in
+cp1)
+ echo dump cp1
+ let addr=$BASE
+ echo $addr
+ hexdump -s $addr -n 4096 $DEV;;
+cp2)
+ echo dump cp2
+ let addr=$BASE+0x200000
+ hexdump -s $addr -n 4096 $DEV;;
+cp)
+ echo dump cp1 and cp2
+ let addr=$BASE
+ hexdump -s $addr -n 409 $DEV
+ let addr=$BASE+0x200000
+ hexdump -s $addr -n 4096 $DEV;;
+cp1_all)
+ echo dump cp1 all
+ let addr=$BASE
+ hexdump -s $addr -n 20480 $DEV;;
+cp2_all)
+ echo dump cp2 all
+ let addr=$BASE+0x200000
+ hexdump -s $addr -n 20480 $DEV;;
+cp_all)
+ echo dump cp1 and cp2 all
+ let addr=$BASE
+ hexdump -s $addr -n 20480 $DEV
+ let addr=$BASE+0x200000
+ hexdump -s $addr -n 20480 $DEV;;
+blk)
+ let addr=$BASE_MAIN+$2*0x200000+$3*0x1000
+ hexdump -s $addr -n 4096 $DEV
+ echo ;;
+inode)
+ let addr=$BASE_MAIN+$2*0x200000+$3*0x1000
+ for i in `seq $3 511`
+ do
+ hexdump -s $addr -n 8 $DEV
+ let end=$addr+0x0ff0
+ hexdump -s $end -n 16 $DEV
+ let addr=$addr+0x1000
+ done
+ echo ;;
+*)
+ let addr=$1*0x1000
+ let segno=$addr-$BASE_MAIN
+ let segno=$segno/0x200000
+ let off=$addr-$BASE_MAIN
+ let off=$off%0x200000/0x1000
+ echo $segno, $off
+ hexdump -s $addr -n 4096 $DEV
+ echo ;;
+esac
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/f2fs-tools/scripts/spo_test.sh new/f2fs-tools/scripts/spo_test.sh
--- old/f2fs-tools/scripts/spo_test.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/f2fs-tools/scripts/spo_test.sh 2013-11-24 12:32:49.000000000 +0100
@@ -0,0 +1,70 @@
+#!/bin/bash
+
+MNT=/mnt/f2fs
+DEV=/dev/sdb1
+USER_DIR=/home/zeus
+F2FS_DIR=$USER_DIR/f2fs_test
+
+check_stop() {
+ stop=`cat /tmp/stop`
+ if [ $stop -eq 1 ]; then
+ exit
+ fi
+}
+
+case $1 in
+start)
+ echo 0 > /tmp/stop
+ umount /mnt/*
+ echo 3 > /proc/sys/vm/drop_caches
+ echo 8 > /proc/sys/kernel/printk
+
+ date >> $USER_DIR/por_result
+ sync
+
+ insmod $F2FS_DIR/src/fs/f2fs/f2fs.ko || exit
+
+ echo Start checking F2FS without fsync
+ check_stop
+ fsck.f2fs $DEV -d 0 || exit
+ mount -t f2fs -o disable_roll_forward $DEV $MNT || exit
+ umount $MNT
+ echo 3 > /proc/sys/vm/drop_caches
+
+ echo Start checking F2FS with fsync
+ check_stop
+ fsck.f2fs $DEV -d 0 || exit
+ mount -t f2fs $DEV $MNT || exit
+ umount $MNT
+
+ check_stop
+ fsck.f2fs $DEV -d 0 || exit
+ mount -t f2fs $DEV $MNT || exit
+
+ count=`cat $USER_DIR/por_time`
+ if [ $count -eq 20 ]; then
+ echo Start rm all
+ time rm -rf $MNT/* || exit
+ echo 0 > $USER_DIR/por_time
+ sync
+ else
+ echo $((count+1)) > $USER_DIR/por_time
+ fi
+ echo 8 > /proc/sys/kernel/printk
+ echo Start fsstress
+ date
+ $F2FS_DIR/stress_test/fsstress/fsstress -z -f link=0 -f mkdir=3 -f mknod=3 -f rmdir=2 -f symlink=3 -f truncate=4 -f write=10 -f creat=10 -f unlink=5 -f rename=5 -f fsync=10 -p 10 -n 10000 -l 0 -d $MNT &
+ RANDOM=`date '+%s'`
+ rand=$[($RANDOM % 540) + 60]
+ echo Start sleep: $rand seconds
+ sleep $rand
+
+ echo Reboot now
+ check_stop
+ echo b > /proc/sysrq-trigger
+ ;;
+stop)
+ killall -9 fsstress
+ echo 1 > /tmp/stop
+ ;;
+esac
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/f2fs-tools/scripts/tracepoint.sh new/f2fs-tools/scripts/tracepoint.sh
--- old/f2fs-tools/scripts/tracepoint.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/f2fs-tools/scripts/tracepoint.sh 2013-11-24 12:32:49.000000000 +0100
@@ -0,0 +1,59 @@
+#!/bin/bash
+
+TRACE=/sys/kernel/debug/tracing/
+dev=$(((8<<20) + 17)) # sdb1 (8,17)
+
+echo 1 > tracing_on
+
+# block tracepoints
+echo "dev == $dev" > $TRACE/events/block/block_rq_complete/filter
+echo 1 > $TRACE/events/block/block_rq_complete/enable
+echo 0 > $TRACE/events/block/block_bio_complete/enable
+
+# GC
+G=0
+echo $G > $TRACE/events/f2fs/f2fs_get_victim/enable
+
+# block allocation
+A=0
+echo $A > $TRACE/events/f2fs/f2fs_reserve_new_block/enable
+
+# block truncation
+T=0
+echo $T > $TRACE/events/f2fs/f2fs_truncate/enable
+echo $T > $TRACE/events/f2fs/f2fs_truncate_inode_blocks_enter/enable
+echo $T > $TRACE/events/f2fs/f2fs_truncate_inode_blocks_exit/enable
+echo $T > $TRACE/events/f2fs/f2fs_truncate_blocks_enter/enable
+echo $T > $TRACE/events/f2fs/f2fs_truncate_blocks_exit/enable
+echo $T > $TRACE/events/f2fs/f2fs_truncate_nodes_enter/enable
+echo $T > $TRACE/events/f2fs/f2fs_truncate_nodes_exit/enable
+echo $T > $TRACE/events/f2fs/f2fs_truncate_data_blocks_range/enable
+echo $T > $TRACE/events/f2fs/f2fs_truncate_node/enable
+echo $T > $TRACE/events/f2fs/f2fs_truncate_partial_nodes/enable
+
+# syscalls
+S=0
+echo $S > $TRACE/events/f2fs/f2fs_unlink_enter/enable
+echo $S > $TRACE/events/f2fs/f2fs_unlink_exit/enable
+echo $S > $TRACE/events/f2fs/f2fs_fallocate/enable
+echo $S > $TRACE/events/f2fs/f2fs_get_data_block/enable
+
+# IOs
+R=0
+W=0
+echo $W > $TRACE/events/f2fs/f2fs_submit_write_page/enable
+echo $W > $TRACE/events/f2fs/f2fs_do_submit_bio/enable
+echo $R > $TRACE/events/f2fs/f2fs_readpage/enable
+
+# VFS interfaces
+V=0
+echo $V > $TRACE/events/f2fs/f2fs_iget/enable
+echo $V > $TRACE/events/f2fs/f2fs_iget_exit/enable
+echo $V > $TRACE/events/f2fs/f2fs_new_inode/enable
+echo $V > $TRACE/events/f2fs/f2fs_evict_inode/enable
+echo $V > $TRACE/events/f2fs/f2fs_sync_file_enter/enable
+echo $V > $TRACE/events/f2fs/f2fs_sync_file_exit/enable
+echo $V > $TRACE/events/f2fs/f2fs_write_checkpoint/enable
+echo $V > $TRACE/events/f2fs/f2fs_sync_fs/enable
+
+cat $TRACE/trace_pipe
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package cdemu-client for openSUSE:Factory checked in at 2013-12-02 07:20:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cdemu-client (Old)
and /work/SRC/openSUSE:Factory/.cdemu-client.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cdemu-client"
Changes:
--------
--- /work/SRC/openSUSE:Factory/cdemu-client/cdemu-client.changes 2013-06-11 09:25:57.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.cdemu-client.new/cdemu-client.changes 2013-12-02 07:20:45.000000000 +0100
@@ -1,0 +2,6 @@
+Sun Nov 24 11:31:22 UTC 2013 - jengelh(a)inai.de
+
+- Update to new upstream release 2.1.1
+* added handling of bad sector verification option
+
+-------------------------------------------------------------------
Old:
----
cdemu-client-2.1.0.tar.bz2
New:
----
cdemu-client-2.1.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cdemu-client.spec ++++++
--- /var/tmp/diff_new_pack.tbU1Qq/_old 2013-12-02 07:20:45.000000000 +0100
+++ /var/tmp/diff_new_pack.tbU1Qq/_new 2013-12-02 07:20:45.000000000 +0100
@@ -17,7 +17,7 @@
Name: cdemu-client
-Version: 2.1.0
+Version: 2.1.1
Release: 0
Summary: Command-line client to control cdemu-daemon
License: GPL-2.0+
++++++ cdemu-client-2.1.0.tar.bz2 -> cdemu-client-2.1.1.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-client-2.1.0/CMakeLists.txt new/cdemu-client-2.1.1/CMakeLists.txt
--- old/cdemu-client-2.1.0/CMakeLists.txt 2013-06-07 21:33:47.000000000 +0200
+++ new/cdemu-client-2.1.1/CMakeLists.txt 2013-09-19 00:09:40.000000000 +0200
@@ -9,7 +9,6 @@
include (GNUInstallDirs)
# Options
-option (BUILD_NLS "Support for multiple languages" on)
option (POST_INSTALL_HOOKS "Run post-install hooks" on)
# If install prefix is /usr, override the sysconf dir to be /etc instead of /usr/etc
@@ -28,7 +27,6 @@
endif ()
# Installation
-
install (
PROGRAMS src/cdemu
DESTINATION ${CMAKE_INSTALL_BINDIR}
@@ -56,8 +54,15 @@
)
endif ()
-if (BUILD_NLS AND GETTEXT_FOUND)
- # We use the version provided by our FindIntlTool.cmake instead of the gettext version...
- intltool_process_po_files(${PROJECT_SOURCE_DIR}/po ${PROJECT_NAME})
-endif ()
-
+# Translations; we use the version provided by our FindIntlTool.cmake
+# instead of the gettext version...
+intltool_process_po_files(${PROJECT_SOURCE_DIR}/po ${PROJECT_NAME})
+
+# *** Configuration summary ***
+message(STATUS "")
+message(STATUS "*** CDEmu client configuration summary ***")
+message(STATUS "Installation:")
+message(STATUS " install prefix: " ${CMAKE_INSTALL_PREFIX})
+message(STATUS "Options:")
+message(STATUS " run post-install hooks: " ${POST_INSTALL_HOOKS})
+message(STATUS "")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-client-2.1.0/README new/cdemu-client-2.1.1/README
--- old/cdemu-client-2.1.0/README 2013-06-07 21:33:47.000000000 +0200
+++ new/cdemu-client-2.1.1/README 2013-09-19 00:09:40.000000000 +0200
@@ -1,5 +1,5 @@
CDEmu client
-2.1.0
+2.1.1
~~~~~
Table of Contents:
@@ -97,6 +97,9 @@
Enabling transfer rate emulation on first device:
cdemu tr-emulation 0 1
+Enabling bad sector emulation on first device:
+ cdemu bad-sector-emulation 0 1
+
Changing device ID of first device:
cdemu device-id 0 "MyVendor" "MyProduct" "1.0.0" "Test device ID"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-client-2.1.0/debian/changelog new/cdemu-client-2.1.1/debian/changelog
--- old/cdemu-client-2.1.0/debian/changelog 2013-06-07 21:33:47.000000000 +0200
+++ new/cdemu-client-2.1.1/debian/changelog 2013-09-19 00:09:40.000000000 +0200
@@ -1,5 +1,5 @@
-cdemu-client (2.1.0-1ubuntu0~raring1~ppa1) raring; urgency=low
+cdemu-client (2.1.1-1ubuntu0~raring1~ppa1) raring; urgency=low
* Initial Release. Closes: (LP: #105452, LP: #184657)
- -- Henrik Stokseth <henrik(a)hshq.net> Fri, 31 May 2013 12:00:00 +0100
+ -- Henrik Stokseth <henrik(a)hshq.net> Wed, 18 Sep 2013 12:00:00 +0100
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-client-2.1.0/man/cdemu.1 new/cdemu-client-2.1.1/man/cdemu.1
--- old/cdemu-client-2.1.0/man/cdemu.1 2013-06-07 21:33:47.000000000 +0200
+++ new/cdemu-client-2.1.1/man/cdemu.1 2013-09-19 00:09:40.000000000 +0200
@@ -1,4 +1,4 @@
-.TH CDEMU 1 "Jan 4, 2013"
+.TH CDEMU 1 "Jul 14, 2013"
.SH NAME
cdemu \- a simple command-line CDEmu client
.SH SYNOPSIS
@@ -114,6 +114,11 @@
desired device, or \fIall\fR. \fBnew-value\fR is the new value to be set.
If this argument is ommited, currently set value is displayed.
.TP
+.B bad-sector-emulation <device> [new-value]
+Displays/sets bad sector emulation flag. \fBdevice\fR is the number of the
+desired device, or \fIall\fR. \fBnew-value\fR is the new value to be set.
+If this argument is ommited, currently set value is displayed.
+.TP
.B device-id <device> [new-vendor-id] [new-product-id] [new-revision] [new-vendor-specific]
Displays/sets device ID. \fBdevice\fR is the number of the desired device.
\fBnew-vendor-id\fR is the new vendor ID string to be set (8 characters max).
@@ -174,6 +179,9 @@
.B Enabling transfer rate emulation on first device:
cdemu tr-emulation 0 1
.TP
+.B Enabling bad sector emulation on first device:
+cdemu tr-emulation 0 1
+.TP
.B Changing device ID of first device:
cdemu device-id 0 "MyVendor" "MyProduct" "1.0.0" "Test device ID"
.TP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-client-2.1.0/src/cdemu new/cdemu-client-2.1.1/src/cdemu
--- old/cdemu-client-2.1.0/src/cdemu 2013-06-07 21:33:47.000000000 +0200
+++ new/cdemu-client-2.1.1/src/cdemu 2013-09-19 00:09:40.000000000 +0200
@@ -2,7 +2,7 @@
# -*- coding: utf-8 -*-
#
# cdemu: command line CDEmu client
-# Copyright (C) 2006-2012 Rok Mandeljc
+# Copyright (C) 2006-2013 Rok Mandeljc
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -35,8 +35,8 @@
# *** Globals ***
app_name = "cdemu-client"
-app_version = "2.1.0"
-supported_daemon_interface_version = 5
+app_version = "2.1.1"
+supported_daemon_interface_version = 6
# I18n
@@ -554,7 +554,7 @@
print(_("Transfer rate emulation flag of device %i: %i") % (device, enabled))
- # Set DPM emulation flag
+ # Set TR emulation flag
elif len(arguments) == 2:
try:
enabled = int(arguments[1], 0) and True or False
@@ -592,6 +592,80 @@
return False
return True
+
+ def cmd_bad_sector_emulation (self, arguments):
+ # Get bad sector emulation flag
+ if len(arguments) == 1:
+ # Particular device vs. all devices
+ if arguments[0] == "all":
+ try:
+ nr_devices = self.dbus_iface.GetNumberOfDevices()
+ except dbus.DBusException as e:
+ self.print_error(_("Failed to get number of devices: %s") % (e))
+ return False
+
+ print(_("Devices' bad sector emulation flag:"))
+ print("%-5s %-10s" % (_("DEV"), _("ENABLED")))
+
+ for device in range(0, nr_devices):
+ try:
+ enabled = self.dbus_iface.DeviceGetOption(device, "bad-sector-emulation")
+ except dbus.DBusException as e:
+ self.print_error(_("Failed to get bad sector emulation flag of device %i: %s") % (device, e))
+ continue
+
+ print("%-5s %i" % (device, enabled))
+ else:
+ try:
+ device = int(arguments[0], 0)
+ enabled = self.dbus_iface.DeviceGetOption(device, "bad-sector-emulation")
+ except dbus.DBusException as e:
+ self.print_error(_("Failed to get bad sector emulation flag of device %i: %s") % (device, e))
+ return False
+ except ValueError:
+ self.print_error(_("String '%s' is not a number") % (arguments[0]))
+ return False
+
+ print(_("Bad sector emulation flag of device %i: %i") % (device, enabled))
+
+ # Set bad sector emulation flag
+ elif len(arguments) == 2:
+ try:
+ enabled = int(arguments[1], 0) and True or False
+ except ValueError:
+ self.print_error(_("String '%s' is not a number") % (arguments[1]))
+ return False
+ if arguments[0] == "all":
+ try:
+ nr_devices = self.dbus_iface.GetNumberOfDevices()
+ except dbus.DBusException as e:
+ self.print_error(_("Failed to get number of devices: %s") % (e))
+ return False
+
+ print(_("Setting bad sector emulation flag of all devices to %i.") % (enabled))
+ for device in range(0, nr_devices):
+ try:
+ self.dbus_iface.DeviceSetOption(device, "bad-sector-emulation", enabled)
+ except dbus.DBusException as e:
+ self.print_error(_("Failed to set bad sector emulation flag of device %i to %i: %s") % (device, enabled, e))
+ continue
+ else:
+ try:
+ device = int(arguments[0], 0)
+ except ValueError:
+ self.print_error(_("String '%s' is not a number") % (arguments[0]))
+ return False
+ print(_("Setting bad sector emulation flag of device %i to %i.") % (device, enabled))
+ try:
+ self.dbus_iface.DeviceSetOption(device, "bad-sector-emulation", enabled)
+ except dbus.DBusException as e:
+ self.print_error(_("Failed to set bad sector emulation flag of device %i to %i: %s") % (device, enabled, e))
+ return False
+ else:
+ self.print_invalid_number_of_parameters("bad-sector-emulation")
+ return False
+
+ return True
def cmd_device_id (self, arguments):
# Get device ID
@@ -913,6 +987,11 @@
_("displays/sets transfer rate emulation flag"),
cmd_tr_emulation
], [
+ "bad-sector-emulation",
+ _("<device> [new value]"),
+ _("displays/sets bad sector emulation flag"),
+ cmd_bad_sector_emulation
+ ], [
"device-id",
_("<device> [new vendor_id] [new product_id] [new revision] [new vendor_specific]"),
_("displays/sets device ID"),
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package calligra for openSUSE:Factory checked in at 2013-12-02 07:20:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/calligra (Old)
and /work/SRC/openSUSE:Factory/.calligra.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "calligra"
Changes:
--------
--- /work/SRC/openSUSE:Factory/calligra/calligra.changes 2013-10-18 13:31:02.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.calligra.new/calligra.changes 2013-12-02 07:20:38.000000000 +0100
@@ -1,0 +2,40 @@
+Thu Nov 28 01:53:22 UTC 2013 - hrvoje.senjan(a)gmail.com
+
+- Update to 2.7.5
+ * Common
+ - Fixed kde#326158: the text color in the modebox tab icons were
+ not drawn accoring to style.
+ - Make spellchinking work with more dictionaries.
+ - Fixed kde#290999: make sure we erase an old selection in another
+ textshape whenever we make a new selection.
+ - Fixed crashes: kde#326243 and kde#325547.
+ - Fixed a crash while saving embedded documents like charts.
+ * Kexi
+ - Fixed kde#327995: Make changes to query design reflected in
+ reports after saving
+ - Fixed kde#327993: Make records in reports sorted according to
+ the sorting of the query
+ - If –driver is missing but connection options specified,
+ display a note and exit
+ - Fixed kde#319432: Fixed crash when using command line
+ “kexi –dbdriver postgresql”
+ - Fixed regression in password dialog.
+ * Krita
+ - Fixed untranslatable strings.
+ - Fixed crash on malformed pdf.
+ - Fixed fullscreen in canvas-only mode in Krita.
+ - Fixed kde#321100: do not write the implicitely written
+ “mimetype” entry a 2nd time on saving kra files (and thus
+ avoid assumed bug in KZip)
+ * Plan
+ - Set First Day of Week to Monday if using ISO Week
+ for week numbering
+ - Fixed crash in Plan on loading work packages into gantt view.
+ * Sheets
+ - Update mimetypes for the CSV export to make it work.
+ - Fixed kde#298155: Fix a crash when using array values and
+ make array values render correctly when used
+ - Fixed kde#178172 and kde#181576: fix text to columns.
+ - Don’t fail loading a file when the comments fail to load.
+
+-------------------------------------------------------------------
Old:
----
calligra-2.7.4.tar.xz
New:
----
calligra-2.7.5.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ calligra.spec ++++++
--- /var/tmp/diff_new_pack.kkLUAD/_old 2013-12-02 07:20:41.000000000 +0100
+++ /var/tmp/diff_new_pack.kkLUAD/_new 2013-12-02 07:20:41.000000000 +0100
@@ -17,7 +17,7 @@
Name: calligra
-Version: 2.7.4
+Version: 2.7.5
Release: 0
Summary: Libraries and Base Files for the KDE Office Suite
License: GPL-2.0+ and LGPL-2.1+ and GFDL-1.2
++++++ calligra-2.7.4.tar.xz -> calligra-2.7.5.tar.xz ++++++
/work/SRC/openSUSE:Factory/calligra/calligra-2.7.4.tar.xz /work/SRC/openSUSE:Factory/.calligra.new/calligra-2.7.5.tar.xz differ: char 28, line 1
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package bindfs for openSUSE:Factory checked in at 2013-12-02 07:19:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/bindfs (Old)
and /work/SRC/openSUSE:Factory/.bindfs.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bindfs"
Changes:
--------
--- /work/SRC/openSUSE:Factory/bindfs/bindfs.changes 2013-08-23 11:07:39.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.bindfs.new/bindfs.changes 2013-12-02 07:19:39.000000000 +0100
@@ -1,0 +2,6 @@
+Sun Nov 24 11:14:15 UTC 2013 - jengelh(a)inai.de
+
+- Update to new upstream release 1.12.3
+* Implement fuse_utimens instead of fuse_utime
+
+-------------------------------------------------------------------
Old:
----
bindfs-1.12.2.tar.xz
New:
----
bindfs-1.12.3.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ bindfs.spec ++++++
--- /var/tmp/diff_new_pack.wEUzFp/_old 2013-12-02 07:19:40.000000000 +0100
+++ /var/tmp/diff_new_pack.wEUzFp/_new 2013-12-02 07:19:40.000000000 +0100
@@ -17,23 +17,23 @@
Name: bindfs
-Version: 1.12.2
+Version: 1.12.3
Release: 0
Summary: Mount Directories to other Locations and alter Permission Bits
License: GPL-2.0+
Group: System/Filesystems
-Url: http://code.google.com/p/bindfs/
+Url: http://bindfs.org/
#Git-Clone: git://github.com/mpartel/bindfs
-#DL-URL: http://bindfs.org/downloads/bindfs-1.12.2.tar.gz
+#DL-URL: http://bindfs.org/downloads/bindfs-1.12.3.tar.gz
Source: %name-%version.tar.xz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: pkgconfig
BuildRequires: xz
%if 0%{?suse_version} >= 1140 || 0%{?fedora_version}
-BuildRequires: pkgconfig(fuse) >= 2.5.3
+BuildRequires: pkgconfig(fuse) >= 2.6.0
%else
-BuildRequires: fuse-devel >= 2.5.3
+BuildRequires: fuse-devel >= 2.6.0
%endif
%description
++++++ bindfs-1.12.2.tar.xz -> bindfs-1.12.3.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bindfs-1.12.2/.gitignore new/bindfs-1.12.3/.gitignore
--- old/bindfs-1.12.2/.gitignore 2013-07-22 10:17:18.000000000 +0200
+++ new/bindfs-1.12.3/.gitignore 2013-09-23 22:59:23.000000000 +0200
@@ -34,6 +34,7 @@
src/bindfs
tests/readdir_inode
+tests/utimens_nofollow
tests/*.log
tests/internals/test_internals
tests/internals/*.log
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bindfs-1.12.2/ChangeLog new/bindfs-1.12.3/ChangeLog
--- old/bindfs-1.12.2/ChangeLog 2013-07-22 10:17:18.000000000 +0200
+++ new/bindfs-1.12.3/ChangeLog 2013-09-23 22:59:23.000000000 +0200
@@ -1,7 +1,19 @@
+2013-09-23 Martin Pärtel <martin dot partel at gmail dot com>
+
+ * Use `utimensat` to support settings mtime/atime on symlinks,
+ and with nanosecond precision.
+ * Any "utime" errors when untarring with a modern version of `tar`
+ should now be fixed.
+ * Time modifications seem to no longer get caught in FUSE's
+ attribute cache.
+ * Now using FUSE API version 26.
+ * Released 1.12.3
+
2013-07-22 Martin Pärtel <martin dot partel at gmail dot com>
* Added --chmod-filter, contributed by Anton Ageev. Thanks!
* Released 1.12.2
+ * Project home page is now bindfs.org
2013-05-08 Martin Pärtel <martin dot partel at gmail dot com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bindfs-1.12.2/README new/bindfs-1.12.3/README
--- old/bindfs-1.12.2/README 2013-07-22 10:17:18.000000000 +0200
+++ new/bindfs-1.12.3/README 2013-09-23 22:59:23.000000000 +0200
@@ -1,5 +1,5 @@
-bindfs - http://code.google.com/p/bindfs/
+bindfs - http://bindfs.org/
-- Overview --
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bindfs-1.12.2/configure new/bindfs-1.12.3/configure
--- old/bindfs-1.12.2/configure 2013-07-22 10:17:22.000000000 +0200
+++ new/bindfs-1.12.3/configure 2013-09-23 22:59:27.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for bindfs 1.12.2.
+# Generated by GNU Autoconf 2.68 for bindfs 1.12.3.
#
# Report bugs to <martin.partel(a)gmail.com>.
#
@@ -570,8 +570,8 @@
# Identity of this package.
PACKAGE_NAME='bindfs'
PACKAGE_TARNAME='bindfs'
-PACKAGE_VERSION='1.12.2'
-PACKAGE_STRING='bindfs 1.12.2'
+PACKAGE_VERSION='1.12.3'
+PACKAGE_STRING='bindfs 1.12.3'
PACKAGE_BUGREPORT='martin.partel(a)gmail.com'
PACKAGE_URL=''
@@ -1302,7 +1302,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures bindfs 1.12.2 to adapt to many kinds of systems.
+\`configure' configures bindfs 1.12.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1372,7 +1372,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of bindfs 1.12.2:";;
+ short | recursive ) echo "Configuration of bindfs 1.12.3:";;
esac
cat <<\_ACEOF
@@ -1484,7 +1484,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-bindfs configure 1.12.2
+bindfs configure 1.12.3
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1762,7 +1762,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by bindfs $as_me 1.12.2, which was
+It was created by bindfs $as_me 1.12.3, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -2578,7 +2578,7 @@
# Define the identity of the package.
PACKAGE='bindfs'
- VERSION='1.12.2'
+ VERSION='1.12.3'
cat >>confdefs.h <<_ACEOF
@@ -11240,7 +11240,7 @@
LDFLAGS="${LDFLAGS} -framework CoreFoundation"
fi
-my_CPPFLAGS="-D_REENTRANT -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=25"
+my_CPPFLAGS="-D_REENTRANT -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=26"
my_CFLAGS="$my_CFLAGS -Wall"
my_LDFLAGS="-pthread"
@@ -11403,12 +11403,12 @@
pkg_cv_fuse_CFLAGS="$fuse_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fuse >= 2.5.3\""; } >&5
- ($PKG_CONFIG --exists --print-errors "fuse >= 2.5.3") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fuse >= 2.6.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "fuse >= 2.6.0") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_fuse_CFLAGS=`$PKG_CONFIG --cflags "fuse >= 2.5.3" 2>/dev/null`
+ pkg_cv_fuse_CFLAGS=`$PKG_CONFIG --cflags "fuse >= 2.6.0" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -11420,12 +11420,12 @@
pkg_cv_fuse_LIBS="$fuse_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fuse >= 2.5.3\""; } >&5
- ($PKG_CONFIG --exists --print-errors "fuse >= 2.5.3") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fuse >= 2.6.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "fuse >= 2.6.0") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_fuse_LIBS=`$PKG_CONFIG --libs "fuse >= 2.5.3" 2>/dev/null`
+ pkg_cv_fuse_LIBS=`$PKG_CONFIG --libs "fuse >= 2.6.0" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -11446,14 +11446,14 @@
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- fuse_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "fuse >= 2.5.3" 2>&1`
+ fuse_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "fuse >= 2.6.0" 2>&1`
else
- fuse_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "fuse >= 2.5.3" 2>&1`
+ fuse_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "fuse >= 2.6.0" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$fuse_PKG_ERRORS" >&5
- as_fn_error $? "Package requirements (fuse >= 2.5.3) were not met:
+ as_fn_error $? "Package requirements (fuse >= 2.6.0) were not met:
$fuse_PKG_ERRORS
@@ -12022,7 +12022,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by bindfs $as_me 1.12.2, which was
+This file was extended by bindfs $as_me 1.12.3, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -12088,7 +12088,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-bindfs config.status 1.12.2
+bindfs config.status 1.12.3
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bindfs-1.12.2/configure.ac new/bindfs-1.12.3/configure.ac
--- old/bindfs-1.12.2/configure.ac 2013-07-22 10:17:18.000000000 +0200
+++ new/bindfs-1.12.3/configure.ac 2013-09-23 22:59:23.000000000 +0200
@@ -1,4 +1,4 @@
-AC_INIT([bindfs],[1.12.2],[martin.partel(a)gmail.com])
+AC_INIT([bindfs],[1.12.3],[martin.partel(a)gmail.com])
AM_INIT_AUTOMAKE([foreign])
AM_CONFIG_HEADER(config.h)
@@ -31,7 +31,7 @@
LDFLAGS="${LDFLAGS} -framework CoreFoundation"
fi
-my_CPPFLAGS="-D_REENTRANT -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=25"
+my_CPPFLAGS="-D_REENTRANT -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=26"
my_CFLAGS="$my_CFLAGS -Wall"
my_LDFLAGS="-pthread"
AC_SUBST([my_CPPFLAGS])
@@ -43,7 +43,7 @@
AC_CHECK_FUNCS([lsetxattr lgetxattr llistxattr lremovexattr])
# Check for fuse
-PKG_CHECK_MODULES([fuse], [fuse >= 2.5.3])
+PKG_CHECK_MODULES([fuse], [fuse >= 2.6.0])
AC_CONFIG_FILES([Makefile \
src/Makefile \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bindfs-1.12.2/releasescript/.gitignore new/bindfs-1.12.3/releasescript/.gitignore
--- old/bindfs-1.12.2/releasescript/.gitignore 2013-07-22 10:17:18.000000000 +0200
+++ new/bindfs-1.12.3/releasescript/.gitignore 2013-09-23 22:59:23.000000000 +0200
@@ -1,5 +1,2 @@
/bindfs-*.tar.gz
-/bindfs.1
-/bindfs.1.html
-/bindfs-ChangeLog.txt
-/bindfs-help.txt
+/docs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bindfs-1.12.2/releasescript/makerelease.sh new/bindfs-1.12.3/releasescript/makerelease.sh
--- old/bindfs-1.12.2/releasescript/makerelease.sh 2013-07-22 10:17:18.000000000 +0200
+++ new/bindfs-1.12.3/releasescript/makerelease.sh 2013-09-23 22:59:23.000000000 +0200
@@ -36,11 +36,12 @@
tar cvzf "bindfs-${VERSION}.tar.gz" "bindfs-$VERSION"
# Get the change log and man-page
-cp "bindfs-$VERSION/ChangeLog" ./bindfs-ChangeLog.txt
-cp "bindfs-$VERSION/src/bindfs.1" ./bindfs.1
+mkdir -p ./docs
+cp "bindfs-$VERSION/ChangeLog" ./docs/ChangeLog.utf8.txt
+cp "bindfs-$VERSION/src/bindfs.1" ./docs/bindfs.1
# Create the HTML man page
-rman -f HTML -r "" bindfs.1 > bindfs.1.html
+rman -f HTML -r "" docs/bindfs.1 > docs/bindfs.1.html
# Compile the source
pushd "bindfs-$VERSION"
@@ -49,14 +50,11 @@
popd
# Get the bindfs --help text
-"bindfs-$VERSION/src/bindfs" --help > bindfs-help.txt
+"bindfs-$VERSION/src/bindfs" --help > docs/bindfs-help.txt
# Copy products to original dir
cp -r "bindfs-$VERSION.tar.gz" \
- bindfs-ChangeLog.txt \
- bindfs.1 \
- bindfs.1.html \
- bindfs-help.txt \
+ docs \
"$OUTPUTDIR/"
# Clean up and we're done
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bindfs-1.12.2/src/bindfs.1 new/bindfs-1.12.3/src/bindfs.1
--- old/bindfs-1.12.2/src/bindfs.1 2013-07-22 10:17:18.000000000 +0200
+++ new/bindfs-1.12.3/src/bindfs.1 2013-09-23 22:59:23.000000000 +0200
@@ -370,10 +370,8 @@
permissions on new files. For this reason, as of version 1.11
bindfs runs in single-threaded mode by default.
-Please report bugs to the issue tracker on the project home page at
-\fBhttp://code.google.com/p/bindfs/\fP
-Send patches as pull requests to \fBhttps://github.com/mpartel/bindfs\fP or
-by e-mail to \fBmartin dot partel at gmail dot com\fP.
+Please report bugs and/or send pull requests to
+\fBhttps://github.com/mpartel/bindfs/issues\fP.
.SH DEPRECATIONS
@@ -392,5 +390,5 @@
.SH SEE ALSO
-\fBchmod\fP(1), \fBfusermount\fP(1)
+\fBchmod\fP(1), \fBfusermount\fP(1), \fBhttp://bindfs.org/\fP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bindfs-1.12.2/src/bindfs.c new/bindfs-1.12.3/src/bindfs.c
--- old/bindfs-1.12.2/src/bindfs.c 2013-07-22 10:17:18.000000000 +0200
+++ new/bindfs-1.12.3/src/bindfs.c 2013-09-23 22:59:23.000000000 +0200
@@ -31,8 +31,8 @@
#include <config.h>
-/* For pread/pwrite and readdir_r */
-#define _XOPEN_SOURCE 500
+/* For >= 500 for pread/pwrite and readdir_r; >= 700 for utimensat */
+#define _XOPEN_SOURCE 700
#include <stdlib.h>
#include <stddef.h>
@@ -177,7 +177,7 @@
static int bindfs_truncate(const char *path, off_t size);
static int bindfs_ftruncate(const char *path, off_t size,
struct fuse_file_info *fi);
-static int bindfs_utime(const char *path, struct utimbuf *buf);
+static int bindfs_utimens(const char *path, const struct timespec tv[2]);
static int bindfs_create(const char *path, mode_t mode, struct fuse_file_info *fi);
static int bindfs_open(const char *path, struct fuse_file_info *fi);
static int bindfs_read(const char *path, char *buf, size_t size, off_t offset,
@@ -690,13 +690,13 @@
return 0;
}
-static int bindfs_utime(const char *path, struct utimbuf *buf)
+static int bindfs_utimens(const char *path, const struct timespec tv[2])
{
int res;
path = process_path(path);
- res = utime(path, buf);
+ res = utimensat(settings.mntsrc_fd, path, tv, AT_SYMLINK_NOFOLLOW);
if (res == -1)
return -errno;
@@ -906,7 +906,7 @@
.chown = bindfs_chown,
.truncate = bindfs_truncate,
.ftruncate = bindfs_ftruncate,
- .utime = bindfs_utime,
+ .utimens = bindfs_utimens,
.create = bindfs_create,
.open = bindfs_open,
.read = bindfs_read,
@@ -1597,7 +1597,7 @@
/* fuse_main will daemonize by fork()'ing. The signal handler will persist. */
setup_signal_handling();
- fuse_main_return = fuse_main(args.argc, args.argv, &bindfs_oper);
+ fuse_main_return = fuse_main(args.argc, args.argv, &bindfs_oper, NULL);
fuse_opt_free_args(&args);
close(settings.mntsrc_fd);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bindfs-1.12.2/tests/Makefile.am new/bindfs-1.12.3/tests/Makefile.am
--- old/bindfs-1.12.2/tests/Makefile.am 2013-07-22 10:17:18.000000000 +0200
+++ new/bindfs-1.12.3/tests/Makefile.am 2013-09-23 22:59:23.000000000 +0200
@@ -1,6 +1,7 @@
-noinst_PROGRAMS = readdir_inode
+noinst_PROGRAMS = readdir_inode utimens_nofollow
readdir_inode_SOURCES = readdir_inode.c
+utimens_nofollow_SOURCES = utimens_nofollow.c
TESTS = test_bindfs.rb
SUBDIRS = internals
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bindfs-1.12.2/tests/Makefile.in new/bindfs-1.12.3/tests/Makefile.in
--- old/bindfs-1.12.2/tests/Makefile.in 2013-07-22 10:17:23.000000000 +0200
+++ new/bindfs-1.12.3/tests/Makefile.in 2013-09-23 22:59:28.000000000 +0200
@@ -34,7 +34,7 @@
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-noinst_PROGRAMS = readdir_inode$(EXEEXT)
+noinst_PROGRAMS = readdir_inode$(EXEEXT) utimens_nofollow$(EXEEXT)
subdir = tests
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -49,6 +49,9 @@
am_readdir_inode_OBJECTS = readdir_inode.$(OBJEXT)
readdir_inode_OBJECTS = $(am_readdir_inode_OBJECTS)
readdir_inode_LDADD = $(LDADD)
+am_utimens_nofollow_OBJECTS = utimens_nofollow.$(OBJEXT)
+utimens_nofollow_OBJECTS = $(am_utimens_nofollow_OBJECTS)
+utimens_nofollow_LDADD = $(LDADD)
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -62,8 +65,8 @@
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
-SOURCES = $(readdir_inode_SOURCES)
-DIST_SOURCES = $(readdir_inode_SOURCES)
+SOURCES = $(readdir_inode_SOURCES) $(utimens_nofollow_SOURCES)
+DIST_SOURCES = $(readdir_inode_SOURCES) $(utimens_nofollow_SOURCES)
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-dvi-recursive install-exec-recursive \
@@ -229,6 +232,7 @@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
readdir_inode_SOURCES = readdir_inode.c
+utimens_nofollow_SOURCES = utimens_nofollow.c
TESTS = test_bindfs.rb
SUBDIRS = internals
all: all-recursive
@@ -277,6 +281,9 @@
readdir_inode$(EXEEXT): $(readdir_inode_OBJECTS) $(readdir_inode_DEPENDENCIES) $(EXTRA_readdir_inode_DEPENDENCIES)
@rm -f readdir_inode$(EXEEXT)
$(LINK) $(readdir_inode_OBJECTS) $(readdir_inode_LDADD) $(LIBS)
+utimens_nofollow$(EXEEXT): $(utimens_nofollow_OBJECTS) $(utimens_nofollow_DEPENDENCIES) $(EXTRA_utimens_nofollow_DEPENDENCIES)
+ @rm -f utimens_nofollow$(EXEEXT)
+ $(LINK) $(utimens_nofollow_OBJECTS) $(utimens_nofollow_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -285,6 +292,7 @@
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readdir_inode.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utimens_nofollow.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bindfs-1.12.2/tests/test_bindfs.rb new/bindfs-1.12.3/tests/test_bindfs.rb
--- old/bindfs-1.12.2/tests/test_bindfs.rb 2013-07-22 10:17:18.000000000 +0200
+++ new/bindfs-1.12.3/tests/test_bindfs.rb 2013-09-23 22:59:23.000000000 +0200
@@ -371,6 +371,21 @@
assert { File.stat('mnt/dir/file').gid == $nogroup_gid }
end
+root_testenv("", :title => "utimens on symlinks") do
+ touch('mnt/file')
+ Dir.chdir "mnt" do
+ system('ln -sf file link')
+ end
+
+ system("#{$tests_dir}/utimens_nofollow mnt/link 12 34 56 78")
+ raise "Failed to run utimens_nofollow: #{$?.inspect}" unless $?.success?
+
+ assert { File.lstat('mnt/link').atime.to_i < 100 }
+ assert { File.lstat('mnt/link').mtime.to_i < 100 }
+ assert { File.lstat('mnt/file').atime.to_i > 100 }
+ assert { File.lstat('mnt/file').mtime.to_i > 100 }
+end
+
# FIXME: this stuff around testenv is a hax, and testenv may also exit(), which defeats the 'ensure' below.
# the test setup ought to be refactored. It might well use MiniTest or something.
if Process.uid == 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bindfs-1.12.2/tests/utimens_nofollow.c new/bindfs-1.12.3/tests/utimens_nofollow.c
--- old/bindfs-1.12.2/tests/utimens_nofollow.c 1970-01-01 01:00:00.000000000 +0100
+++ new/bindfs-1.12.3/tests/utimens_nofollow.c 2013-09-23 22:59:23.000000000 +0200
@@ -0,0 +1,32 @@
+
+#define _BSD_SOURCE /* For atoll */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <errno.h>
+
+int main(int argc, char* argv[])
+{
+ struct timespec times[2];
+
+ if (argc != 6) {
+ fprintf(stderr, "Usage: utimens_nofollow path atime atime_nsec mtime mtime_nsec\n");
+ return 1;
+ }
+
+ times[0].tv_sec = (time_t)atoll(argv[2]);
+ times[0].tv_nsec = atoll(argv[3]);
+ times[1].tv_sec = (time_t)atoll(argv[4]);
+ times[1].tv_nsec = atoll(argv[5]);
+
+ if (utimensat(AT_FDCWD, argv[1], times, AT_SYMLINK_NOFOLLOW) == -1) {
+ perror("failed to utimensat the given path");
+ return 2;
+ }
+
+ return 0;
+}
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package Test-DVD-x86_64 for openSUSE:Factory checked in at 2013-12-01 09:13:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/Test-DVD-x86_64 (Old)
and /work/SRC/openSUSE:Factory/.Test-DVD-x86_64.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "Test-DVD-x86_64"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ PRODUCT-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.VoRSqc/_old 2013-12-01 09:14:01.000000000 +0100
+++ /var/tmp/diff_new_pack.VoRSqc/_new 2013-12-01 09:14:01.000000000 +0100
@@ -453,7 +453,6 @@
<repopackage name="patterns-openSUSE-enhanced_base"/>
<repopackage name="patterns-openSUSE-fonts"/>
<repopackage name="patterns-openSUSE-sw_management"/>
- <repopackage name="patterns-openSUSE-update_test"/>
<repopackage name="patterns-openSUSE-x11"/>
<repopackage name="patterns-openSUSE-x11_yast"/>
<repopackage name="pciutils"/>
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0