Ryan Lovett | 8 Apr 2013 23:44
Picon
Favicon

stalling

With star 1.5.2 on the latest Solaris 10, we are seeing star appear to
stall in the middle of dumping a ZFS snapshot to tape. Attaching dtruss,
iosnoop, and opensnoop to the affected process shows no activity. We
invoke star with:

  star -C /path/to/.zfs/snapshot/20130407 -c -S -acl artype=exustar \
	-sparse -time -xdev \
	-multivol -wtardumps -new-volume-script=/usr/local/sbin/mtx-next \
	errctl=/usr/local/etc/star-errctl.conf \
	-not pat=*/.Trash/* pat=*/.cache/* pat=*/.thumbnails/* pat=*/.nfs* \
	level=0 fs-name=/path/to blocks=512 file=/dev/rmt/1cn .

I don't believe it is a problem with the tape device since we can kill the
hanging star and run another (on another filesystem) right after which
runs to completion.

Does anything above suggest why the star process stalls or waits?

How can one debug this further?

Thanks for your time,
Ryan
Lasse Kliemann | 27 Feb 2013 18:35

Re: exclude directories

* Message by -Ashley- from Wed 2013-02-27:

> DIRECTORIES="/home/zelda "

>         $TAR -c -P -f $BACKUPTO $DIRECTORIES --exclude-from $EXCL_LIST

> The exclude file:
> ##############################################################################
> home/zelda/data
> home/zelda/Stuffs
> ##############################################################################

Change to

/home/zelda/data
/home/zelda/Stuffs

or use

DIRECTORIES="home/zelda "

in combination with -C /
Ashley | 25 Feb 2013 22:29
Picon
Favicon

exclude directories

Hi there

How can I exclude a few directories?
I have tried using --exclude-from $EXCL_LIST  and listed the directories in the said file, but
this does not work?

Thank you in advance!!


--
Untitled Document

Many thanx
Best regards
Ashley


_______________________________________________
Star-users mailing list
Star-users <at> lists.berlios.de
https://lists.berlios.de/mailman/listinfo/star-users
Ashley | 9 Jan 2013 10:25
Picon
Favicon

--one-file-system

Hi there

I am using "mount --bind ..." in order to give ftp users access to specific folders they need, outside of
their home folder. So multiple mounts to the same /data/ folder 

Problem is now when I backup it includes multiple copies of these folders.

Does star have a "--one-file-system " equivalent, or do I need to make a list
of all the folders mounted with the bind option and put these in an Exclude list?

Any other suggestions will be much appreciated!

Thank You in advance!

--
Untitled Document

Many thanx
Best regards
Ashley


_______________________________________________
Star-users mailing list
Star-users <at> lists.berlios.de
https://lists.berlios.de/mailman/listinfo/star-users
James R. Chavez | 23 Dec 2012 09:07

Span filesystem across two tapes

Hi,

I have been struggling with my Ufsdump backups for some time now.
Regardless of the blocksize i use I see very little improvement in
speed. I have been looking for a replacement and there are a few
threads out there that claim star is much faster. I have a few file
systems that span multiple LTO tapes. Currently I use ufsdump to span
these large filesystems across multiple takes in a script. I would
like to use star so I have been reading the man page on how to span
tapes and I see "-multivol". However this seems to be an interactive
only option.

Note that  -multivol  is  an  interactive  option  that
          prevents   star  from  being  used  in  non-interactive
          environments.   If  you  like  to  use  it  in  a  non-
          interactive    environment,   you   need   to   specify
          new-volume-script=script in addition in order to  auto-
          mate the media change procedure.

So my question,can anyone on the list share how I can use star tospan
a large filesystem across multiple tapes?

Thanks
Jimmy
CONFIDENTIALITY
This e-mail message and any attachments thereto, is intended only for use by the addressee(s) named herein
and may contain legally privileged and/or confidential information. If you are not the intended
recipient of this e-mail message, you are hereby notified that any dissemination, distribution or
copying of this e-mail message, and any attachments thereto, is strictly prohibited.  If you have
received this e-mail message in error, please immediately notify the sender and permanently delete the
original and any copies of this email and any prints thereof.
ABSENT AN EXPRESS STATEMENT TO THE CONTRARY HEREINABOVE, THIS E-MAIL IS NOT INTENDED AS A SUBSTITUTE FOR A
WRITING.  Notwithstanding the Uniform Electronic Transactions Act or the applicability of any other law
of similar substance and effect, absent an express statement to the contrary hereinabove, this e-mail
message its contents, and any attachments hereto are not intended to represent an offer or acceptance to
enter into a contract and are not otherwise intended to bind the sender, Sanmina Corporation (or any of its
subsidiaries), or any other person or entity.
Ashley | 6 Nov 2012 14:08
Picon
Favicon

star segmentation fault

Hi there

I am running star 1.5.1-4.fc13.i686 on Fedora 13

If I use either tsize or multivol option I get "Segmentation fault (core dumped)"

Any help or advise will be much appreciated!!
Thank you in advance!


--
Untitled Document

Many thanx
Best regards
Ashley


_______________________________________________
Star-users mailing list
Star-users <at> lists.berlios.de
https://lists.berlios.de/mailman/listinfo/star-users
Ruud Baart | 24 Jun 2011 09:11
Picon
Favicon

Problem compiling star on Debian squeeze

I have compiled star many times in different Debian systems. After 
downloading the needed dev-packages and after first compiling smake I 
usually manage to compile star without problems. On Debian Squeeze (the 
latest version of Debian) I can't compile star. Any help would be nice.

This is the error:

In file included from avoffset.c:32:
../include/schily/schily.h:246: error: conflicting types for ‘getline’
/usr/include/stdio.h:651: note: previous declaration of ‘getline’ was here

When I remove the definition of getline in schily.h I get other similar 
errors. After I have removed all other conflicting declarations, smake 
fails to compile star because the definitions are not correct.

I attach the output of smake (perhaps the list refuses attachements). 
This is the result without modifying any include file.

-- 

Regards,

Ruud Baart

	==> MAKING DIRECTORY "incs"
Trying to find cc
Found cc
Creating empty 'incs/Dcc.i686-linux', using cc as default compiler
	==> MAKING DIRECTORY "incs/i686-linux-cc/Inull"
	==> CONFIGURING RULES "incs/i686-linux-cc/rules.cnf"
creating cache ./config.cache
checking host system type... i686-pc-linux-gnu
checking if /bin/sh is bash... yes
checking for object suffix... o
checking for Cygwin environment... no
checking for mingw32 environment... no
checking for EMX/OS2 environment... no
checking for executable suffix... no
checking for executable calling suffix... no
checking how to run the C preprocessor... cc -E
checking for ranlib... ranlib
checking whether make sets ${MAKE}... yes
checking for ANSI C header files... yes
checking for UNIX-98 compliant inttypes.h... yes
checking for dirent.h that defines DIR... yes
checking for opendir in -ldir... no
checking whether stat file-mode macros are broken... no
checking whether time.h and sys/time.h may both be included... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking if select needs nonstd include files... no
checking if sys/select.h is needed for select... no
checking if sys/socket.h is needed for select... no
checking for stdio.h... yes
checking for varargs.h... no
checking for stdarg.h... yes
checking for stdlib.h... yes
checking for stddef.h... yes
checking for string.h... yes
checking for strings.h... yes
checking for unistd.h... yes
checking for fcntl.h... yes
checking for sys/file.h... yes
checking for getopt.h... yes
checking for limits.h... yes
checking for a.out.h... yes
checking for aouthdr.h... no
checking for elf.h... yes
checking for malloc.h... yes
checking for sgtty.h... yes
checking for termios.h... yes
checking for termio.h... yes
checking for pwd.h... yes
checking for grp.h... yes
checking for sys/acl.h... yes
checking for acllib.h... no
checking for acl/libacl.h... yes
checking for signal.h... yes
checking for siginfo.h... no
checking for sys/siginfo.h... no
checking for ucontext.h... yes
checking for shadow.h... yes
checking for syslog.h... yes
checking for sys/time.h... yes
checking for sys/times.h... yes
checking for utime.h... yes
checking for sys/utime.h... no
checking for sys/ioctl.h... yes
checking for sys/filio.h... no
checking for sys/param.h... yes
checking for sys/systeminfo.h... no
checking for sys/sysctl.h... yes
checking for sys/syscall.h... yes
checking for mach/machine.h... no
checking for mntent.h... yes
checking for sys/mntent.h... no
checking for sys/mnttab.h... no
checking for sys/mount.h... yes
checking for wait.h... yes
checking for sys/resource.h... yes
checking for procfs.h... no
checking for sys/procfs.h... yes
checking for sys/utsname.h... yes
checking for sys/priocntl.h... no
checking for sys/rtpriocntl.h... no
checking for sys/procset.h... no
checking for sys/mtio.h... yes
checking for sys/tape.h... no
checking for sys/mman.h... yes
checking for linux/pg.h... yes
checking for camlib.h... no
checking for sys/shm.h... yes
checking for sys/ipc.h... yes
checking for sys/dkio.h... no
checking for sys/dklabel.h... no
checking for sun/dkio.h... no
checking for sun/dklabel.h... no
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for types.h... no
checking for stat.h... no
checking for sys/stypes.h... no
checking for sys/filedesc.h... no
checking for poll.h... yes
checking for sys/poll.h... yes
checking for sys/select.h... yes
checking for netdb.h... yes
checking for sys/socket.h... yes
checking for netinet/in.h... yes
checking for stropts.h... yes
checking for ieeefp.h... no
checking for fp.h... no
checking for values.h... yes
checking for float.h... yes
checking for arpa/inet.h... yes
checking for bsd/dev/scsireg.h... no
checking for sys/bsdtty.h... no
checking for linux/types.h... yes
checking for linux/gfp.h... no
checking for asm/types.h... yes
checking for OS.h... no
checking for ext2fs/ext2_fs.h... yes
checking for attr/xattr.h... yes
checking for crt_externs.h... no
checking for fnmatch.h... yes
checking for libintl.h... yes
checking for locale.h... yes
checking for langinfo.h... yes
checking for nl_types.h... yes
checking for wctype.h... yes
checking for wchar.h... yes
checking for iconv.h... yes
checking for priv.h... no
checking for exec_attr.h... no
checking for secdb.h... no
checking for direct.h... no
checking for pthread.h... yes
checking for thread.h... no
checking for header file containing  major(), minor() and makedev()... sys/sysmacros.h
checking bits in minor device number... 32
checking whether bits in minor device numbers are non contiguous... yes
checking for _filbuf()... no
checking for __filbuf()... no
checking for USG derived STDIO... no
checking for errno definition in errno.h... yes
checking for sys_siglist definition in signal.h... yes
checking for working const... yes
checking whether byte ordering is bigendian... no
checking whether bitorder in bitfields is htol... no
checking return type of signal handlers... void
checking for uid_t in sys/types.h... yes
checking type of array argument to getgroups... gid_t
checking for type long long... yes
checking for type __int64... no
checking for prototypes... yes
checking if compiler allows dynamic arrays... yes
checking for uid_t in sys/types.h... (cached) yes
checking for size_t... yes
checking for ssize_t... yes
checking for pid_t... yes
checking for off_t... yes
checking for mode_t... yes
checking for time_t... yes
checking for caddr_t... yes
checking for daddr_t... yes
checking for dev_t... yes
checking for major_t... no
checking for minor_t... no
checking for ino_t... yes
checking for nlink_t... yes
checking for blksize_t... no
checking for blkcnt_t... yes
checking for clock_t... yes
checking for socklen_t... yes
checking for greg_t... no
checking if stack_t is declared in signal.h... yes
checking if siginfo_t is declared in signal.h... yes
checking for u_char... yes
checking for u_short... yes
checking for u_int... yes
checking for u_long... yes
checking size of char... 1
checking size of short int... 2
checking size of int... 4
checking size of long int... 4
checking size of long long... 8
checking size of __int64... 0
checking size of char *... 4
checking size of unsigned char... 1
checking size of unsigned short int... 2
checking size of unsigned int... 4
checking size of unsigned long int... 4
checking size of unsigned long long... 8
checking size of unsigned __int64... 0
checking size of unsigned char *... 4
checking size of time_t... 4
checking if char is unsigned... no
checking if va_list is an array... no
checking for struct timeval in time.h or sys/time.h... yes
checking for struct timezone in time.h or sys/time.h... yes
checking if struct mtget contains mt_type... yes
checking if struct mtget contains mt_model... no
checking if struct mtget contains mt_dsreg... yes
checking if struct mtget contains mt_dsreg1... no
checking if struct mtget contains mt_dsreg2... no
checking if struct mtget contains mt_gstat... yes
checking if struct mtget contains mt_erreg... yes
checking if struct mtget contains mt_resid... yes
checking if struct mtget contains mt_fileno... yes
checking if struct mtget contains mt_blkno... yes
checking if struct mtget contains mt_flags... no
checking if struct mtget contains mt_bf... no
checking if struct rusage is declared in sys/resource.h... yes
checking if struct siginfo contains si_utime... no
checking if struct sockaddr_storage is declared in socket.h... yes
checking if an illegal declaration for union semun in sys/sem.h exists... no
checking if union wait is declared in wait.h or sys/wait.h... yes
checking if struct stat contains st_spare1... no
checking if struct stat contains st_atimensec... no
checking if struct stat contains st_atim.tv_nsec... yes
checking if struct stat contains st_atim.st__tim.tv_nsec... no
checking if struct stat contains st_atimespec.tv_nsec... no
checking for st_blksize in struct stat... yes
checking for st_blocks in struct stat... yes
checking if struct stat contains st_fstype... no
checking if struct stat contains st_aclcnt... no
checking for st_rdev in struct stat... yes
checking if struct stat contains st_flags... no
checking if struct dirent contains d_ino... yes
checking if DIR * contains dd_fd... no
checking if struct utsname contains processor... no
checking if struct utsname contains sysname_host... no
checking if struct utsname contains release_host... no
checking if struct utsname contains version_host... no
checking if stat is declared... yes
checking if lstat is declared... yes
checking for wait3 that fills in rusage... yes
checking for mlock... yes
checking for mlockall... yes
checking for va_copy... yes
checking for __va_copy... yes
checking for working ecvt() ... yes
checking for working fcvt() ... yes
checking for working gcvt() ... yes
checking for __dtoa... no
checking for __dtoa that needs result ptr... no
checking for unistd.h... (cached) yes
checking for getpagesize... yes
checking for mmap that needs ptr to size... no
checking for unistd.h... (cached) yes
checking for getpagesize... (cached) yes
checking for working mmap... yes
checking for unistd.h... (cached) yes
checking for getpagesize... (cached) yes
checking for mmap that needs ptr to size... (cached) no
checking if mmap works to get shared memory... yes
checking for working alloca.h... yes
checking for alloca... yes
checking if quotactl is an ioctl... no
checking for file locking via fcntl... yes
checking for uname... yes
checking for vfork.h... no
checking for working vfork... yes
checking for sys_siglist... yes
checking for BSD compliant getpgrp... no
checking for BSD compliant setpgrp... no
checking for C99 compliant isinf... yes
checking for C99 compliant isnan... yes
checking for sigsetjmp... yes
checking for siglongjmp... yes
checking for access... yes
checking for eaccess... yes
checking for euidaccess... yes
checking for memchr... yes
checking for memcpy... yes
checking for memmove... yes
checking for memset... yes
checking for brk... yes
checking for sbrk... yes
checking for strerror... yes
checking for nice... yes
checking for flock... yes
checking for lockf... yes
checking for fchdir... yes
checking for statvfs... yes
checking for quotactl... yes
checking for realpath... yes
checking for resolvepath... no
checking for dup... yes
checking for dup2... yes
checking for getcwd... yes
checking for shmat... yes
checking for semget... yes
checking for lstat... yes
checking for readlink... yes
checking for symlink... yes
checking for link... yes
checking for rename... yes
checking for mkfifo... yes
checking for mknod... yes
checking for setreuid... yes
checking for setresuid... yes
checking for seteuid... yes
checking for setuid... yes
checking for setregid... yes
checking for setresgid... yes
checking for setegid... yes
checking for setgid... yes
checking for getuid... yes
checking for geteuid... yes
checking for getgid... yes
checking for getegid... yes
checking for getpid... yes
checking for getppid... yes
checking for getpgid... yes
checking for setpgid... yes
checking for getsid... yes
checking for setsid... yes
checking for getpgrp... yes
checking for setpgrp... yes
checking for getspnam... yes
checking for getspwnam... no
checking for sync... yes
checking for fsync... yes
checking for fork... yes
checking for wait... yes
checking for wait4... yes
checking for waitid... yes
checking for waitpid... yes
checking for getrusage... yes
checking for getrlimit... yes
checking for setrlimit... yes
checking for ulimit... yes
checking for execl... yes
checking for execle... yes
checking for execlp... yes
checking for execv... yes
checking for execve... yes
checking for execvp... yes
checking for getexecname... no
checking for gethostid... yes
checking for gethostname... yes
checking for getdomainname... yes
checking for getpagesize... (cached) yes
checking for getdtablesize... yes
checking for gettimeofday... yes
checking for settimeofday... yes
checking for time... yes
checking for stime... yes
checking for gethrtime... no
checking for ftime... yes
checking for tzset... yes
checking for mktime... yes
checking for gmtime... yes
checking for localtime... yes
checking for timegm... yes
checking for timelocal... yes
checking for ctime... yes
checking for cftime... no
checking for ascftime... no
checking for strftime... yes
checking for poll... yes
checking for select... yes
checking for isastream... yes
checking for chown... yes
checking for fchown... yes
checking for lchown... yes
checking for chmod... yes
checking for fchmod... yes
checking for lchmod... no
checking for times... yes
checking for utime... yes
checking for utimes... yes
checking for futimes... yes
checking for lutimes... yes
checking for ecvt_r... yes
checking for fcvt_r... yes
checking for gcvt_r... no
checking for econvert... no
checking for fconvert... no
checking for gconvert... no
checking for isinf... yes
checking for isnan... yes
checking for rand... yes
checking for drand48... yes
checking for strtol... yes
checking for strtoll... yes
checking for strtoul... yes
checking for strtoull... yes
checking for strtod... yes
checking for setpriority... yes
checking for DosSetPriority... no
checking for DosAllocSharedMem... no
checking for seekdir... yes
checking for fdopendir... yes
checking for openat... yes
checking for fstatat... yes
checking for fchownat... yes
checking for futimesat... yes
checking for renameat... yes
checking for unlinkat... yes
checking for attropen... no
checking for __accessat... no
checking for mkdirat... yes
checking for faccessat... yes
checking for fchmodat... yes
checking for linkat... yes
checking for mkfifoat... yes
checking for mknodat... yes
checking for readlinkat... yes
checking for symlinkat... yes
checking for popen... yes
checking for pclose... yes
checking for _popen... no
checking for _pclose... no
checking for strsignal... yes
checking for str2sig... no
checking for sig2str... no
checking for kill... yes
checking for killpg... yes
checking for signal... yes
checking for sigrelse... yes
checking for sigprocmask... yes
checking for sigsetmask... yes
checking for sigset... yes
checking for sleep... yes
checking for usleep... yes
checking for yield... no
checking for tcgetattr... yes
checking for tcsetattr... yes
checking for tcgetpgrp... yes
checking for tcsetpgrp... yes
checking for putenv... yes
checking for setenv... yes
checking for snprintf... yes
checking for strcasecmp... yes
checking for strncpy... yes
checking for strlcpy... no
checking for strdup... yes
checking for valloc... yes
checking for madvise... yes
checking for mktemp... yes
checking for mkstemp... yes
checking for chflags... no
checking for fchflags... no
checking for fflagstostr... no
checking for strtofflags... no
checking for fnmatch... yes
checking for truncate... yes
checking for ftruncate... yes
checking for getppriv... no
checking for setppriv... no
checking for priv_set... no
checking for setlocale... yes
checking for localeconv... yes
checking for nl_langinfo... yes
checking for clone_area... no
checking for create_area... no
checking for delete_area... no
checking if dirfd is defined or function... yes
checking if we may not define our own malloc()... no
checking for working extern long timezone ... yes
checking if link() allows hard links on symlinks... yes
checking if link() does not folow symlinks... yes
checking for unistd.h... (cached) yes
checking if access() does implement E_OK... no
checking for fseeko()... yes
checking for ftello()... yes
checking for rcmd in -lsocket... no
checking for inet_ntoa in -lnsl... yes
checking for rcmd... yes
checking for socket... yes
checking for socketpair... yes
checking for getservbyname... yes
checking for inet_ntoa... yes
checking for getaddrinfo... yes
checking for getnameinfo... yes
checking for res_init in -lc... no
checking for res_init in -lresolv... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 64
checking for _LARGE_FILES value needed for large files... no
checking for _LARGEFILE_SOURCE value needed for large files... no
checking if system supports Large Files at all... yes
checking for crypt in -lc... no
checking for crypt in -lcrypt... yes
checking for crypt... yes
checking for gettext in -lc... yes
checking for gettext... yes
checking for iconv_open in -lc... yes
checking for iconv... yes
checking for iconv_open... yes
checking for iconv_close... yes
checking for libiconv... no
checking for libiconv_open... no
checking for libiconv_close... no
checking for Posix Access Control List support
checking for acl_get_file in -lacl... yes
checking for acl_get_file in -lpacl... no
checking for acl_get_file... yes
checking for acl_set_file... yes
checking for acl_from_text... yes
checking for acl_to_text... yes
checking for acl_free... yes
checking for acl_delete_def_file... yes
checking for acl_extended_file... yes
checking for Solaris Access Control List support
checking for acltotext in -lsec... no
checking for acl... no
checking for facl... no
checking for aclfromtext... no
checking for acltotext... no
checking for HP-UX Access Control List support
checking for getacl... no
checking for fgetacl... no
checking for setacl... no
checking for fsetacl... no
checking for strtoacl... no
checking for acltostr... no
checking for cpacl... no
checking for fcpacl... no
checking for chownacl... no
checking for setaclentry... no
checking for fsetaclentry... no
checking for Linux flavor Extended Attribute support
checking for getxattr in -lattr... yes
checking for getxattr... yes
checking for setxattr... yes
checking for listxattr... yes
checking for lgetxattr... yes
checking for lsetxattr... yes
checking for llistxattr... yes
checking for RBAC support
checking for getuserattr in -lsecdb... no
checking for getauthattr... no
checking for getuserattr... no
checking for getexecattr... no
checking for getprofattr... no
checking for gmatch() support
checking for gmatch in -lgen... no
checking for gmatch... no
checking for thr_yield... no
checking for pthread_create in -lpthread... yes
checking for pthread_create... yes
checking for pthread_kill... yes
checking for pthread_mutex_lock... yes
checking for pthread_cond_wait... yes
checking for pthread_spin_lock... yes
checking for clock_gettime in -lc... no
checking for clock_gettime in -lrt... yes
checking for clock_gettime... yes
checking for clock_settime... yes
checking for clock_getres... yes
checking for sched_getparam... yes
checking for sched_setparam... yes
checking for sched_getscheduler... yes
checking for sched_setscheduler... yes
checking for sched_yield... yes
checking for nanosleep... yes
checking for /dev/tty... yes
checking for /dev/null... yes
checking for /dev/zero... yes
checking if Linux include file linux/ext2_fs.h is broken... yes
checking if Linux include file /usr/src/linux/include/linux/ext2_fs.h is broken... yes
checking if Linux include file scsi/scsi.h is broken... no
checking if Linux include file /usr/src/linux/include/scsi/scsi.h is broken... yes
checking if Linux include file scsi/sg.h is broken... no
checking if Linux include file /usr/src/linux/include/scsi/sg.h is broken... no

Warning: *** /usr/src/linux/include contains broken include files ***
Warning: *** /usr/src/linux/include is not used this reason ***
Warning: This may result in the inability to use recent Linux kernel interfaces

Warning: *** linux/ext2_fs.h is not usable at all ***
Warning: *** This makes it impossible to support Linux file flags ***
You may try to compile using 'make COPTX=-DTRY_EXT2_FS'

updating cache ./config.cache
creating ./config.status
creating rules.cnf
creating xconfig.h
	==> MAKING "all" ON SUBDIRECTORY "SRCROOT/conf"
	==> MAKING "all" ON SUBDIRECTORY "SRCROOT/inc"
	==> MAKING "all" ON SUBCOMPONENT "SRCROOT/inc/align_test.mk"
	==> MAKING DIRECTORY "OBJ/i686-linux-cc"
	==> MAKING DEPENDENCIES "align_test.d"
	==> COMPILING "align_test.o"
	==> LINKING "OBJ/i686-linux-cc/align_test"
	==> GENERATING include file "../incs/i686-linux-cc/align.h"
	==> MAKING "all" ON SUBCOMPONENT "SRCROOT/inc/avoffset.mk"
	==> MAKING DEPENDENCIES "avoffset.d"
	==> COMPILING "avoffset.o"
In file included from avoffset.c:32:
../include/schily/schily.h:246: error: conflicting types for ‘getline’
/usr/include/stdio.h:651: note: previous declaration of ‘getline’ was here
/opt/schily/bin/smake: Operation not permitted. *** Code 1 from command line for target 'avoffset.o'.
/opt/schily/bin/smake: The following command caused the error:
echo "	==> COMPILING \"avoffset.o\""; gcc   -O   -DSCHILY_BUILD -IOBJ/i686-linux-cc
-I../incs/i686-linux-cc -I../include   -DUSE_SCANSTACK -D__OPRINTF__  -c -o
OBJ/i686-linux-cc/avoffset.o avoffset.c  
/opt/schily/bin/smake: Couldn't make 'all'.
/opt/schily/bin/smake: Leaving  '/opt/schily/bin/smake'[2] from directory '/usr/local/src/star-1.5/inc'
/opt/schily/bin/smake: Default commandline target: 'all'
/opt/schily/bin/smake: Doing                       exit(1)
/opt/schily/bin/smake: Operation not permitted. *** Code 1 from command line for target 'all'.
/opt/schily/bin/smake: The following command caused the error:
 for MK in align_test.mk avoffset.mk ;					\
	do								\
		(							\
		if [ -r ./$MK ] ; then			\
			echo "	==> MAKING \"all\" ON SUBCOMPONENT \"SRCROOT/inc/$MK\""; "/opt/schily/bin/smake" -f $MK 
XARCH=i686-linux-cc all;\
		else							\
			echo "NOTICE: Partial source (SRCROOT/inc/$MK) missing";\
		fi							\
		);							\
	done
/opt/schily/bin/smake: Couldn't make 'all'.
/opt/schily/bin/smake: Leaving  '/opt/schily/bin/smake'[1] from directory '/usr/local/src/star-1.5/inc'
/opt/schily/bin/smake: Default commandline target: 'all'
/opt/schily/bin/smake: Doing                       exit(1)
/opt/schily/bin/smake: Operation not permitted. *** Code 1 from command line for target 'all'.
/opt/schily/bin/smake: The following command caused the error:
list="";							\
	if [ -d TARGETS -a -f TARGETS/__slot ]; then				\
		list=`echo TARGETS/[0-9][0-9]* | sed -e 's;TARGETS/[0-9][0-9];;g' | sed -e 's;! <at> !;/;g'`;\
	fi;									\
	for DIR in ${list} ;							\
	do									\
		(								\
		echo "	==> MAKING \"all\" ON SUBDIRECTORY \"SRCROOT/$DIR\"";\
		if [ -d ./$DIR -a -r ./$DIR/Makefile ] ; then			\
			cd ./$DIR;"/opt/schily/bin/smake"  XARCH=i686-linux-cc DIRNAME=SRCROOT/$DIR all;		\
		else								\
			echo "NOTICE: Partial source (SRCROOT/$DIR) missing";\
		fi								\
		);								\
	done
/opt/schily/bin/smake: Couldn't make 'all'.
...sh conf/cc-config.sh cc cc incs/Dcc.i686-linux
_______________________________________________
Star-users mailing list
Star-users <at> lists.berlios.de
https://lists.berlios.de/mailman/listinfo/star-users
Lasse Kliemann | 13 Jun 2011 18:55

Buffer overflow in name_to_tcb

Compiled star with CFLAGS="-D_FORTIFY_SOURCE=2 -O2" on GCC 4.5.3, 
Glibc 2.13, Linux 2.6.39.1. Then created a file with a long name 
(100 characters) and tried to pack it up:

$ mkdir test
$ cd test
$ touch 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
$ star -c f=../test.tar .
*** buffer overflow detected ***: /tmp/schily-2011-06-05/star/OBJ/i686-linux-cc/star terminated
======= Backtrace: =========
/usr/lib/libc.so.6(__fortify_fail+0x40)[0xb77a17d0]
/usr/lib/libc.so.6(+0xe37ea)[0xb779f7ea]
/usr/lib/libc.so.6(__strcpy_chk+0x3f)[0xb779eb3f]
/tmp/schily-2011-06-05/star/OBJ/i686-linux-cc/star[0x8070c84]
/tmp/schily-2011-06-05/star/OBJ/i686-linux-cc/star[0x80610cf]
/tmp/schily-2011-06-05/star/OBJ/i686-linux-cc/star[0x8061f71]
/tmp/schily-2011-06-05/star/OBJ/i686-linux-cc/star[0x806217e]
/tmp/schily-2011-06-05/star/OBJ/i686-linux-cc/star[0x804c14b]
/tmp/schily-2011-06-05/star/OBJ/i686-linux-cc/star[0x8051b4b]
/usr/lib/libc.so.6(__libc_start_main+0xe6)[0xb76d2de6]
/tmp/schily-2011-06-05/star/OBJ/i686-linux-cc/star[0x804a591]
[ ... snip ... ]

I tracked this down to line 158 in longnames.c, i.e.,
  strcpy(ptb->dbuf.t_name, name);

A look in star.h tells that t_name is only NAMSIZ long, which is 100.

So something is not going well here.

The problem may have been there for a long time, but recent GCCs 
appear to be more strict with FORTIFY_SOURCE. I recently switched 
from 4.3.x to 4.5.x.
_______________________________________________
Star-users mailing list
Star-users <at> lists.berlios.de
https://lists.berlios.de/mailman/listinfo/star-users
markk | 15 Mar 2011 13:34
Picon

Feature requests related to sparse files

Hi,

Here are a couple of suggestions relating to star's support for sparse files.

1. Allow -force-hole to apply to archive creation, not just extraction.

The -force-hole option tells star to extract all files from an archive
sparsely. That is, for files in the archive which contain regions of
all-zero bytes, star creates corresponding holes in the output files.

The advantage of doing that is the sparse files created occupy less disk
space and are faster to work with. (Reading holes is very fast since no
actual disk I/O is needed.) However, -force-hole only applies on archive
extraction, not creation.

Suppose you have some non-sparse files which have large all-zero regions.
You want to archive them efficiently. What you'd like to happen, is for
star to scan the files for all-zero regions, and archive them as sparse
files. The tar archive will thus be much smaller, and future extraction
much faster. The archive will likely be more compressible and compression
will be faster.

The -sparse option has no effect, since it applies only to files which are
already sparse. As a workaround, you could create sparse copies like this:
  $ mv bigfile bigfile.old
  $ cp --archive --sparse=always bigfile.old bigfile ; rm bigfile.old
Then archive those using -sparse. But that wastes time and (temporarily)
disk space. Allowing -force-hole to apply to archive creation would solve
this problem.

2. Add an option to have star create the archive file sparsely

There may be cases where you don't want to archive files sparsely, perhaps
for interchange with tar implementations on other systems. However, it
would still be possible to reduce the disk space used by the archive. When
creating an archive, where the output is a normal file (not a fifo, tape
or stdout), star could write the archive sparsely. For each chunk of data
to be written to the archive file, star would check if it is all-zero; if
so seek forward in the archive instead of actually writing the data.

In some cases that could be a big performance win; imagine archiving a
file with large all-zero regions, where the archive file is on the same
disk as the source file. Since no disk I/O is needed to write the all-zero
regions in the .tar archive, disk thrashing would be much reduced.

Mark
markk | 3 Mar 2011 20:12
Picon

star tape I/O suggestion

Hi,

The default blocking factor of star (and other tar programs) is 20, so
data is written in chunks of 10240 bytes.

While using that small a tape block size allows for wider interchange,
writing one block at a time gives lower performance than necessary. When
writing to tape, the user can set fixed block size mode, e.g. by doing
  mt -f /dev/nst0 setblk 10240

Each tape I/O can then be a multiple of the block size, rather than a
single block. On my system the Linux kernel imposes an arbitrary limit on
I/O length of 512KB. But that would still allow each I/O to be of 51
10240-byte blocks.

It would thus improve performance if star were able to, when writing to
tape, write in chunks of 51 blocks (in this example). The final write
would be for a lower number of blocks. The same could apply for reading
from tape.
markk | 1 Mar 2011 19:22
Picon

star issue when creating archives

Hi,

I'm writing to report a possible star bug/issue/misfeature. (I'm using
star 1.5 on Linux.)

When creating an archive which is a normal file, if the archive file
already exists it is silently overwritten, but the file length is not
changed. So stale/old data remains at the end of the archive when the
amount of data written is less than the old archive length.

By comparison, GNU tar also overwrites the file silently, but truncates it
so no stale data remains at the end.

I think it would be preferable to by default print a message saying the
archive already exists and exit. If the user overrides that, star should
truncate the (existing) archive file so no previous data remains.

To demonstrate the problem, try this (where file1 and file2 are any files):
  star -v -c f=archive.tar file1 file2
  ls -l archive.tar
  star -v -c f=archive.tar file2
  ls -l archive.tar
  star -v -t f=archive.tar

Compare with doing:
  tar -vcf gnu_archive.tar file1 file2
  ls -l gnu_archive.tar
  tar -vcf gnu_archive.tar file2
  ls -l gnu_archive.tar
  tar -vtf gnu_archive.tar

Mark

Gmane