[01:36:47] --- Simon Wilkinson has become available [01:39:45] kaduk: You can avoid the re-push creating new patchsets for already existing changes by using the Change-Id commit hook. See the developers guide for details. [01:40:02] At some point, we'll probably end up configuring gerrit so that it rejects patches without Change-Ids. [02:01:49] --- Simon Wilkinson has left [02:07:16] --- Russ has left: Disconnected [04:37:36] --- Simon Wilkinson has become available [04:58:43] --- haba has left [05:00:59] --- haba has become available [05:40:07] --- Simon Wilkinson has left [05:56:39] --- meffie has become available [06:54:55] --- haba has left [07:15:42] i think ben's comment implied he had the changeid hook. he said new patchset rather than new change? [07:17:52] --- matt has become available [07:30:12] --- deason has become available [07:40:14] I didn't have the commit hook installed in that repo. [07:42:51] naughty [07:43:11] you should fix your commit message, and i can push (looks like it works) [07:43:18] I fixed it, but from what I can tell, once gerrit has seen a change, you cant insert it. [07:43:24] I did fix, and repush. [07:43:31] Fixed both. [07:44:02] I don't think there's anything in RT for the reclaim issue. [07:44:05] you can insert one. just get a change id and insert it into the commit message. but it's ok here [07:45:00] I did install the commit-msg hook--but I create a lot of short-lived repos, and forget. [07:45:34] looks like 2612 needs a rebase [07:45:57] Huh. I just cherry-picked it onto head. [07:46:04] I can abandon and send a new change? [07:46:15] I've been wondering if its possible to get 'git clone' to automatically copy hooks from somewhere or something... [07:46:35] That would be convenient. [07:47:53] i looked at some point and there was nothing obvious, but i bet it's possible [07:54:23] well, one can copy the change-id hook to the system hook templates directory [07:54:44] I don't see a way to change the default --template arg in, say, .gitconfig, but you can modify what's in the built-in default template dir [07:55:59] actually, we could do something worse: put the hook in the repo itself and have regen.sh make it exist if .git exists [07:56:14] since, well, if you aren't testing your patch, you suck [07:57:00] but you don't always build before committing [07:57:14] It would still help often. [07:57:16] and I personally don't always regen from a place I have a .git but whatever [07:57:34] make rule could also do it. anyway, back shortly. [08:00:46] Simon: Derrick is correct, I do have the Change-ID hook, so the push showed up as a new gerrit patch set; this happened for gerrit/1691. [08:28:19] --- Simon Wilkinson has become available [09:07:53] --- andersk has left [09:23:57] --- Simon Wilkinson has left [09:44:44] > if its possible to get 'git clone' to automatically copy hooks from > somewhere You mean, automatically to arrange for unauthenticated code received over the Internet from an unknown source to be run as you? I hope not. [10:13:05] --- Russ has become available [10:16:13] no, I mean from somewhere else on my machine [10:29:47] --- andersk has become available [10:56:41] Okay, I go to fire up my test system with git head, and: freebuild# afsd -dynroot -fakestat-all -afsdb -memcache -daemons 8 -debug afsd: My home cell is 'zone.mit.edu' ParseCacheInfoFile: Opening cache info file '/usr/local/etc/openafs/cacheinfo'... ParseCacheInfoFile: Cache info file successfully parsed: cacheMountDir: '/afs' cacheBaseDir: '/usr/vice/cache' cacheBlocks: 4259 afsd: chunkSize autotuned to 13 afsd: cacheStatEntries autotuned to 133 afsd: 532 inode_for_V entries at 0xc9d600, 2128 bytes SScall(339, 28, 35)=-1 SScall(339, 28, 17)=-1 afsd: Forking rx listener daemon. afsd: Forking rx callback listener. afsd: Forking rxevent daemon. SScall(339, 28, 48)=-1 SScall(339, 28, 0)=-1 afsd: Forking AFSDB lookup handler. SScall(339, 28, 36)=-1 afsd: Error -1 in basic initialization. SScall(339, 28, 19)=-1 freebuild# [10:57:26] once you get the first -1, you lost. [10:57:28] hm [10:58:16] SScall(339, 28, 35)=-1 is AFSOP_SET_THISCELL, which is pretty mundane [10:59:08] offhand guess, you fail the afs_suser(NULL) test somehow [10:59:33] Fun. [10:59:53] well, that's #define osi_suser_client_settings(x) (!priv_check(curthread, PRIV_AFS_ADMIN)) #define osi_suser_afs_daemon(x) (!priv_check(curthread, PRIV_AFS_DAEMON)) #define afs_suser(x) (osi_suser_client_settings((x)) && osi_suser_afs_daemon((x))) [11:00:11] "I'm root" [11:01:48] doesn't mean priv_check wins, does it? [11:02:14] No. But I believe it should for the present implementation. [11:06:09] only other possibility is dynroot failing [11:07:15] Hm. Rebooting just for kicks. [11:16:15] --- meffie has left [11:21:27] any luck? [11:22:36] No change. [11:28:14] lemme see what i can find. sorry, i am fussing with several things at once [11:31:00] I am, too :) Looking at my cvsup log to see if there's anything potentially interesting. [11:57:43] --- meffie has become available [12:14:56] I don't remember whether errno holds relevant information at this point, but at that point, it is 78 (ENOSYS). [12:31:35] enosys? well, your choices are "no kernel module" (doubt it "syscall table not edited" (maybe) or 32 versus 64 bit syscalls. [13:02:09] --- jaltman has left: Disconnected [13:09:13] --- jaltman has become available [13:17:16] --- matt has left [13:34:41] I think it may actually be that we couldn't hook the syscall table. [13:35:27] srs/sys/kern/syscalls.master 1.263 appears to add a NOTSTATIC flag to syscalls which are loadable, and it doesn't get ours. Let me rebuild a kernel and check. [13:53:55] --- geekosaur has left [13:56:39] --- mdionne has become available [13:58:35] --- geekosaur has become available [14:43:54] --- meffie has left [15:59:21] --- deason has left [16:06:50] 339 AUE_NULL UNIMPL pioctl should presumably be NODEF|NONSTATIC? [16:10:24] My kernel build failed with NODEF|NONSTATIC, if I remember correctly. (UNIMPL|NONSTATIC succeeded, but afsd was still unhappy). [16:11:24] i don't think UNIMPL will dtrt. [16:11:49] and did it fail with NONSTATIC or NOTSTATIC? the thing you named earlier wasn't what it's called [16:12:32] The failure message was that pioctl and afs_syscall weren't defined; I couldn't tell you with any confidence exactly how I spelled it for that build. [16:13:00] (Let me try again.) [16:34:35] --- Jeffrey Altman has left: Replaced by new connection [16:34:37] --- Jeffrey Altman has become available [16:36:03] oh. you'll want to prototype as the lkm interface [16:36:22] 339\tAUE_NULL\tNODEF|NOTSTATIC\tlkmnosys lkmnosys nosys_args int [16:37:54] Yeah, I was realizing that. [16:50:27] --- jaltman has left: Disconnected [17:22:02] --- matt has become available [17:35:26] Hm, the change that added the NOTSTATIC (NONSTATIC was a typo in a comment) also involves this syscall_register() function that we're not calling ... I bet that just assigning to the sysent array isn't good enough, anymore. [17:38:45] When you (Ben) restart afsd, do you first kldunload and kldload libafs? [17:39:35] Iirc this works on most Unix CMs, sort of, but it isn't idempotent. [17:42:50] I habitually kldunload and kldload libafs, yeah. This is probably because of claims to "do what the rc script does" which may or may not be applicable on unices. [17:43:16] Hm, I guess I have vague memories of problems with afs_global_mtx (re)initialization? I'm not entirely sure why that's my habit, but it is. [17:43:36] Well, it's what we really want to support. That it generally works suggests forward progress. [17:45:21] --- Jeffrey Altman has left: Disconnected [17:47:07] (I seem to also recall that any bsd rc script is hopelessly out of date. But I need to go run some errands.) [17:47:26] Ciao. I don't use rc scripts ;) [18:08:03] --- matt has left: Logged out [18:22:11] --- Jeffrey Altman has become available [18:22:28] --- Jeffrey Altman has left [18:27:38] --- Jeffrey Altman has become available [18:29:14] --- Jeffrey Altman has left [18:36:13] --- Jeffrey Altman has become available [18:36:17] --- Jeffrey Altman has left [18:36:58] --- Jeffrey Altman has become available [18:37:03] --- Jeffrey Altman has left [18:38:17] --- mdionne has left [18:51:06] --- Jeffrey Altman has become available [18:53:07] --- Jeffrey Altman has left [19:00:19] --- Jeffrey Altman has become available [19:01:08] --- Jeffrey Altman has left [19:26:02] Yeah, using syscall_register() allows one to mount afs. I suppose I should check if the syscalls.master change is needed as well, before I go ask Robert to apply it. [19:32:09] --- deason has become available [19:39:24] --- Jeffrey Altman has become available [19:42:57] --- jaltman has become available [19:47:50] --- jaltman has left: Replaced by new connection [19:47:51] --- jaltman has become available [19:53:29] --- jaltman has left: Replaced by new connection [19:53:30] --- jaltman has become available [19:58:22] --- jaltman has left: Replaced by new connection [19:58:23] --- jaltman has become available [20:03:43] --- jaltman has left: Replaced by new connection [20:03:44] --- jaltman has become available [20:08:24] --- jaltman has left: Replaced by new connection [20:08:25] --- jaltman has become available [20:13:36] --- jaltman has left: Replaced by new connection [20:13:36] --- jaltman has become available [20:19:01] --- jaltman has left: Replaced by new connection [20:19:02] --- jaltman has become available [20:23:43] --- jaltman has left: Replaced by new connection [20:23:44] --- jaltman has become available [20:29:10] --- jaltman has left: Replaced by new connection [20:29:11] --- jaltman has become available [20:33:44] --- jaltman has left: Replaced by new connection [20:33:45] --- jaltman has become available [20:34:36] --- jaltman has left: Disconnected [21:22:25] --- jaltman has become available [21:25:39] --- jaltman has left: Replaced by new connection [21:25:39] --- jaltman has become available [21:30:38] --- jaltman has left: Replaced by new connection [21:30:39] --- jaltman has become available [21:36:00] --- jaltman has left: Replaced by new connection [21:36:01] --- jaltman has become available [21:40:27] --- jaltman has left: Replaced by new connection [21:40:28] --- jaltman has become available [21:41:26] --- jaltman has left: Disconnected [21:44:47] --- jaltman has become available [21:46:02] --- jaltman has left: Replaced by new connection [21:46:02] --- jaltman has become available [21:49:34] --- jaltman has left: Disconnected [21:49:46] --- jaltman has become available [21:50:46] --- jaltman has left: Replaced by new connection [21:50:47] --- jaltman has become available [21:54:39] --- jaltman has left: Disconnected [21:54:52] --- jaltman has become available [21:56:08] --- jaltman has left: Replaced by new connection [21:56:10] --- jaltman has become available [21:59:10] --- jaltman has left: Disconnected [21:59:31] --- jaltman has become available [22:00:40] --- jaltman has left: Replaced by new connection [22:00:50] --- jaltman has become available [22:06:21] --- jaltman has left: Replaced by new connection [22:06:25] --- jaltman has become available [22:10:47] --- jaltman has left: Replaced by new connection [22:10:48] --- jaltman has become available [22:16:12] --- jaltman has left: Replaced by new connection [22:16:13] --- jaltman has become available [22:21:06] --- jaltman has left: Replaced by new connection [22:21:07] --- jaltman has become available [22:26:47] --- jaltman has left: Replaced by new connection [22:26:48] --- jaltman has become available [22:32:06] --- jaltman has left: Replaced by new connection [22:32:06] --- jaltman has become available [22:34:47] --- deason has left [22:38:09] --- jaltman has left: Replaced by new connection [22:38:10] --- jaltman has become available