Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 677062 | Differences between
and this patch

Collapse All | Expand All

(-)a/src/sleep/sleep.c (-4 / +10 lines)
Lines 44-53 static int write_hibernate_location_info(void) { Link Here
44
        if (r < 0)
44
        if (r < 0)
45
                return log_debug_errno(r, "Unable to find hibernation location: %m");
45
                return log_debug_errno(r, "Unable to find hibernation location: %m");
46
46
47
        /* if it's a swap partition, we just write the disk to /sys/power/resume */
47
        /* if it's a swap partition, we just write the disk to /sys/power/resume, convert it to major:minor id */
48
        if (streq(type, "partition"))
48
        if (streq(type, "partition")) {
49
                return write_string_file("/sys/power/resume", device, 0);
49
                if (stat( device, &stb) == -1) {
50
        else if (!streq(type, "file"))
50
                        return log_debug_errno(EINVAL, "Error while trying to get stats for %s",
51
                                               device);
52
    		}
53
		char buffer [DECIMAL_STR_MAX(uint)*2+1];
54
		sprintf(buffer, "%u:%u",major(stb.st_rdev) , minor(stb.st_rdev) );
55
		return write_string_file("/sys/power/resume", buffer, 0);
56
	}else if (!streq(type, "file"))
51
                return log_debug_errno(EINVAL, "Invalid hibernate type %s: %m",
57
                return log_debug_errno(EINVAL, "Invalid hibernate type %s: %m",
52
                                       type);
58
                                       type);
53
59

Return to bug 677062