01:07:26 Macer: It will work, but it will almost certainly cause a need for rebuild/scrub (depending on if you're using those identities for ZFS inclusion.) 01:07:44 Shouldn't cause any problems with the disk(s) or data, though. 01:43:32 Macer, I don't know about the path property but I have changed the paths by importing the array using the desired path. For example by booting install media, getting a shell, and then "zpool import -d /dev/gpt" so that it uses the /dev/gpt paths to the persistent gpt labels rather than the not persistent /dev/ada0 or /dev/da0 type of paths. And then once imported and changed then I have rebooted and the change persisted that way. 01:44:02 I'll make a note that there is a zpool path property, though I can't find my information about it, and try it the next time I am in need of making that type of change. 01:47:02 Macer, Alan Jude says that setting path works and that's authoritative: https://www.youtube.com/watch?v=Yy8fhyrBV-Y&t=155s 04:32:22 rwp: yeah i was about to say 04:32:33 there is a way to do it on the fly. i've done it before :) 04:33:09 i mean it isn't like the disk disappears. the label does. zfs probalby just finds it with the tag and renames it to something and then you can just rename it later 04:33:25 no scrub/rebuild necessary 04:34:47 i think it was when i had imported a pool from elsewhere and it used some other way to name them. but i vaguely remember being able to change the gpt/label on the fly for the pool 04:38:17 rwp: i'll test it on the pool i'm going to dismantle and see how that works 05:38:01 Macer: how did your operations go? did recovery work? 05:54:30 https://www.bsdnow.tv/641 06:39:16 o\ 07:50:43 Macer, The FreeBSD kernel does something that other kernels don't. As soon as any of the /dev device paths is opened to a device then all of the other alias paths to the same device are hidden. 07:51:47 Which means that if /dev/ada0p3 and /dev/gpt/mygptlabel point to the same partition then if/when zfs opens /dev/ada0p3 then /dev/gpt/mygptlabel is hidden and no longer visible. It actually causes more confusion than it helps in my not so humble opinion. 07:53:04 Setting the zpool path doesn't actually change what is open now. It sets the path that zfs uses to find that partition when it is next imported. So right now setting it to a different path won't actually find the newly set path because it is hidden. But upon reboot and booting up then all of those paths will be visible and it will open the newly set path and again the other aliased paths will then be hidden. 07:53:14 Hope that description makes some sense of things. 09:54:11 SponiX: if you’re asking about me expanding the raidz2 vdev… it went well once I didn’t have sketchy disks. I expanded twice already. 09:54:46 And I guess it’s good to know that if there is a failure during expansion then zfs handles it well. 13:02:25 Macer: well congratulations on the successful operations :) 14:22:48 Macer: so did you have to replace faulty drive first and then resume the expansion, or just replacing the drive was enough to make the whole expansion sucessfull ? 14:28:51 has anyone successfully booted the recently released alpine 3.23 (linux 6.18) with bhyve? I'm getting a hang at "Loading initial ramdisk...". Alpine 3.22 (linux 6.12) works fine. 15:03:26 i used to run: tmux new-session -s sess 'mybin > /home/me/app.log 2>&1; exec $SHELL'. but then i wanted to make sure all errors were redirected to app.log so i changed it to: tmux new-session -s sess 'exec > /home/me/app.log 2>&1; mybin'. 15:03:28 but now the problem is when mybin terminates, the tmux session doesn't terminate. so how can i have all errors redirect to the app.log, and also have tmux session terminate when mybin terminates? 15:41:58 makes me wonder whether you need an interactive terminal session or whether you can just daemonize it and have daemon redirect the logs however you want 15:42:34 :) 15:46:45 eventually but for now i'm gonna keep using tmux 15:49:54 mzar: I had to replace both of them. 15:50:06 The expansion just halts. Even on 1 read error. 15:51:16 And the read error just wouldn’t clear. It’s kind of weird because I figured after trying to clear it a couple times that the read error would disappear and the drive would mark it as uncorrectable. Instead after I tried to clear it a few times the drive just fell off the pool and was kicked out. 15:56:04 uncorrectable is not very easy to get set unless you use MHDD or the like 15:56:42 thanks for the report Macer 15:58:27 installing stable drm gives different versions see if any help 15:58:51 removing the modesetting driver makes the screen not tear up 16:13:34 what would the difference be between: tmux new-session -d -s sess 'mybin &> /home/me/app.log' and: tmux new-session -d -s sess 'exec mybin &> /home/me/app.log'? 16:14:32 kerneldove: isn't that nohup with extra steps? 16:14:49 don't know 16:14:56 kerneldove: that's probably beyond of the support capabilities of this channel, please try to inquire for more details at #tmux 17:49:11 Remilia: oh. I figured drive fw would try a couple of times and give up. 19:31:13 kerneldove: when you run something with exec the parent process dies and whatever exec is executing becomes the parent, using no exec runs that program as a normal shell command 19:31:22 so if ps youll see sh bleh vs just bleh 19:34:40 Macer: generally the firmware does not mark anything uncorrectable while the drive is ‘online’ 19:35:00 they are called ‘offline uncorrectable’ 19:36:14 I do not remember how exactly it works but iirc software like MHDD uses ATA/SCSI commands to directly tell the drive to mark a sector, after verifying that read times on that sector exceed 300-500 ms 19:37:35 cpet, ah ok so i should use the version with exec if i want mybin exiting to terminate the tmux session, right 19:37:36 ? 19:37:38 Yes, a 19:37:39 hard drive's firmware automatically detects and marks bad sectors as they occur, remapping them to spare sectors to keep them hidden from the operating system, a process called reallocation. This happens during write operations when error correction detects failures, and the drive uses its built-in reserve pool to replace the faulty physical location, preventing data loss and OS errors until that spare pool 19:37:46 runs out 19:38:34 kerneldove: any shell command that exits will cause tmux to temrinate that session 19:39:53 everytime HD bad sectors are mentioned it reminds me of the badsect program we had long ago 19:40:04 i haven't seen that behavior *shrug* 19:40:39 kerneldove: i run fossil in tmux if it shuts down the session shuts down 19:40:51 i have never seen it go back to a shell prompt 19:41:12 and the scripts isn't that complex 19:41:48 tmux new fossil server --baseurl https://fossil.unix.beer --nojail --repolist /var/www/fossil.unix.beer/ 19:47:27 kerneldove: I remeber one time when we had a long discussions about running exec x in .xinitrc vs without 19:59:10 Remilia: wonder how well that would work for an smr drive. I guess those read just as fast as cmr. It’s the writing that is problematic. 20:02:58 https://linuxcommandlibrary.com/man/exec 20:04:02 So… terminate on exit? 20:14:55 Macer: no 20:15:02 it's exec() vs spawn() 20:16:36 exec() means the process that called it exits immediately and then the new process is started, possibly with FDs and environment etc. passed 20:17:54 if you `exec ls` your login shell terminates and once ls finishes you're back to login 20:18:25 (if you do that from your login shell that is) 20:19:03 if you have a screen or tmux session open, open a new window and `exec ls` and watch it close immediately 20:45:33 🤔 20:46:58 I’ll have to try that out. 22:55:44 How does one get UCL output from FreeBSD commands? I ask because I'm told pkg has UCL, but nothing in the man pages. 23:02:17 dvl: im not sure it outputs ucl, but pkg supports ucl in pkg-message, etc. files 23:03:28 zi: Oh yes, that' 23:03:33 s where Ive see it 23:06:43 https://docs.freebsd.org/en/books/porters-handbook/pkg-files/ 23:07:22 cpet: yeah, found that page when searching for freebsd pkg ucl 23:07:52 the other idea is using lua, built int. 23:08:16 the only output commands can do is xo 23:08:30 https://github.com/dlangille/SamDrucker/issues/6#issuecomment-3647603052 23:10:54 cpet: You refer to pkg-message there? I need pkg-repositories 23:11:02 local ucl = require("ucl") 23:11:02 local parser = ucl.parser() 23:11:02 parser:parse_string("key = value; num = 100") -- Parse UCL 23:11:02 local obj = parser:get_object() 23:11:02 local json_string = ucl.to_format(obj, 'json') -- Convert to JSON 23:11:05 print(json_string) -- Prints: {"key": "value", "num": 100} 23:11:23 theres lua to json 23:11:33 er ucl to json 23:12:02 so you have the ucl parser that then concerts that to json 23:12:05 for lua 23:12:16 there ya go bill in the mail 23:14:24 you know that you will get quicker calls for help if you offer some $$$ heh 23:15:20 Thank you. I had something similar in that URL. 23:16:42 I need to modify it to read from STDIN and output to STDOUT. So I put out a call: https://bsd.network/web/@dvl/115708352504899727 23:17:18 I may be able to research this over the weekend. I've done similar with Python code, but I'd like to not add Python to the dependencies of this project. 23:18:03 libucl offers pretty much all that 23:18:22 Good! 23:18:45 https://github.com/vstakhov/libucl 23:19:32 General syntax sugar 23:19:33 heh 23:23:29 I find no docs there. For example, I want to know more about parser:parse_string() because that seems to be the function call I need to modify 23:23:54 https://unix.beer/~chris/repo2json.awk 23:28:35 cpet: I got it, https://bin.langille.org/?f884b1be1566e139#DuW8rC4u2grip9JLWgH88KaZFpEYdd695mqP4ANqUFFn 23:30:39 * cpet pets awk 23:31:01 * bdrewery awks cpet 23:31:21 * cpet runs 23:31:27 weirdo 23:33:02 So from there, where? 23:46:47 bora bora 23:48:54 Uncle Osama? 23:49:43 uncle sam? 23:52:21 Sam Drucker 23:52:39 I have so many trails, I'm going to review them another day.