Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GalliumOS/linux: Refresh patches to Linux 5.10, the LTS release #5

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 5
PATCHLEVEL = 10
SUBLEVEL = 0
SUBLEVEL = 1
EXTRAVERSION =
NAME = Kleptomaniac Octopus

Expand Down
12 changes: 5 additions & 7 deletions drivers/md/dm-raid.c
Original file line number Diff line number Diff line change
Expand Up @@ -3730,14 +3730,12 @@ static void raid_io_hints(struct dm_target *ti, struct queue_limits *limits)
blk_limits_io_opt(limits, chunk_size_bytes * mddev_data_stripes(rs));

/*
* RAID10 personality requires bio splitting,
* RAID0/1/4/5/6 don't and process large discard bios properly.
* RAID1 and RAID10 personalities require bio splitting,
* RAID0/4/5/6 don't and process large discard bios properly.
*/
if (rs_is_raid10(rs)) {
limits->discard_granularity = max(chunk_size_bytes,
limits->discard_granularity);
limits->max_discard_sectors = min_not_zero(rs->md.chunk_sectors,
limits->max_discard_sectors);
if (rs_is_raid1(rs) || rs_is_raid10(rs)) {
limits->discard_granularity = chunk_size_bytes;
limits->max_discard_sectors = rs->md.chunk_sectors;
}
}

Expand Down
4 changes: 2 additions & 2 deletions drivers/md/md.h
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,7 @@ struct mddev {
int external; /* metadata is
* managed externally */
char metadata_type[17]; /* externally set*/
unsigned int chunk_sectors;
int chunk_sectors;
time64_t ctime, utime;
int level, layout;
char clevel[16];
Expand Down Expand Up @@ -339,7 +339,7 @@ struct mddev {
*/
sector_t reshape_position;
int delta_disks, new_level, new_layout;
unsigned int new_chunk_sectors;
int new_chunk_sectors;
int reshape_backwards;

struct md_thread *thread; /* management thread */
Expand Down
11 changes: 11 additions & 0 deletions galliumos/NOTES
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## galliumos/NOTES

This directory borrows some debian organizational conventions.

The upstream kernel git config ignores "debian", "patches", and "series",
so we rename them to "galliumos", "diffs", and "sequence".

If we edited .gitignore instead, we'd risk incomplete commits if a new
upstream version was untarred on top and restored the original ignore
behaviour. So this is awkward, but safe.

42 changes: 42 additions & 0 deletions galliumos/bin/apply_patches
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#!/bin/sh
#

BASENAME=$(basename $0)
INTERACTIVE=
SEQ_FILE="galliumos/diffs/sequence"
SEQ_DIR=$(dirname "$SEQ_FILE")
#DOIF=":"

[ "$1" = "-i" ] && INTERACTIVE=1

apply_patch() {
local _diff=$1

$DOIF patch -p1 < "$SEQ_DIR/$_diff"
}

if [ ! -f "$SEQ_FILE" ]; then
echo "$BASENAME: fatal: $SEQ_FILE not found. make sure cwd is repo root!"
exit 1
fi

for diff in $(cat "$SEQ_FILE" | grep -v "^#" ); do
if [ "$INTERACTIVE" ]; then
resp="incoherent"
while [ "$resp" = "incoherent" ]; do
echo "$BASENAME: apply $diff [Ynq]: \c"
read resp
case "$resp" in
[Yy]*|'') apply_patch "$diff"; echo ;;
[Nn]*) ;;
[Qq]*) exit 0 ;;
*) resp="incoherent" ;;
esac
done
else
echo
echo "$BASENAME: applying $diff"
apply_patch "$diff"
fi
done

Loading