Commit graph

249718 commits

Author SHA1 Message Date
Martin Weinelt 4221de2b4f
Merge pull request #99523 from mweinelt/ircdog
ircdog: init at 0.2.1
2020-10-30 22:39:27 +01:00
WORLDofPEACE ee9154c4c1
Merge pull request #101132 from deviant/iosevka-variants
iosevka-bin: add support for variants
2020-10-30 17:30:59 -04:00
Peter Simons 19c8562dbc
Merge pull request #101829 from NixOS/haskell-updates
Update Haskell package set to LTS 16.20 (plus other fixes)
2020-10-30 22:16:32 +01:00
Jan Tojnar 3d3792020d
Merge pull request #102163 from mkenigs/rm-glacier-cmd
amazon-glacier-cmd-interface: remove package
2020-10-30 22:05:50 +01:00
WORLDofPEACE 822edc571c maintainers: my name should be stylized 2020-10-30 16:49:57 -04:00
WORLDofPEACE 8faab3de9a
Merge pull request #101384 from eyJhb/among-sus
among-sus: init at 2020-10-22
2020-10-30 16:45:53 -04:00
Daiderd Jordan 76dc3ea89e
Merge pull request #101783 from elseym/plex
plex: 1.20.2.3402 -> 1.20.3.3483
2020-10-30 21:40:14 +01:00
eyjhb 76cd544455
among-sus: init at 2020-10-29 2020-10-30 21:22:42 +01:00
V d3025ee8c6 iosevka-bin: add support for variants
This adds the ability to select a specific prebuilt variant. It also adds
an updater script for generating their hashes. Additionally, switching
to TTC files reduces the package size by an order of magnitude.

Example usage:

	fonts.fonts = with pkgs; [
	  (iosevka-bin.override { variant = "ss10"; })
	  (iosevka-bin.override { variant = "sparkle"; })
	  (iosevka-bin.override { variant = "aile"; })
	];
2020-10-30 21:19:20 +01:00
Graham Christensen 38a394bdee
Merge pull request #102174 from grahamc/ami-root-use-gpt
AMI root partition table: use GPT to support >2T partitions
2020-10-30 16:14:37 -04:00
Graham Christensen 860a3a23c6
Merge pull request #102175 from grahamc/ami-random
amazon-image: random.trust_cpu=on to cut 10s from boot
2020-10-30 16:13:41 -04:00
Graham Christensen c06b97175b
Merge pull request #102173 from grahamc/create-amis
create-amis.sh: fixup shellcheck issues, improve error logging, and add configurable service names
2020-10-30 16:13:18 -04:00
Graham Christensen 82578fc725
Merge pull request #102172 from grahamc/stage-1-datestamps
stage-1: add datestamps to logs
2020-10-30 16:13:02 -04:00
Graham Christensen b34cf366aa
Merge pull request #102171 from grahamc/faster-ext-resize
stage-1: modprobe ext{2,3,4} before resizing (so resizing takes less than 45 minutes)
2020-10-30 16:12:50 -04:00
Peter Simons ed41afe60a haskell: update Cabal overrides for the new 3.2.1.0 release 2020-10-30 21:11:47 +01:00
Peter Simons 718aafa5f7 pandoc: update overrides for the new release 2020-10-30 21:11:47 +01:00
Peter Simons a2c9fb0aaa hackage-packages.nix: automatic Haskell package set update
This update was generated by hackage2nix v2.15.5-26-gcfec46d from Hackage revision
950856114c.
2020-10-30 21:11:39 +01:00
sternenseemann 857d62462a haskellPackages.flat: unbreak
flat builds fine again as is.
2020-10-30 21:11:38 +01:00
Peter Simons 035ba1797d hackage2nix: disable broken builds to fix evaluation 2020-10-30 21:11:38 +01:00
Peter Simons 35b3a1f43a LTS Haskell 16.20 2020-10-30 21:11:37 +01:00
WORLDofPEACE 214af51225
Merge pull request #101067 from deviant/remove-caddy-agree
nixos/caddy: remove services.caddy.agree
2020-10-30 16:02:44 -04:00
WORLDofPEACE 99600df584
Merge pull request #101112 from deviant/remove-uemacs
uemacs: remove
2020-10-30 16:01:47 -04:00
Graham Christensen d77ddf2a40
nixos.amazonAmi: use legacy+gpt disk images to support partitions >2T 2020-10-30 15:50:25 -04:00
Graham Christensen d78aa080f5
make-disk-image: support legacy+gpt 2020-10-30 15:50:24 -04:00
Vincent Laporte 5b8a0f0978 ocamlPackages.base64: 3.2.0 → 3.4.0 2020-10-30 20:30:56 +01:00
Vincent Laporte b709b7ac3d ocamlPackages.biocaml: use Dune 2 2020-10-30 20:30:56 +01:00
Vincent Laporte fb1c52641f ocamlPackages.jwto: use Dune 2 2020-10-30 20:30:56 +01:00
Vincent Laporte 8b1ceeb896 ocamlPackages.cohttp: use Dune 2 2020-10-30 20:30:56 +01:00
Vincent Laporte 4afd690197 ocamlPackages.webmachine: use Dune 2 2020-10-30 20:30:56 +01:00
Vincent Laporte 936ef7525d ocamlPackages.bistro: use Dune 2 2020-10-30 20:30:56 +01:00
ajs124 b4d6406058
Merge pull request #101869 from helsinki-systems/upd/nginx
nginxMainline: 1.19.3 -> 1.19.4
2020-10-30 19:50:25 +01:00
Lassulus 858e014efc
Merge pull request #102002 from RaghavSood/electrum-ltc/ledger
electrum-ltc: enable hardware wallets
2020-10-30 19:39:43 +01:00
Lassulus cde8207a1e
Merge pull request #88544 from Pablo1107/ledger2beancount-2.1
ledger2beancount: init at 2.1
2020-10-30 19:36:09 +01:00
Matthew Bauer 989b403c7f
Merge pull request #96318 from matthewbauer/provide-patchelf-in-native-stdenv
stdenv/native: provide patchelf on linux
2020-10-30 13:32:13 -05:00
ajs124 0126c86672 linuxstopmotion: 0.8.0 -> 0.8.5
and qt4 -> qt5
2020-10-30 19:26:36 +01:00
Maximilian Bosch 3a12f8588a
Merge pull request #102160 from WilliButz/update/grafana/v7.3.1
grafana: 7.3.0 -> 7.3.1
2020-10-30 19:05:04 +01:00
pablo1107 c268484e05 ledger2beancount: init at 2.1 2020-10-30 14:58:29 -03:00
Graham Christensen c851030763
amazon-image: random.trust_cpu=on to cut 10s from boot
Ubuntu and other distros already have this set via kernel config.
2020-10-30 13:45:19 -04:00
Maximilian Bosch 6928309c51
citrix_workspace: add 20.10.0
ChangeLog: https://docs.citrix.com/en-us/citrix-workspace-app-for-linux/whats-new.html#whats-new-in-2010
2020-10-30 18:36:21 +01:00
Maximilian Bosch 93a00bec3e
citrix_workspace: remove attributes for old versions; fix i686 build 2020-10-30 18:36:21 +01:00
Maximilian Bosch 2a9e33374b
up: 0.3.2 -> 0.4.0
https://github.com/akavel/up/releases/tag/v0.4
2020-10-30 18:36:21 +01:00
Matthew Kenigsberg b5faf8e4c6 amazon-glacier-cmd-interface: remove package
Last real upstream activity appears to be ~6 years ago and depends on
python2 packages that will soon be vulnerable

Helps #101964
2020-10-30 11:44:57 -05:00
StigP b52da4e641
Merge pull request #102071 from zakame/contrib/perl-NetAsyncWebSocket
perlPackages.NetAsyncWebSocket: init at 0.13
2020-10-30 16:43:05 +00:00
StigP 685c059737
Merge pull request #102066 from zakame/contrib/perl-NetAsyncHTTP
perlPackages.NetAsyncHTTP: init at 0.47
2020-10-30 16:40:22 +00:00
Graham Christensen 74a577b293
create-amis: improve wording around the service name's IAM role
Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
2020-10-30 12:40:17 -04:00
Jonathan Ringer f24fa1e6f5 linuxPackages.usbip: disable < 4.10 2020-10-30 09:40:12 -07:00
Jonathan Ringer e6db435973 linux: add flavor metadata 2020-10-30 09:40:12 -07:00
Dmitry Kalinkin f89356b202
Merge pull request #102169 from cheriimoya/motion
motion 4.3.1 -> 4.3.2
2020-10-30 12:33:30 -04:00
Matthew Kenigsberg 3eb034db8c broadlink-cli: 0.9.0 -> 0.15.0 and use python3
Helps #101964
2020-10-30 09:18:34 -07:00
Graham Christensen ece5c0f304
stage-1: modprobe ext{2,3,4} before resizing
I noticed booting a system with an ext4 root which expanded to 5T took
quite a long time (12 minutes in some cases, 43(!) in others.)

I changed stage-1 to run `resize2fs -d 62` for extra debug output and
timing information. It revealed the adjust_superblock step taking
almost all of the time:

    [Fri Oct 30 11:10:15 UTC 2020] zero_high_bits_in_metadata: Memory used: 132k/0k (63k/70k), time:  0.00/ 0.00/ 0.00
    [Fri Oct 30 11:21:09 UTC 2020] adjust_superblock: Memory used: 396k/4556k (295k/102k), time: 654.21/ 0.59/ 5.13

but when I ran resize2fs on a disk with the identical content growing
to the identical target size, it would only take about 30 seconds. I
looked at what happened between those two steps in the fast case with
strace and found:

```
   235	getrusage(RUSAGE_SELF, {ru_utime={tv_sec=0, tv_usec=1795}, ru_stime={tv_sec=0, tv_usec=3590}, ...}) = 0
   236	write(1, "zero_high_bits_in_metadata: Memo"..., 84zero_high_bits_in_metadata: Memory used: 132k/0k (72k/61k), time:  0.00/ 0.00/ 0.00
   237	) = 84
   238	gettimeofday({tv_sec=1604061278, tv_usec=480147}, NULL) = 0
   239	getrusage(RUSAGE_SELF, {ru_utime={tv_sec=0, tv_usec=1802}, ru_stime={tv_sec=0, tv_usec=3603}, ...}) = 0
   240	gettimeofday({tv_sec=1604061278, tv_usec=480192}, NULL) = 0
   241	mmap(NULL, 2564096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa3c7355000
   242	access("/sys/fs/ext4/features/lazy_itable_init", F_OK) = 0
   243	brk(0xf85000)                           = 0xf85000
   244	brk(0xfa6000)                           = 0xfa6000
   245	gettimeofday({tv_sec=1604061278, tv_usec=538828}, NULL) = 0
   246	getrusage(RUSAGE_SELF, {ru_utime={tv_sec=0, tv_usec=58720}, ru_stime={tv_sec=0, tv_usec=3603}, ...}) = 0
   247	write(1, "adjust_superblock: Memory used: "..., 79adjust_superblock: Memory used: 396k/2504k (305k/92k), time:  0.06/ 0.06/ 0.00
   248	) = 79
   249	gettimeofday({tv_sec=1604061278, tv_usec=539119}, NULL) = 0
   250	getrusage(RUSAGE_SELF, {ru_utime={tv_sec=0, tv_usec=58812}, ru_stime={tv_sec=0, tv_usec=3603}, ...}) = 0
   251	gettimeofday({tv_sec=1604061279, tv_usec=939}, NULL) = 0
   252	getrusage(RUSAGE_SELF, {ru_utime={tv_sec=0, tv_usec=520411}, ru_stime={tv_sec=0, tv_usec=3603}, ...}) = 0
   253	write(1, "fix_uninit_block_bitmaps 2: Memo"..., 88fix_uninit_block_bitmaps 2: Memory used: 396k/2504k (305k/92k), time:  0.46/ 0.46/ 0.00
   254	) = 88
```

In particular the access to /sys/fs seemed interesting. Looking
at the source of resize2fs:

```
[root@ip-172-31-22-182:~/e2fsprogs-1.45.5]# rg -B2 -A1 /sys/fs/ext4/features/lazy_itable_init .
./resize/resize2fs.c
923-	if (getenv("RESIZE2FS_FORCE_LAZY_ITABLE_INIT") ||
924-	    (!getenv("RESIZE2FS_FORCE_ITABLE_INIT") &&
925:	     access("/sys/fs/ext4/features/lazy_itable_init", F_OK) == 0))
926-		lazy_itable_init = 1;
```

I confirmed /sys is mounted, and then found a bug suggesting the
ext4 module is maybe not loaded:
https://bugzilla.redhat.com/show_bug.cgi?id=1071909

My home server doesn't have ext4 loaded and had 3T to play with, so
I tried (and succeeded with) replicating the issue locally:

```
[root@kif:/scratch]# lsmod | grep -i ext

[root@kif:/scratch]# zfs create -V 3G rpool/scratch/ext4

[root@kif:/scratch]# time mkfs.ext4 /dev/zvol/rpool/scratch/ext4
mke2fs 1.45.5 (07-Jan-2020)
Discarding device blocks: done
Creating filesystem with 786432 4k blocks and 196608 inodes
Filesystem UUID: 560a4a8f-93dc-40cc-97a5-f10049bf801f
Superblock backups stored on blocks:
	32768, 98304, 163840, 229376, 294912

Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

real	0m2.261s
user	0m0.000s
sys	0m0.025s

[root@kif:/scratch]# zfs set volsize=3T rpool/scratch/ext4

[root@kif:/scratch]# time resize2fs -d 62 /dev/zvol/rpool/scratch/ext4
resize2fs 1.45.5 (07-Jan-2020)
fs has 11 inodes, 1 groups required.
fs requires 16390 data blocks.
With 1 group(s), we have 22234 blocks available.
Last group's overhead is 10534
Need 16390 data blocks in last group
Final size of last group is 26924
Estimated blocks needed: 26924
Extents safety margin: 49
Resizing the filesystem on /dev/zvol/rpool/scratch/ext4 to 805306368 (4k) blocks.
read_bitmaps: Memory used: 132k/0k (63k/70k), time:  0.00/ 0.00/ 0.00
read_bitmaps: I/O read: 1MB, write: 0MB, rate: 3802.28MB/s
fix_uninit_block_bitmaps 1: Memory used: 132k/0k (63k/70k), time:  0.00/ 0.00/ 0.00
resize_group_descriptors: Memory used: 132k/0k (68k/65k), time:  0.00/ 0.00/ 0.00
move_bg_metadata: Memory used: 132k/0k (68k/65k), time:  0.00/ 0.00/ 0.00
zero_high_bits_in_metadata: Memory used: 132k/0k (68k/65k), time:  0.00/ 0.00/ 0.00
```

here it got stuck for quite some time ... straceing this 20 minutes in revealed this in a tight loop:

```
getuid()                                = 0
geteuid()                               = 0
getgid()                                = 0
getegid()                               = 0
prctl(PR_GET_DUMPABLE)                  = 1 (SUID_DUMP_USER)
fallocate(3, FALLOC_FL_ZERO_RANGE, 2222649901056, 2097152) = 0
fsync(3)                                = 0
```

it finally ended 43(!) minutes later:

```
adjust_superblock: Memory used: 264k/3592k (210k/55k), time: 2554.03/ 0.16/15.07
fix_uninit_block_bitmaps 2: Memory used: 264k/3592k (210k/55k), time:  0.16/ 0.16/ 0.00
blocks_to_move: Memory used: 264k/3592k (211k/54k), time:  0.00/ 0.00/ 0.00
Number of free blocks: 755396/780023556, Needed: 0
block_mover: Memory used: 264k/3592k (216k/49k), time:  0.05/ 0.01/ 0.00
block_mover: I/O read: 1MB, write: 0MB, rate: 18.68MB/s
inode_scan_and_fix: Memory used: 264k/3592k (216k/49k), time:  0.00/ 0.00/ 0.00
inode_ref_fix: Memory used: 264k/3592k (216k/49k), time:  0.00/ 0.00/ 0.00
move_itables: Memory used: 264k/3592k (216k/49k), time:  0.00/ 0.00/ 0.00
calculate_summary_stats: Memory used: 264k/3592k (216k/49k), time: 16.35/16.35/ 0.00
fix_resize_inode: Memory used: 264k/3592k (222k/43k), time:  0.04/ 0.00/ 0.00
fix_resize_inode: I/O read: 1MB, write: 0MB, rate: 22.80MB/s
fix_sb_journal_backup: Memory used: 264k/3592k (222k/43k), time:  0.00/ 0.00/ 0.00
overall resize2fs: Memory used: 264k/3592k (222k/43k), time: 2570.90/16.68/15.07
overall resize2fs: I/O read: 1MB, write: 1MB, rate: 0.00MB/s
The filesystem on /dev/zvol/rpool/scratch/ext4 is now 805306368 (4k) blocks long.

real	43m1.943s
user	0m16.761s
sys	0m15.069s
```

I then cleaned up and recreated the zvol, loaded the ext4 module, created the ext4 fs,
resized the volume, and resize2fs'd and it went quite quickly:

```
[root@kif:/scratch]# zfs destroy rpool/scratch/ext4

[root@kif:/scratch]# zfs create -V 3G rpool/scratch/ext4

[root@kif:/scratch]# modprobe ext4

[root@kif:/scratch]# time resize2fs -d 62 /dev/zvol/rpool/scratch/ext4

[root@kif:/scratch]# time mkfs.ext4 /dev/zvol/rpool/scratch/ext4
mke2fs 1.45.5 (07-Jan-2020)
Discarding device blocks: done
Creating filesystem with 786432 4k blocks and 196608 inodes
Filesystem UUID: 5b415f2f-a8c4-4ba0-ac1d-78860de77610
Superblock backups stored on blocks:
	32768, 98304, 163840, 229376, 294912

Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

real	0m1.013s
user	0m0.001s
sys	0m0.023s

[root@kif:/scratch]# zfs set volsize=3T rpool/scratch/ext4

[root@kif:/scratch]# time resize2fs -d 62 /dev/zvol/rpool/scratch/ext4
resize2fs 1.45.5 (07-Jan-2020)
fs has 11 inodes, 1 groups required.
fs requires 16390 data blocks.
With 1 group(s), we have 22234 blocks available.
Last group's overhead is 10534
Need 16390 data blocks in last group
Final size of last group is 26924
Estimated blocks needed: 26924
Extents safety margin: 49
Resizing the filesystem on /dev/zvol/rpool/scratch/ext4 to 805306368 (4k) blocks.
read_bitmaps: Memory used: 132k/0k (63k/70k), time:  0.00/ 0.00/ 0.00
read_bitmaps: I/O read: 1MB, write: 0MB, rate: 3389.83MB/s
fix_uninit_block_bitmaps 1: Memory used: 132k/0k (63k/70k), time:  0.00/ 0.00/ 0.00
resize_group_descriptors: Memory used: 132k/0k (68k/65k), time:  0.00/ 0.00/ 0.00
move_bg_metadata: Memory used: 132k/0k (68k/65k), time:  0.00/ 0.00/ 0.00
zero_high_bits_in_metadata: Memory used: 132k/0k (68k/65k), time:  0.00/ 0.00/ 0.00
adjust_superblock: Memory used: 264k/1540k (210k/55k), time:  0.02/ 0.02/ 0.00
fix_uninit_block_bitmaps 2: Memory used: 264k/1540k (210k/55k), time:  0.15/ 0.15/ 0.00
blocks_to_move: Memory used: 264k/1540k (211k/54k), time:  0.00/ 0.00/ 0.00
Number of free blocks: 755396/780023556, Needed: 0
block_mover: Memory used: 264k/3592k (216k/49k), time:  0.01/ 0.01/ 0.00
block_mover: I/O read: 1MB, write: 0MB, rate: 157.11MB/s
inode_scan_and_fix: Memory used: 264k/3592k (216k/49k), time:  0.00/ 0.00/ 0.00
inode_ref_fix: Memory used: 264k/3592k (216k/49k), time:  0.00/ 0.00/ 0.00
move_itables: Memory used: 264k/3592k (216k/49k), time:  0.00/ 0.00/ 0.00

calculate_summary_stats: Memory used: 264k/3592k (216k/49k), time: 16.20/16.20/ 0.00
fix_resize_inode: Memory used: 264k/3592k (222k/43k), time:  0.00/ 0.00/ 0.00
fix_resize_inode: I/O read: 1MB, write: 0MB, rate: 5319.15MB/s
fix_sb_journal_backup: Memory used: 264k/3592k (222k/43k), time:  0.00/ 0.00/ 0.00
overall resize2fs: Memory used: 264k/3592k (222k/43k), time: 16.45/16.38/ 0.00
overall resize2fs: I/O read: 1MB, write: 1MB, rate: 0.06MB/s
The filesystem on /dev/zvol/rpool/scratch/ext4 is now 805306368 (4k) blocks long.

real	0m17.908s
user	0m16.386s
sys	0m0.079s
```

Success!
2020-10-30 12:18:23 -04:00