Hello community, here is the log from the commit of package hdparm for openSUSE:Factory checked in at Tue Oct 5 22:52:12 CEST 2010. -------- --- hdparm/hdparm.changes 2010-09-24 10:56:51.000000000 +0200 +++ hdparm/hdparm.changes 2010-10-05 11:18:08.000000000 +0200 @@ -1,0 +2,9 @@ +Tue Oct 5 09:17:06 UTC 2010 - puzel@novell.com + +- update to hdparm-9.33 + * fix AHCI issues in sg16(): don't ask for sense_data + on DATA-xfer commands + * fix compiler warnings on old systems + * fixed compilation on old systems lacking __be16 + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- hdparm-9.32.tar.bz2 New: ---- hdparm-9.33.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ hdparm.spec ++++++ --- /var/tmp/diff_new_pack.DWYKFZ/_old 2010-10-05 22:51:44.000000000 +0200 +++ /var/tmp/diff_new_pack.DWYKFZ/_new 2010-10-05 22:51:44.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package hdparm (Version 9.32) +# spec file for package hdparm (Version 9.33) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -24,7 +24,7 @@ PreReq: %insserv_prereq %fillup_prereq coreutils Provides: base:/sbin/hdparm AutoReqProv: on -Version: 9.32 +Version: 9.33 Release: 1 Summary: A Program to get and set hard disk parameters Source: %{name}-%{version}.tar.bz2 ++++++ hdparm-9.32.tar.bz2 -> hdparm-9.33.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hdparm-9.32/Changelog new/hdparm-9.33/Changelog --- old/hdparm-9.32/Changelog 2010-09-24 08:17:44.000000000 +0200 +++ new/hdparm-9.33/Changelog 2010-10-04 21:42:05.000000000 +0200 @@ -1,3 +1,7 @@ +hdparm-9.33 + - fix AHCI issues in sg16(): don't ask for sense_data on DATA-xfer commands + - fix compiler warnings on old systems + - fixed compilation on old systems lacking __be16 hdparm-9.32 - fix b0rked (since 9.27?) SET_FEATURES commands; eg. -B, -M, etc.. hdparm-9.31 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hdparm-9.32/fallocate.c new/hdparm-9.33/fallocate.c --- old/hdparm-9.32/fallocate.c 2009-08-02 22:14:33.000000000 +0200 +++ new/hdparm-9.33/fallocate.c 2010-10-04 21:38:39.000000000 +0200 @@ -22,6 +22,7 @@ int err; #ifndef SYS_fallocate + bytecount = 0; fprintf(stderr, "Error: this copy of hdparm was built without %s support\n", path); err = EINVAL; #else diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hdparm-9.32/geom.c new/hdparm-9.33/geom.c --- old/hdparm-9.32/geom.c 2009-08-18 15:53:44.000000000 +0200 +++ new/hdparm-9.33/geom.c 2010-10-04 21:40:02.000000000 +0200 @@ -123,7 +123,7 @@ if (verbose) perror(path); } else if (S_ISBLK(st.st_mode)) { - if (major(st.st_rdev) == maj && minor(st.st_rdev) == min) { + if (maj == (unsigned)major(st.st_rdev) && min == (unsigned)minor(st.st_rdev)) { closedir(dp); return 0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hdparm-9.32/hdparm.8 new/hdparm-9.33/hdparm.8 --- old/hdparm-9.32/hdparm.8 2010-09-24 08:13:00.000000000 +0200 +++ new/hdparm-9.33/hdparm.8 2010-10-04 21:43:11.000000000 +0200 @@ -1,4 +1,4 @@ -.TH HDPARM 8 "September 2010" "Version 9.32" +.TH HDPARM 8 "October 2010" "Version 9.33" .SH NAME hdparm - get/set SATA/IDE device parameters diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hdparm-9.32/hdparm.c new/hdparm-9.33/hdparm.c --- old/hdparm-9.32/hdparm.c 2010-09-24 08:12:50.000000000 +0200 +++ new/hdparm-9.33/hdparm.c 2010-10-04 21:43:20.000000000 +0200 @@ -35,7 +35,7 @@ extern const char *minor_str[]; -#define VERSION "v9.32" +#define VERSION "v9.33" #ifndef O_DIRECT #define O_DIRECT 040000 /* direct disk access, not easily obtained from headers */ @@ -865,10 +865,9 @@ args[3] = 1; /* sector count */ if (do_drive_cmd(fd, args, 0)) { prefer_ata12 = 0; + memset(args, 0, sizeof(args)); last_identify_op = ATA_OP_PIDENTIFY; args[0] = last_identify_op; - args[1] = 0; - args[2] = 0; args[3] = 1; /* sector count */ if (do_drive_cmd(fd, args, 0)) { perror(" HDIO_DRIVE_CMD(identify) failed"); @@ -1249,7 +1248,7 @@ for (i = 0; i < words; ++i) { __u16 w = idw[i]; - w = (__u16)(__be16)(w); + w = __be16_to_cpu(w); dst[i*2 ] = w >> 8; dst[i*2+1] = w; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hdparm-9.32/hdparm.lsm new/hdparm-9.33/hdparm.lsm --- old/hdparm-9.32/hdparm.lsm 2010-09-24 08:18:35.000000000 +0200 +++ new/hdparm-9.33/hdparm.lsm 2010-10-04 21:42:53.000000000 +0200 @@ -1,8 +1,9 @@ Begin4 Title: hdparm -Version: 9.32 -Entered-date: 2010-09-24 +Version: 9.33 +Entered-date: 2010-10-04 Description: hdparm - get/set hard disk parameters for Linux SATA/IDE drives. + v9.33 Fixed AHCI issues; fixed compilation on older systems v9.32 Fixed various commands broken since 9.27. Eg. -B, -M, etc.. v9.31 Fixed security-erase issues; changed default of --user-master to user v9.30 Restrict LBA range counts for TRIM to what the drive reports it can handle @@ -106,7 +107,7 @@ Maintained-by: mlord@pobox.com (Mark Lord) Primary-site: http://sourceforge.net/projects/hdparm/ Alternate-site: http://www.ibiblio.org/pub/Linux/system/hardware - 117K hdparm-9.32.tar.gz + 117K hdparm-9.33.tar.gz 4K hdparm.lsm Platforms: Linux Copying-policy: BSD License diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hdparm-9.32/sgio.c new/hdparm-9.33/sgio.c --- old/hdparm-9.32/sgio.c 2010-09-24 08:17:01.000000000 +0200 +++ new/hdparm-9.33/sgio.c 2010-10-04 20:47:34.000000000 +0200 @@ -167,7 +167,7 @@ unsigned char cdb[SG_ATA_16_LEN]; unsigned char sb[32], *desc; struct scsi_sg_io_hdr io_hdr; - int prefer12 = prefer_ata12; + int prefer12 = prefer_ata12, demanded_sense = 0; if (tf->command == ATA_OP_PIDENTIFY) prefer12 = 0; @@ -184,10 +184,13 @@ } else { cdb[1] = data ? (rw ? SG_ATA_PROTO_PIO_OUT : SG_ATA_PROTO_PIO_IN) : SG_ATA_PROTO_NON_DATA; } - cdb[ 2] = SG_CDB2_CHECK_COND; + + /* libata/AHCI workaround: don't demand sense data for IDENTIFY commands */ if (data) { cdb[2] |= SG_CDB2_TLEN_NSECT | SG_CDB2_TLEN_SECTORS; cdb[2] |= rw ? SG_CDB2_TDIR_TO_DEV : SG_CDB2_TDIR_FROM_DEV; + } else { + cdb[2] = SG_CDB2_CHECK_COND; } if (!prefer12 || tf->is_lba48) { @@ -277,7 +280,7 @@ static int second_try = 0; if (!second_try++) fprintf(stderr, "SG_IO: questionable sense data, results may be incorrect\n"); - } else { + } else if (demanded_sense) { static int second_try = 0; if (!second_try++) fprintf(stderr, "SG_IO: missing sense data, results may be incorrect\n"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hdparm-9.32/sysfs.c new/hdparm-9.33/sysfs.c --- old/hdparm-9.32/sysfs.c 2008-06-17 01:39:28.000000000 +0200 +++ new/hdparm-9.33/sysfs.c 2010-10-04 21:39:20.000000000 +0200 @@ -103,9 +103,9 @@ sprintf(pathtail, "/%s", entry->d_name); if (sysfs_read_attr(path, "/dev", "%u:%u", &maj, &min, verbose)) min = ~minor(dev); - else if (maj != major(dev)) + else if (maj != (unsigned)major(dev)) continue; - if (min == minor(dev) + if (min == (unsigned)minor(dev) || (recurse && sysfs_find_dev2(path, dev, recurse - 1, verbose) == 0)) { closedir(dp); return 0; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org