Keybuk | ion: I believe that killall5 sends SIGSTOP to all processes so that the process tree is unlikely to change while it iterates it | 11:54 |
---|---|---|
Keybuk | mbiebl: haven't seen the ntfs-3g problem before, any idea why it fails? | 11:54 |
Keybuk | mbiebl: mountall should just call mount the same way mount -a does | 11:54 |
Keybuk | does the boot "fail" or does the boot hang? | 11:54 |
Keybuk | /mnt/data won't stop the "filesystem" event being emitted, but it would cause a shell | 11:55 |
Keybuk | and as to the output difference, it's simply cosmetic | 11:55 |
Keybuk | mountall leaves the device field as "none" for nodev filesystems deliberately | 11:55 |
ion | Btw, using the vbox guest filesystem that mounts host directories in fstab caused mountall-shell to activate because the module wasn’t loaded yet. The system booted fine otherwise, and after the init script loaded the vboxvfs module, just exiting the shell finished the job. I wonder what could be done? | 12:48 |
ion | Hardcoding special cases for everything like that doesn’t sound very appealing. | 12:48 |
Keybuk | the shell is probably over-sensitive | 12:48 |
Keybuk | really you only want to know whether mountall failed to mount an FHS filesystem | 12:49 |
Keybuk | sorry, want to *fail* if | 12:49 |
ion | Yeah | 12:49 |
Keybuk | if some other filesystem marked "auto" fails, it's not realllly critical | 12:49 |
Keybuk | but I'm not quite sure yet how to strike the balance | 12:49 |
Keybuk | esp. since debugging, it's sane to leave it slightly over-keen for now | 12:49 |
ion | How about /etc/mountall/fs/networking: ‘until network: nfs nfs4 smbfs...’ and /etc/mountall/fs/vbox (installed by vbox-guest-utils): ‘until vbox: vboxsf’ and have the if-up.d and vbox-guest-utils scripts send a message to mountall about ‘network’ or ‘vbox’ being available? | 12:54 |
ion | And have mountall delay the mounting of such filesystem types until the message | 12:54 |
ion | Perhaps instead of sending a message, launch a parallel mountall with a ‘network’/‘vbox’ parameter. | 12:55 |
ion | Or something :-P | 12:55 |
Keybuk | well, that's basically how network works now | 13:02 |
Keybuk | you send it SIGUSR1 and it retries them | 13:02 |
Keybuk | we could just add vboxsf to that set | 13:02 |
Keybuk | the bit that needs fixing is that failure to mount them can be temporary ;) | 13:02 |
Keybuk | (ie. it's ok to try again later) | 13:03 |
ion | True | 13:06 |
Keybuk | might be worth applying the same to outside-of-FHS filesystems? | 13:10 |
Keybuk | it's ok for them to fail to mount, just retry? | 13:10 |
ion | Yeah | 13:11 |
=== robbiew-afk is now known as orbbiew | ||
=== orbbiew is now known as robbiew | ||
ion | keybuk: http://pastebin.com/m17081a2f | 15:51 |
mbiebl | Regarding the ntfs issue: The boot simply hangs at this point | 16:30 |
mbiebl | LABEL=Data /mnt/data ntfs-3g user,auto 0 0 | 16:30 |
mbiebl | is the fstab entry | 16:30 |
ion | (An irrelevant comment: /mnt is for temporary mounts. If it’s in fstab, it’s not temporary. :-P) | 16:47 |
soren | I think, actually, /mnt is for temporary mount (singular). | 16:49 |
ion | True | 16:49 |
soren | (i.e. not mounting stuff on subdirs of /mnt, but on /mnt itself) | 16:50 |
ion | Unless you need to have two temporary mounts at the same time. :-P But yeah, if you only need one, mount foo /mnt is quick and nice. | 16:51 |
ion | keybuk: Regarding the pseudocode above, the try-again-if-mount-failed thing would become a simple ‘while’ loop around some code in a single function instead of additional logic buried in the a callback function somewhere. | 16:54 |
mbiebl | ion: fwiw, it doesn't really matter if I mount it at /mnt/data or /data ;-) | 17:08 |
ion | You lose the ability to mount a temporary partition without having to do a whopping amount of work to make a new directory first. ;-) | 17:09 |
mbiebl | ion: What I meant was, that it doesn't matter wrt my failing boot | 17:16 |
ion | As i said, my nitpicking was an irrelevant comment. :-) | 17:16 |
mbiebl | It seems, robbiew just found the cause for the failing ntfs mount | 17:18 |
ion | What was it? | 17:18 |
robbiew | ;) | 17:19 |
mbiebl | mountall tries to run fsck.ntfs | 17:19 |
mbiebl | which is not available | 17:20 |
mbiebl | it also seems to pass a -n option to ntfs-3g, which it doesn't understand | 17:21 |
ion | Huh. If i’m reading the code right, when passno = 0, it shouldn’t try to fsck it. | 17:22 |
=== robbiew is now known as robbiew-afk | ||
=== robbiew-afk is now known as robbiew_ | ||
ion | keybuk: The equivalent could be nice for libnih as well. Too bad nih_log_message doesn’t know the caller’s going to abort. http://launchpadlibrarian.net/31650305/glib2.0_2.21.6-0ubuntu1_2.21.6-0ubuntu2.diff.gz | 19:23 |
=== robbiew_ is now known as robbiew | ||
ion | http://developers.slashdot.org/story/09/09/11/1139212/Apple-Open-Sources-Grand-Central-Dispatch | 20:15 |
sadmac2 | ion: just so long as their blocks implementation doesn't require trampolines | 20:19 |
ion | Dunno | 20:19 |
ion | I’ve only read http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/12 and the next page so far. | 20:19 |
sadmac2 | ion: it'd probably have to get as far as gcc before we knew | 20:21 |
Keybuk | mbiebl: I don't see what mountall is doing that mount -a doesn't here | 20:56 |
Keybuk | remember, mountall isn't passing -n to ntfs-3g, _mount_ is | 20:56 |
Keybuk | likewise mountall isn't calling fsck.ntfs, _fsck_ is | 20:56 |
robbiew | Keybuk: in any case...*somethings* broken that we would need to fix before release, right? | 21:01 |
Keybuk | oh, definitely | 21:01 |
Keybuk | I just won't yet understand why mountall is failing when the old script didn't | 21:01 |
Keybuk | but that's ok | 21:01 |
Keybuk | this is just a bug | 21:02 |
Keybuk | in some ways I'm glad we're finding some now :p | 21:02 |
robbiew | yep | 21:03 |
Keybuk | robbiew: can you mail me your /etc/fstab as well? | 21:05 |
robbiew | sure | 21:06 |
ion | keybuk: I take it you noticed my messages above? :-) | 21:08 |
Keybuk | fsck /windows [1581] exited normally | 21:08 |
Keybuk | ah | 21:08 |
Keybuk | so it complains about no fsck.ntfs but doesn't actually consider it an error | 21:08 |
Keybuk | ion: I did, but now is not really the time to suddenly think about rewriting something with some neat library that would need an MIR, etc. etc. | 21:08 |
Keybuk | mountall: mount /windows [1590] terminated with status 11 | 21:09 |
Keybuk | mountall: Filesystem could not be mounted: /windows] | 21:09 |
Keybuk | hmm | 21:09 |
sadmac2 | ion: I'm betting the gcc implementation of blocks would end up using trampolines | 21:09 |
Keybuk | even the exit status makes no sense | 21:09 |
sadmac2 | ion: and consequently be a force of overwhelming evil | 21:10 |
Keybuk | mount status 11 means | 21:10 |
Keybuk | "user interrupted a system error whilst permission denied" | 21:10 |
Keybuk | !! | 21:10 |
* Keybuk thinks ntfs-3g is just broken wrt compatibility with mount | 21:10 | |
robbiew | I didn't touch anythin | 21:10 |
robbiew | I can run 'mount /windows' after login...no problems | 21:10 |
robbiew | fwiw | 21:10 |
Keybuk | yeah that's what doesn't make sense | 21:11 |
Keybuk | because that's basically what mountall does ;) | 21:11 |
Keybuk | it seems it doesn't like the "-n" | 21:11 |
robbiew | /dev/sda1 on /windows type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096) | 21:11 |
ion | I didn’t mean that would have to be done for karmic, but it would be... interesting. :-) In fact, i might be interested in refactoring (wouldn’t really need a full rewrite) the code within the next n years, if you ever bless that idea. :-P | 21:11 |
* Keybuk may have to fix ntfs-3g to support -n | 21:11 | |
Keybuk | ion: I'm hoping to understand the corner cases enough to recode most of mountall into Upstart itself - it should be largely flexible enough eventually | 21:12 |
Keybuk | depends really | 21:12 |
ion | Alright | 21:12 |
Keybuk | right, according to mount ntfs-3g should support the -s, -f, -n, -v & -o options | 21:14 |
Keybuk | since those are the mounts that mount passes to mount.* | 21:14 |
Keybuk | and looking at the ntfs-3g code, it's probably ok to workaround in mountall either | 21:15 |
Keybuk | so this should be simple enough | 21:15 |
ion | keybuk: About my patches, i ended up creating a hash of dev_ids and then converting it to a string array in update_mount_dev_ids, and then iterating over the string array when locking. That’s only because i implemented it as a string array first and then started using the hash to dismiss duplicate dev_ids. I might as well put the hash that’s generated anyway to the Mount struct and iterate over that when locking. Should be a quick enough change. Do you agree? | 21:19 |
Keybuk | yup | 21:19 |
ion | Testing in a vm... | 21:35 |
ion | Ah, no wonder i got no debug output. console output missing. | 21:39 |
ion | Seems to work. http://heh.fi/patches/mountall/ updated. | 21:43 |
ion | Oh, i think i noticed a bug with the fsck_queue list. I’ll fix. | 21:51 |
sadmac2 | Keybuk: please see new upstart-devel email (and old one for that matter :) | 21:59 |
ion | keybuk: Updated once again. | 22:27 |
=== robbiew is now known as robbiew-afk |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!