mirror of
https://github.com/systemd/systemd
synced 2025-11-08 11:24:45 +01:00
Compare commits
No commits in common. "72528419e1aeab7cc2f9fe8e11fed2fd15778068" and "dc084399fad28cc98e7bcdb9074141c97e863bee" have entirely different histories.
72528419e1
...
dc084399fa
@ -105,14 +105,20 @@ sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:pnT300CHI*
|
|||||||
ACCEL_MOUNT_MATRIX=0, -1, 0; 1, 0, 0; 0, 0, 1
|
ACCEL_MOUNT_MATRIX=0, -1, 0; 1, 0, 0; 0, 0, 1
|
||||||
|
|
||||||
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:*pnT100TA*
|
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:*pnT100TA*
|
||||||
|
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
|
||||||
|
|
||||||
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:pnT200TA*
|
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:pnT200TA*
|
||||||
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
|
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
|
||||||
|
|
||||||
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:*pnTP201SA*
|
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:*pnTP201SA*
|
||||||
|
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
||||||
|
|
||||||
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:pn*E205SA*
|
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:pn*E205SA*
|
||||||
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
||||||
|
|
||||||
sensor:modalias:acpi:INVN6500*:dmi:*svn*ASUSTeK*:*pn*TP300LA*
|
sensor:modalias:acpi:INVN6500*:dmi:*svn*ASUSTeK*:*pn*TP300LA*
|
||||||
|
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||||
|
|
||||||
sensor:modalias:acpi:INVN6500*:dmi:*svn*ASUSTeK*:*pn*TP300LD*
|
sensor:modalias:acpi:INVN6500*:dmi:*svn*ASUSTeK*:*pn*TP300LD*
|
||||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||||
|
|
||||||
@ -125,7 +131,6 @@ sensor:modalias:acpi:KXJ2109*:dmi:*:svnASUSTeK*:pnME176C*
|
|||||||
sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP300LJ*
|
sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP300LJ*
|
||||||
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
||||||
|
|
||||||
sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP500LAB*
|
|
||||||
sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP500LB*
|
sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP500LB*
|
||||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||||
|
|
||||||
|
|||||||
@ -247,15 +247,6 @@ int curl_glue_make(CURL **ret, const char *url, void *userdata) {
|
|||||||
if (curl_easy_setopt(c, CURLOPT_FOLLOWLOCATION, 1L) != CURLE_OK)
|
if (curl_easy_setopt(c, CURLOPT_FOLLOWLOCATION, 1L) != CURLE_OK)
|
||||||
return -EIO;
|
return -EIO;
|
||||||
|
|
||||||
if (curl_easy_setopt(c, CURLOPT_NOSIGNAL, 1L) != CURLE_OK)
|
|
||||||
return -EIO;
|
|
||||||
|
|
||||||
if (curl_easy_setopt(c, CURLOPT_LOW_SPEED_TIME, 60L) != CURLE_OK)
|
|
||||||
return -EIO;
|
|
||||||
|
|
||||||
if (curl_easy_setopt(c, CURLOPT_LOW_SPEED_LIMIT, 30L) != CURLE_OK)
|
|
||||||
return -EIO;
|
|
||||||
|
|
||||||
*ret = TAKE_PTR(c);
|
*ret = TAKE_PTR(c);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
#include "alloc-util.h"
|
#include "alloc-util.h"
|
||||||
#include "btrfs-util.h"
|
#include "btrfs-util.h"
|
||||||
|
#include "chattr-util.h"
|
||||||
#include "copy.h"
|
#include "copy.h"
|
||||||
#include "fd-util.h"
|
#include "fd-util.h"
|
||||||
#include "fs-util.h"
|
#include "fs-util.h"
|
||||||
@ -173,7 +174,9 @@ static int raw_import_maybe_convert_qcow2(RawImport *i) {
|
|||||||
if (converted_fd < 0)
|
if (converted_fd < 0)
|
||||||
return log_error_errno(errno, "Failed to create %s: %m", t);
|
return log_error_errno(errno, "Failed to create %s: %m", t);
|
||||||
|
|
||||||
(void) import_set_nocow_and_log(converted_fd, t);
|
r = chattr_fd(converted_fd, FS_NOCOW_FL, FS_NOCOW_FL, NULL);
|
||||||
|
if (r < 0)
|
||||||
|
log_warning_errno(r, "Failed to set file attributes on %s: %m", t);
|
||||||
|
|
||||||
log_info("Unpacking QCOW2 file.");
|
log_info("Unpacking QCOW2 file.");
|
||||||
|
|
||||||
@ -256,7 +259,10 @@ static int raw_import_open_disk(RawImport *i) {
|
|||||||
if (i->output_fd < 0)
|
if (i->output_fd < 0)
|
||||||
return log_error_errno(errno, "Failed to open destination %s: %m", i->temp_path);
|
return log_error_errno(errno, "Failed to open destination %s: %m", i->temp_path);
|
||||||
|
|
||||||
(void) import_set_nocow_and_log(i->output_fd, i->temp_path);
|
r = chattr_fd(i->output_fd, FS_NOCOW_FL, FS_NOCOW_FL, NULL);
|
||||||
|
if (r < 0)
|
||||||
|
log_warning_errno(r, "Failed to set file attributes on %s: %m", i->temp_path);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
#include "alloc-util.h"
|
#include "alloc-util.h"
|
||||||
#include "btrfs-util.h"
|
#include "btrfs-util.h"
|
||||||
|
#include "chattr-util.h"
|
||||||
#include "copy.h"
|
#include "copy.h"
|
||||||
#include "curl-util.h"
|
#include "curl-util.h"
|
||||||
#include "fd-util.h"
|
#include "fd-util.h"
|
||||||
@ -241,7 +242,9 @@ static int raw_pull_maybe_convert_qcow2(RawPull *i) {
|
|||||||
if (converted_fd < 0)
|
if (converted_fd < 0)
|
||||||
return log_error_errno(errno, "Failed to create %s: %m", t);
|
return log_error_errno(errno, "Failed to create %s: %m", t);
|
||||||
|
|
||||||
(void) import_set_nocow_and_log(converted_fd, t);
|
r = chattr_fd(converted_fd, FS_NOCOW_FL, FS_NOCOW_FL, NULL);
|
||||||
|
if (r < 0)
|
||||||
|
log_warning_errno(r, "Failed to set file attributes on %s: %m", t);
|
||||||
|
|
||||||
log_info("Unpacking QCOW2 file.");
|
log_info("Unpacking QCOW2 file.");
|
||||||
|
|
||||||
@ -351,9 +354,13 @@ static int raw_pull_make_local_copy(RawPull *i) {
|
|||||||
if (dfd < 0)
|
if (dfd < 0)
|
||||||
return log_error_errno(errno, "Failed to create writable copy of image: %m");
|
return log_error_errno(errno, "Failed to create writable copy of image: %m");
|
||||||
|
|
||||||
/* Turn off COW writing. This should greatly improve performance on COW file systems like btrfs,
|
/* Turn off COW writing. This should greatly improve
|
||||||
* since it reduces fragmentation caused by not allowing in-place writes. */
|
* performance on COW file systems like btrfs, since it
|
||||||
(void) import_set_nocow_and_log(dfd, tp);
|
* reduces fragmentation caused by not allowing in-place
|
||||||
|
* writes. */
|
||||||
|
r = chattr_fd(dfd, FS_NOCOW_FL, FS_NOCOW_FL, NULL);
|
||||||
|
if (r < 0)
|
||||||
|
log_warning_errno(r, "Failed to set file attributes on %s: %m", tp);
|
||||||
|
|
||||||
r = copy_bytes(i->raw_job->disk_fd, dfd, (uint64_t) -1, COPY_REFLINK);
|
r = copy_bytes(i->raw_job->disk_fd, dfd, (uint64_t) -1, COPY_REFLINK);
|
||||||
if (r < 0) {
|
if (r < 0) {
|
||||||
@ -593,7 +600,10 @@ static int raw_pull_job_on_open_disk_raw(PullJob *j) {
|
|||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
(void) import_set_nocow_and_log(j->disk_fd, i->temp_path);
|
r = chattr_fd(j->disk_fd, FS_NOCOW_FL, FS_NOCOW_FL, NULL);
|
||||||
|
if (r < 0)
|
||||||
|
log_warning_errno(r, "Failed to set file attributes on %s, ignoring: %m", i->temp_path);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -493,21 +493,15 @@ int generator_hook_up_growfs(
|
|||||||
"BindsTo=%%i.mount\n"
|
"BindsTo=%%i.mount\n"
|
||||||
"Conflicts=shutdown.target\n"
|
"Conflicts=shutdown.target\n"
|
||||||
"After=%%i.mount\n"
|
"After=%%i.mount\n"
|
||||||
"Before=shutdown.target %s\n",
|
"Before=shutdown.target %s\n"
|
||||||
program_invocation_short_name,
|
|
||||||
target);
|
|
||||||
|
|
||||||
if (empty_or_root(where)) /* Make sure the root fs is actually writable before we resize it */
|
|
||||||
fprintf(f,
|
|
||||||
"After=systemd-remount-fs.service\n");
|
|
||||||
|
|
||||||
fprintf(f,
|
|
||||||
"\n"
|
"\n"
|
||||||
"[Service]\n"
|
"[Service]\n"
|
||||||
"Type=oneshot\n"
|
"Type=oneshot\n"
|
||||||
"RemainAfterExit=yes\n"
|
"RemainAfterExit=yes\n"
|
||||||
"ExecStart="SYSTEMD_GROWFS_PATH " %s\n"
|
"ExecStart="SYSTEMD_GROWFS_PATH " %s\n"
|
||||||
"TimeoutSec=0\n",
|
"TimeoutSec=0\n",
|
||||||
|
program_invocation_short_name,
|
||||||
|
target,
|
||||||
escaped);
|
escaped);
|
||||||
|
|
||||||
return generator_add_symlink(dir, where_unit, "wants", unit);
|
return generator_add_symlink(dir, where_unit, "wants", unit);
|
||||||
|
|||||||
@ -4,8 +4,6 @@
|
|||||||
|
|
||||||
#include "alloc-util.h"
|
#include "alloc-util.h"
|
||||||
#include "btrfs-util.h"
|
#include "btrfs-util.h"
|
||||||
#include "chattr-util.h"
|
|
||||||
#include "errno-util.h"
|
|
||||||
#include "import-util.h"
|
#include "import-util.h"
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
#include "macro.h"
|
#include "macro.h"
|
||||||
@ -165,15 +163,3 @@ int import_assign_pool_quota_and_warn(const char *path) {
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int import_set_nocow_and_log(int fd, const char *path) {
|
|
||||||
int r;
|
|
||||||
|
|
||||||
r = chattr_fd(fd, FS_NOCOW_FL, FS_NOCOW_FL, NULL);
|
|
||||||
if (r < 0)
|
|
||||||
return log_full_errno(
|
|
||||||
ERRNO_IS_NOT_SUPPORTED(r) ? LOG_DEBUG : LOG_WARNING,
|
|
||||||
r, "Failed to set file attributes on %s: %m", path);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|||||||
@ -23,5 +23,3 @@ int tar_strip_suffixes(const char *name, char **ret);
|
|||||||
int raw_strip_suffixes(const char *name, char **ret);
|
int raw_strip_suffixes(const char *name, char **ret);
|
||||||
|
|
||||||
int import_assign_pool_quota_and_warn(const char *path);
|
int import_assign_pool_quota_and_warn(const char *path);
|
||||||
|
|
||||||
int import_set_nocow_and_log(int fd, const char *path);
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user