From eb54bc1d9d13ef8c6fc1c0db9f65e10a5483f410 Mon Sep 17 00:00:00 2001 From: Russ Allbery Date: Wed, 26 Mar 2008 22:42:24 +0000 Subject: [PATCH] Merge upstream 1.4.7pre1 release. --- Makefile.in | 7 +- README | 24 + acinclude.m4 | 50 +- configure | 4182 ++++++++++++----- configure-libafs | 4037 +++++++++++----- configure-libafs.in | 4 +- configure.in | 7 +- debian/changelog | 3 +- debian/rules | 6 +- doc/LICENSE | 43 + doc/man-pages/README | 16 +- doc/man-pages/man1/cmdebug.1 | 63 +- doc/man-pages/man1/fs.1 | 3 +- doc/man-pages/man1/fs_apropos.1 | 6 +- doc/man-pages/man1/fs_checkservers.1 | 6 +- doc/man-pages/man1/fs_checkvolumes.1 | 6 +- doc/man-pages/man1/fs_cleanacl.1 | 6 +- doc/man-pages/man1/fs_copyacl.1 | 6 +- doc/man-pages/man1/fs_diskfree.1 | 6 +- doc/man-pages/man1/fs_examine.1 | 6 +- doc/man-pages/man1/fs_exportafs.1 | 6 +- doc/man-pages/man1/fs_flush.1 | 6 +- doc/man-pages/man1/fs_flushall.1 | 11 +- doc/man-pages/man1/fs_flushmount.1 | 6 +- doc/man-pages/man1/fs_flushvolume.1 | 6 +- doc/man-pages/man1/fs_getcacheparms.1 | 6 +- doc/man-pages/man1/fs_getcalleraccess.1 | 11 +- doc/man-pages/man1/fs_getcellstatus.1 | 6 +- doc/man-pages/man1/fs_getclientaddrs.1 | 6 +- doc/man-pages/man1/fs_getcrypt.1 | 11 +- doc/man-pages/man1/fs_getserverprefs.1 | 6 +- doc/man-pages/man1/fs_help.1 | 6 +- doc/man-pages/man1/fs_listacl.1 | 6 +- doc/man-pages/man1/fs_listaliases.1 | 11 +- doc/man-pages/man1/fs_listcells.1 | 6 +- doc/man-pages/man1/fs_listquota.1 | 17 +- doc/man-pages/man1/fs_lsmount.1 | 6 +- doc/man-pages/man1/fs_messages.1 | 6 +- doc/man-pages/man1/fs_minidump.1 | 233 + doc/man-pages/man1/fs_mkmount.1 | 6 +- doc/man-pages/man1/fs_newalias.1 | 11 +- doc/man-pages/man1/fs_newcell.1 | 6 +- doc/man-pages/man1/fs_quota.1 | 17 +- doc/man-pages/man1/fs_rmmount.1 | 6 +- doc/man-pages/man1/fs_rxstatpeer.1 | 256 + doc/man-pages/man1/fs_setacl.1 | 6 +- doc/man-pages/man1/fs_setcachesize.1 | 6 +- doc/man-pages/man1/fs_setcell.1 | 6 +- doc/man-pages/man1/fs_setclientaddrs.1 | 6 +- doc/man-pages/man1/fs_setcrypt.1 | 11 +- doc/man-pages/man1/fs_setquota.1 | 17 +- doc/man-pages/man1/fs_setserverprefs.1 | 6 +- doc/man-pages/man1/fs_setvol.1 | 17 +- doc/man-pages/man1/fs_storebehind.1 | 6 +- doc/man-pages/man1/fs_sysname.1 | 50 +- doc/man-pages/man1/fs_uuid.1 | 41 +- doc/man-pages/man1/fs_whereis.1 | 6 +- doc/man-pages/man1/fs_whichcell.1 | 6 +- doc/man-pages/man1/fs_wscell.1 | 6 +- doc/man-pages/man1/pts.1 | 31 +- doc/man-pages/man1/pts_adduser.1 | 18 +- doc/man-pages/man1/pts_apropos.1 | 6 +- doc/man-pages/man1/pts_chown.1 | 16 +- doc/man-pages/man1/pts_creategroup.1 | 18 +- doc/man-pages/man1/pts_createuser.1 | 19 +- doc/man-pages/man1/pts_delete.1 | 17 +- doc/man-pages/man1/pts_examine.1 | 21 +- doc/man-pages/man1/pts_help.1 | 6 +- doc/man-pages/man1/pts_interactive.1 | 25 +- doc/man-pages/man1/pts_listentries.1 | 17 +- doc/man-pages/man1/pts_listmax.1 | 17 +- doc/man-pages/man1/pts_listowned.1 | 16 +- doc/man-pages/man1/pts_membership.1 | 21 +- doc/man-pages/man1/pts_quit.1 | 22 +- doc/man-pages/man1/pts_removeuser.1 | 17 +- doc/man-pages/man1/pts_rename.1 | 17 +- doc/man-pages/man1/pts_setfields.1 | 17 +- doc/man-pages/man1/pts_setmax.1 | 16 +- doc/man-pages/man1/pts_sleep.1 | 23 +- doc/man-pages/man1/pts_source.1 | 21 +- doc/man-pages/man1/rxdebug.1 | 24 +- doc/man-pages/man1/symlink.1 | 233 + doc/man-pages/man1/symlink_list.1 | 271 ++ doc/man-pages/man1/symlink_make.1 | 265 ++ doc/man-pages/man1/symlink_remove.1 | 259 + doc/man-pages/man1/sys.1 | 6 +- doc/man-pages/man1/vos.1 | 16 +- doc/man-pages/man1/vos_addsite.1 | 24 +- doc/man-pages/man1/vos_apropos.1 | 6 +- doc/man-pages/man1/vos_backup.1 | 6 +- doc/man-pages/man1/vos_backupsys.1 | 6 +- doc/man-pages/man1/vos_changeaddr.1 | 6 +- doc/man-pages/man1/vos_changeloc.1 | 11 +- doc/man-pages/man1/vos_convertROtoRW.1 | 311 ++ doc/man-pages/man1/vos_copy.1 | 358 ++ doc/man-pages/man1/vos_create.1 | 17 +- doc/man-pages/man1/vos_delentry.1 | 6 +- doc/man-pages/man1/vos_dump.1 | 6 +- doc/man-pages/man1/vos_examine.1 | 17 +- doc/man-pages/man1/vos_help.1 | 6 +- doc/man-pages/man1/vos_listaddrs.1 | 6 +- doc/man-pages/man1/vos_listpart.1 | 6 +- doc/man-pages/man1/vos_listvldb.1 | 6 +- doc/man-pages/man1/vos_listvol.1 | 6 +- doc/man-pages/man1/vos_lock.1 | 6 +- doc/man-pages/man1/vos_move.1 | 30 +- doc/man-pages/man1/vos_offline.1 | 6 +- doc/man-pages/man1/vos_online.1 | 6 +- doc/man-pages/man1/vos_partinfo.1 | 17 +- doc/man-pages/man1/vos_release.1 | 6 +- doc/man-pages/man1/vos_remove.1 | 6 +- doc/man-pages/man1/vos_remsite.1 | 6 +- doc/man-pages/man1/vos_rename.1 | 6 +- doc/man-pages/man1/vos_restore.1 | 6 +- doc/man-pages/man1/vos_size.1 | 11 +- doc/man-pages/man1/vos_status.1 | 6 +- doc/man-pages/man1/vos_syncserv.1 | 6 +- doc/man-pages/man1/vos_syncvldb.1 | 6 +- doc/man-pages/man1/vos_unlock.1 | 6 +- doc/man-pages/man1/vos_unlockvldb.1 | 6 +- doc/man-pages/man1/vos_zap.1 | 6 +- doc/man-pages/man5/CellAlias.5 | 7 +- doc/man-pages/man8/afsd.8 | 24 +- doc/man-pages/man8/backup_adddump.8 | 6 +- doc/man-pages/man8/backup_addhost.8 | 6 +- doc/man-pages/man8/backup_addvolentry.8 | 6 +- doc/man-pages/man8/backup_addvolset.8 | 6 +- doc/man-pages/man8/backup_apropos.8 | 6 +- doc/man-pages/man8/backup_dbverify.8 | 6 +- doc/man-pages/man8/backup_deldump.8 | 6 +- doc/man-pages/man8/backup_deletedump.8 | 6 +- doc/man-pages/man8/backup_delhost.8 | 6 +- doc/man-pages/man8/backup_delvolentry.8 | 6 +- doc/man-pages/man8/backup_delvolset.8 | 6 +- doc/man-pages/man8/backup_diskrestore.8 | 6 +- doc/man-pages/man8/backup_dump.8 | 6 +- doc/man-pages/man8/backup_dumpinfo.8 | 6 +- doc/man-pages/man8/backup_help.8 | 6 +- doc/man-pages/man8/backup_interactive.8 | 6 +- doc/man-pages/man8/backup_jobs.8 | 6 +- doc/man-pages/man8/backup_kill.8 | 6 +- doc/man-pages/man8/backup_labeltape.8 | 6 +- doc/man-pages/man8/backup_listdumps.8 | 6 +- doc/man-pages/man8/backup_listhosts.8 | 6 +- doc/man-pages/man8/backup_listvolsets.8 | 6 +- doc/man-pages/man8/backup_quit.8 | 6 +- doc/man-pages/man8/backup_readlabel.8 | 6 +- doc/man-pages/man8/backup_restoredb.8 | 6 +- doc/man-pages/man8/backup_savedb.8 | 6 +- doc/man-pages/man8/backup_scantape.8 | 6 +- doc/man-pages/man8/backup_setexp.8 | 6 +- doc/man-pages/man8/backup_status.8 | 6 +- doc/man-pages/man8/backup_volinfo.8 | 6 +- doc/man-pages/man8/backup_volrestore.8 | 6 +- doc/man-pages/man8/backup_volsetrestore.8 | 6 +- doc/man-pages/man8/bos_addhost.8 | 6 +- doc/man-pages/man8/bos_addkey.8 | 6 +- doc/man-pages/man8/bos_adduser.8 | 6 +- doc/man-pages/man8/bos_apropos.8 | 6 +- doc/man-pages/man8/bos_create.8 | 6 +- doc/man-pages/man8/bos_delete.8 | 6 +- doc/man-pages/man8/bos_exec.8 | 6 +- doc/man-pages/man8/bos_getdate.8 | 6 +- doc/man-pages/man8/bos_getlog.8 | 6 +- doc/man-pages/man8/bos_getrestart.8 | 6 +- doc/man-pages/man8/bos_help.8 | 6 +- doc/man-pages/man8/bos_install.8 | 6 +- doc/man-pages/man8/bos_listhosts.8 | 6 +- doc/man-pages/man8/bos_listkeys.8 | 6 +- doc/man-pages/man8/bos_listusers.8 | 6 +- doc/man-pages/man8/bos_prune.8 | 6 +- doc/man-pages/man8/bos_removehost.8 | 6 +- doc/man-pages/man8/bos_removekey.8 | 6 +- doc/man-pages/man8/bos_removeuser.8 | 6 +- doc/man-pages/man8/bos_restart.8 | 6 +- doc/man-pages/man8/bos_salvage.8 | 6 +- doc/man-pages/man8/bos_setauth.8 | 6 +- doc/man-pages/man8/bos_setcellname.8 | 6 +- doc/man-pages/man8/bos_setrestart.8 | 6 +- doc/man-pages/man8/bos_shutdown.8 | 6 +- doc/man-pages/man8/bos_start.8 | 6 +- doc/man-pages/man8/bos_startup.8 | 6 +- doc/man-pages/man8/bos_status.8 | 6 +- doc/man-pages/man8/bos_stop.8 | 6 +- doc/man-pages/man8/bos_uninstall.8 | 6 +- doc/man-pages/man8/bos_util.8 | 7 +- doc/man-pages/man8/bosserver.8 | 13 +- doc/man-pages/man8/fileserver.8 | 262 +- doc/man-pages/man8/fstrace_apropos.8 | 6 +- doc/man-pages/man8/fstrace_clear.8 | 6 +- doc/man-pages/man8/fstrace_dump.8 | 6 +- doc/man-pages/man8/fstrace_help.8 | 6 +- doc/man-pages/man8/fstrace_lslog.8 | 6 +- doc/man-pages/man8/fstrace_lsset.8 | 6 +- doc/man-pages/man8/fstrace_setlog.8 | 6 +- doc/man-pages/man8/fstrace_setset.8 | 6 +- doc/man-pages/man8/kas_apropos.8 | 6 +- doc/man-pages/man8/kas_create.8 | 6 +- doc/man-pages/man8/kas_delete.8 | 6 +- doc/man-pages/man8/kas_examine.8 | 6 +- doc/man-pages/man8/kas_forgetticket.8 | 6 +- doc/man-pages/man8/kas_help.8 | 6 +- doc/man-pages/man8/kas_interactive.8 | 6 +- doc/man-pages/man8/kas_list.8 | 6 +- doc/man-pages/man8/kas_listtickets.8 | 6 +- doc/man-pages/man8/kas_noauthentication.8 | 6 +- doc/man-pages/man8/kas_quit.8 | 6 +- doc/man-pages/man8/kas_setfields.8 | 6 +- doc/man-pages/man8/kas_setpassword.8 | 6 +- doc/man-pages/man8/kas_statistics.8 | 6 +- doc/man-pages/man8/kas_stringtokey.8 | 6 +- doc/man-pages/man8/kas_unlock.8 | 6 +- doc/man-pages/man8/ptserver.8 | 13 +- doc/man-pages/man8/read_tape.8 | 295 ++ doc/man-pages/man8/uss_add.8 | 6 +- doc/man-pages/man8/uss_apropos.8 | 6 +- doc/man-pages/man8/uss_bulk.8 | 6 +- doc/man-pages/man8/uss_delete.8 | 6 +- doc/man-pages/man8/uss_help.8 | 6 +- doc/man-pages/man8/vlserver.8 | 14 +- doc/man-pages/man8/volserver.8 | 14 +- doc/man-pages/pod1/cmdebug.pod | 61 +- doc/man-pages/pod1/fs.pod | 1 + doc/man-pages/pod1/fs_apropos.pod | 2 +- doc/man-pages/pod1/fs_checkservers.pod | 2 +- doc/man-pages/pod1/fs_checkvolumes.pod | 2 +- doc/man-pages/pod1/fs_cleanacl.pod | 2 +- doc/man-pages/pod1/fs_copyacl.pod | 2 +- doc/man-pages/pod1/fs_diskfree.pod | 2 +- doc/man-pages/pod1/fs_examine.pod | 2 +- doc/man-pages/pod1/fs_exportafs.pod | 2 +- doc/man-pages/pod1/fs_flush.pod | 2 +- doc/man-pages/pod1/fs_flushall.pod | 7 +- doc/man-pages/pod1/fs_flushmount.pod | 2 +- doc/man-pages/pod1/fs_flushvolume.pod | 2 +- doc/man-pages/pod1/fs_getcacheparms.pod | 2 +- doc/man-pages/pod1/fs_getcalleraccess.pod | 7 +- doc/man-pages/pod1/fs_getcellstatus.pod | 2 +- doc/man-pages/pod1/fs_getclientaddrs.pod | 2 +- doc/man-pages/pod1/fs_getcrypt.pod | 7 +- doc/man-pages/pod1/fs_getserverprefs.pod | 2 +- doc/man-pages/pod1/fs_help.pod | 2 +- doc/man-pages/pod1/fs_listacl.pod | 2 +- doc/man-pages/pod1/fs_listaliases.pod | 7 +- doc/man-pages/pod1/fs_listcells.pod | 2 +- doc/man-pages/pod1/fs_listquota.pod | 13 +- doc/man-pages/pod1/fs_lsmount.pod | 2 +- doc/man-pages/pod1/fs_messages.pod | 2 +- doc/man-pages/pod1/fs_minidump.pod | 47 + doc/man-pages/pod1/fs_mkmount.pod | 2 +- doc/man-pages/pod1/fs_newalias.pod | 7 +- doc/man-pages/pod1/fs_newcell.pod | 2 +- doc/man-pages/pod1/fs_quota.pod | 13 +- doc/man-pages/pod1/fs_rmmount.pod | 2 +- doc/man-pages/pod1/fs_rxstatpeer.pod | 68 + doc/man-pages/pod1/fs_setacl.pod | 2 +- doc/man-pages/pod1/fs_setcachesize.pod | 2 +- doc/man-pages/pod1/fs_setcell.pod | 2 +- doc/man-pages/pod1/fs_setclientaddrs.pod | 2 +- doc/man-pages/pod1/fs_setcrypt.pod | 7 +- doc/man-pages/pod1/fs_setquota.pod | 13 +- doc/man-pages/pod1/fs_setserverprefs.pod | 2 +- doc/man-pages/pod1/fs_setvol.pod | 13 +- doc/man-pages/pod1/fs_storebehind.pod | 2 +- doc/man-pages/pod1/fs_sysname.pod | 45 +- doc/man-pages/pod1/fs_uuid.pod | 38 +- doc/man-pages/pod1/fs_whereis.pod | 2 +- doc/man-pages/pod1/fs_whichcell.pod | 2 +- doc/man-pages/pod1/fs_wscell.pod | 2 +- doc/man-pages/pod1/pts.pod | 29 + doc/man-pages/pod1/pts_adduser.pod | 14 +- doc/man-pages/pod1/pts_apropos.pod | 2 +- doc/man-pages/pod1/pts_chown.pod | 12 +- doc/man-pages/pod1/pts_creategroup.pod | 14 +- doc/man-pages/pod1/pts_createuser.pod | 15 +- doc/man-pages/pod1/pts_delete.pod | 13 +- doc/man-pages/pod1/pts_examine.pod | 17 +- doc/man-pages/pod1/pts_help.pod | 2 +- doc/man-pages/pod1/pts_interactive.pod | 21 +- doc/man-pages/pod1/pts_listentries.pod | 13 +- doc/man-pages/pod1/pts_listmax.pod | 13 +- doc/man-pages/pod1/pts_listowned.pod | 12 +- doc/man-pages/pod1/pts_membership.pod | 17 +- doc/man-pages/pod1/pts_quit.pod | 18 +- doc/man-pages/pod1/pts_removeuser.pod | 13 +- doc/man-pages/pod1/pts_rename.pod | 13 +- doc/man-pages/pod1/pts_setfields.pod | 13 +- doc/man-pages/pod1/pts_setmax.pod | 12 +- doc/man-pages/pod1/pts_sleep.pod | 19 +- doc/man-pages/pod1/pts_source.pod | 17 +- doc/man-pages/pod1/rxdebug.pod | 19 + doc/man-pages/pod1/symlink.pod | 41 + doc/man-pages/pod1/symlink_list.pod | 80 + doc/man-pages/pod1/symlink_make.pod | 77 + doc/man-pages/pod1/symlink_remove.pod | 71 + doc/man-pages/pod1/sys.pod | 4 +- doc/man-pages/pod1/vos.pod | 14 +- doc/man-pages/pod1/vos_addsite.pod | 20 +- doc/man-pages/pod1/vos_apropos.pod | 2 +- doc/man-pages/pod1/vos_backup.pod | 2 +- doc/man-pages/pod1/vos_backupsys.pod | 2 +- doc/man-pages/pod1/vos_changeaddr.pod | 2 +- doc/man-pages/pod1/vos_changeloc.pod | 7 +- doc/man-pages/pod1/vos_convertROtoRW.pod | 123 + doc/man-pages/pod1/vos_copy.pod | 170 + doc/man-pages/pod1/vos_create.pod | 13 +- doc/man-pages/pod1/vos_delentry.pod | 2 +- doc/man-pages/pod1/vos_dump.pod | 2 +- doc/man-pages/pod1/vos_examine.pod | 13 +- doc/man-pages/pod1/vos_help.pod | 2 +- doc/man-pages/pod1/vos_listaddrs.pod | 2 +- doc/man-pages/pod1/vos_listpart.pod | 2 +- doc/man-pages/pod1/vos_listvldb.pod | 2 +- doc/man-pages/pod1/vos_listvol.pod | 2 +- doc/man-pages/pod1/vos_lock.pod | 2 +- doc/man-pages/pod1/vos_move.pod | 26 +- doc/man-pages/pod1/vos_offline.pod | 2 +- doc/man-pages/pod1/vos_online.pod | 2 +- doc/man-pages/pod1/vos_partinfo.pod | 13 +- doc/man-pages/pod1/vos_release.pod | 2 +- doc/man-pages/pod1/vos_remove.pod | 2 +- doc/man-pages/pod1/vos_remsite.pod | 2 +- doc/man-pages/pod1/vos_rename.pod | 2 +- doc/man-pages/pod1/vos_restore.pod | 2 +- doc/man-pages/pod1/vos_size.pod | 7 +- doc/man-pages/pod1/vos_status.pod | 2 +- doc/man-pages/pod1/vos_syncserv.pod | 2 +- doc/man-pages/pod1/vos_syncvldb.pod | 2 +- doc/man-pages/pod1/vos_unlock.pod | 2 +- doc/man-pages/pod1/vos_unlockvldb.pod | 2 +- doc/man-pages/pod1/vos_zap.pod | 2 +- doc/man-pages/pod5/CellAlias.pod | 5 +- doc/man-pages/pod8/afsd.pod | 22 +- doc/man-pages/pod8/backup_adddump.pod | 2 +- doc/man-pages/pod8/backup_addhost.pod | 2 +- doc/man-pages/pod8/backup_addvolentry.pod | 2 +- doc/man-pages/pod8/backup_addvolset.pod | 2 +- doc/man-pages/pod8/backup_apropos.pod | 2 +- doc/man-pages/pod8/backup_dbverify.pod | 2 +- doc/man-pages/pod8/backup_deldump.pod | 2 +- doc/man-pages/pod8/backup_deletedump.pod | 2 +- doc/man-pages/pod8/backup_delhost.pod | 2 +- doc/man-pages/pod8/backup_delvolentry.pod | 2 +- doc/man-pages/pod8/backup_delvolset.pod | 2 +- doc/man-pages/pod8/backup_diskrestore.pod | 2 +- doc/man-pages/pod8/backup_dump.pod | 2 +- doc/man-pages/pod8/backup_dumpinfo.pod | 2 +- doc/man-pages/pod8/backup_help.pod | 2 +- doc/man-pages/pod8/backup_interactive.pod | 2 +- doc/man-pages/pod8/backup_jobs.pod | 2 +- doc/man-pages/pod8/backup_kill.pod | 2 +- doc/man-pages/pod8/backup_labeltape.pod | 2 +- doc/man-pages/pod8/backup_listdumps.pod | 2 +- doc/man-pages/pod8/backup_listhosts.pod | 2 +- doc/man-pages/pod8/backup_listvolsets.pod | 2 +- doc/man-pages/pod8/backup_quit.pod | 2 +- doc/man-pages/pod8/backup_readlabel.pod | 2 +- doc/man-pages/pod8/backup_restoredb.pod | 2 +- doc/man-pages/pod8/backup_savedb.pod | 2 +- doc/man-pages/pod8/backup_scantape.pod | 2 +- doc/man-pages/pod8/backup_setexp.pod | 2 +- doc/man-pages/pod8/backup_status.pod | 2 +- doc/man-pages/pod8/backup_volinfo.pod | 2 +- doc/man-pages/pod8/backup_volrestore.pod | 2 +- doc/man-pages/pod8/backup_volsetrestore.pod | 2 +- doc/man-pages/pod8/bos_addhost.pod | 2 +- doc/man-pages/pod8/bos_addkey.pod | 2 +- doc/man-pages/pod8/bos_adduser.pod | 2 +- doc/man-pages/pod8/bos_apropos.pod | 2 +- doc/man-pages/pod8/bos_create.pod | 2 +- doc/man-pages/pod8/bos_delete.pod | 2 +- doc/man-pages/pod8/bos_exec.pod | 2 +- doc/man-pages/pod8/bos_getdate.pod | 2 +- doc/man-pages/pod8/bos_getlog.pod | 2 +- doc/man-pages/pod8/bos_getrestart.pod | 2 +- doc/man-pages/pod8/bos_help.pod | 2 +- doc/man-pages/pod8/bos_install.pod | 2 +- doc/man-pages/pod8/bos_listhosts.pod | 2 +- doc/man-pages/pod8/bos_listkeys.pod | 2 +- doc/man-pages/pod8/bos_listusers.pod | 2 +- doc/man-pages/pod8/bos_prune.pod | 2 +- doc/man-pages/pod8/bos_removehost.pod | 2 +- doc/man-pages/pod8/bos_removekey.pod | 2 +- doc/man-pages/pod8/bos_removeuser.pod | 2 +- doc/man-pages/pod8/bos_restart.pod | 2 +- doc/man-pages/pod8/bos_salvage.pod | 2 +- doc/man-pages/pod8/bos_setauth.pod | 2 +- doc/man-pages/pod8/bos_setcellname.pod | 2 +- doc/man-pages/pod8/bos_setrestart.pod | 2 +- doc/man-pages/pod8/bos_shutdown.pod | 2 +- doc/man-pages/pod8/bos_start.pod | 2 +- doc/man-pages/pod8/bos_startup.pod | 2 +- doc/man-pages/pod8/bos_status.pod | 2 +- doc/man-pages/pod8/bos_stop.pod | 2 +- doc/man-pages/pod8/bos_uninstall.pod | 2 +- doc/man-pages/pod8/bos_util.pod | 5 +- doc/man-pages/pod8/bosserver.pod | 11 +- doc/man-pages/pod8/fileserver.pod | 241 +- doc/man-pages/pod8/fstrace_apropos.pod | 2 +- doc/man-pages/pod8/fstrace_clear.pod | 2 +- doc/man-pages/pod8/fstrace_dump.pod | 2 +- doc/man-pages/pod8/fstrace_help.pod | 2 +- doc/man-pages/pod8/fstrace_lslog.pod | 2 +- doc/man-pages/pod8/fstrace_lsset.pod | 2 +- doc/man-pages/pod8/fstrace_setlog.pod | 2 +- doc/man-pages/pod8/fstrace_setset.pod | 2 +- doc/man-pages/pod8/kas_apropos.pod | 2 +- doc/man-pages/pod8/kas_create.pod | 2 +- doc/man-pages/pod8/kas_delete.pod | 2 +- doc/man-pages/pod8/kas_examine.pod | 2 +- doc/man-pages/pod8/kas_forgetticket.pod | 2 +- doc/man-pages/pod8/kas_help.pod | 2 +- doc/man-pages/pod8/kas_interactive.pod | 2 +- doc/man-pages/pod8/kas_list.pod | 2 +- doc/man-pages/pod8/kas_listtickets.pod | 2 +- doc/man-pages/pod8/kas_noauthentication.pod | 2 +- doc/man-pages/pod8/kas_quit.pod | 2 +- doc/man-pages/pod8/kas_setfields.pod | 2 +- doc/man-pages/pod8/kas_setpassword.pod | 2 +- doc/man-pages/pod8/kas_statistics.pod | 2 +- doc/man-pages/pod8/kas_stringtokey.pod | 2 +- doc/man-pages/pod8/kas_unlock.pod | 2 +- doc/man-pages/pod8/ptserver.pod | 11 +- doc/man-pages/pod8/read_tape.pod | 108 + doc/man-pages/pod8/uss_add.pod | 2 +- doc/man-pages/pod8/uss_apropos.pod | 2 +- doc/man-pages/pod8/uss_bulk.pod | 2 +- doc/man-pages/pod8/uss_delete.pod | 2 +- doc/man-pages/pod8/uss_help.pod | 2 +- doc/man-pages/pod8/vlserver.pod | 12 +- doc/man-pages/pod8/volserver.pod | 12 +- src/JAVA/classes/org/openafs/jafs/Token.java | 14 + src/JAVA/libjafs/AdminToken.c | 9 +- src/JAVA/libjafs/Makefile.in | 9 +- src/afs/AIX/osi_file.c | 4 +- src/afs/AIX/osi_vfsops.c | 4 +- src/afs/DARWIN/osi_file.c | 4 +- src/afs/DARWIN/osi_vnodeops.c | 5 +- src/afs/DUX/osi_file.c | 4 +- src/afs/FBSD/osi_file.c | 4 +- src/afs/HPUX/osi_file.c | 4 +- src/afs/IRIX/osi_file.c | 4 +- src/afs/IRIX/osi_vfsops.c | 3 +- src/afs/LINUX/osi_file.c | 24 +- src/afs/LINUX/osi_groups.c | 38 +- src/afs/LINUX/osi_machdep.h | 11 + src/afs/LINUX/osi_misc.c | 17 +- src/afs/LINUX/osi_sysctl.c | 30 +- src/afs/LINUX/osi_vfsops.c | 9 +- src/afs/LINUX/osi_vnodeops.c | 28 +- src/afs/NBSD/osi_file.c | 4 +- src/afs/OBSD/osi_file.c | 10 +- src/afs/OBSD/osi_machdep.h | 4 +- src/afs/OBSD/osi_sleep.c | 29 +- src/afs/OBSD/osi_vm.c | 26 +- src/afs/OBSD/osi_vnodeops.c | 23 +- src/afs/SOLARIS/osi_file.c | 20 +- src/afs/SOLARIS/osi_vfsops.c | 44 +- src/afs/SOLARIS/osi_vnodeops.c | 76 +- src/afs/UKERNEL/afs_usrops.c | 38 +- src/afs/UKERNEL/osi_groups.c | 3 +- src/afs/VNOPS/afs_vnop_access.c | 13 +- src/afs/VNOPS/afs_vnop_create.c | 4 +- src/afs/VNOPS/afs_vnop_dirops.c | 4 +- src/afs/VNOPS/afs_vnop_link.c | 4 +- src/afs/VNOPS/afs_vnop_lookup.c | 7 +- src/afs/VNOPS/afs_vnop_read.c | 35 +- src/afs/VNOPS/afs_vnop_remove.c | 6 +- src/afs/VNOPS/afs_vnop_rename.c | 4 +- src/afs/VNOPS/afs_vnop_symlink.c | 4 +- src/afs/afs.h | 4 + src/afs/afs_buffer.c | 3 +- src/afs/afs_call.c | 9 +- src/afs/afs_callback.c | 36 +- src/afs/afs_cell.c | 103 +- src/afs/afs_dcache.c | 3 +- src/afs/afs_osi.c | 20 +- src/afs/afs_osi_alloc.c | 21 +- src/afs/afs_osi_pag.c | 10 +- src/afs/afs_pioctl.c | 16 +- src/afs/afs_prototypes.h | 7 +- src/afs/afs_segments.c | 6 +- src/afs/afs_server.c | 3 +- src/afs/afs_stats.h | 1 + src/afs/afs_trace.et | 1 + src/afs/afs_vcache.c | 2 +- src/afs/lock.h | 6 + src/afs/sysincludes.h | 3 + src/afsd/afs.rc.darwin | 41 +- src/afsd/afs.rc.linux | 28 +- src/afsd/afsd.c | 10 +- src/afsd/vsys.c | 8 +- src/afsmonitor/afsmon-output.c | 9 +- src/afsmonitor/afsmon-win.c | 7 +- src/afsmonitor/afsmonitor.c | 7 +- src/afsweb/weblog.c | 10 +- src/aklog/.cvsignore | 4 + src/aklog/Makefile.in | 8 +- src/aklog/aklog_main.c | 40 +- src/aklog/asetkey.c | 14 +- src/aklog/klog.c | 740 +++ src/aklog/skipwrap.c | 124 + src/auth/authcon.c | 33 +- src/auth/cellconfig.c | 35 +- src/auth/cellconfig.p.h | 15 +- src/auth/copyauth.c | 14 +- src/auth/ktc.c | 173 +- src/auth/setkey.c | 13 +- src/auth/test/testcellconf.c | 10 +- src/auth/userok.c | 57 +- src/auth/writeconfig.c | 26 +- src/bozo/Makefile.in | 8 +- src/bozo/bnode.c | 27 +- src/bozo/bos.c | 230 +- src/bozo/bos_util.c | 9 +- src/bozo/bosoprocs.c | 16 +- src/bozo/bosprototypes.h | 19 + src/bozo/bosserver.c | 39 +- src/bozo/cronbnodeops.c | 9 +- src/bozo/ezbnodeops.c | 9 +- src/bozo/fsbnodeops.c | 13 +- src/bu_utils/fms.c | 15 +- src/bubasics/Makefile.in | 8 +- src/bucoord/bc.p.h | 7 +- src/bucoord/bc_status.c | 14 +- src/bucoord/bucoord_prototypes.h | 17 + src/bucoord/commands.c | 98 +- src/bucoord/dlq.c | 3 +- src/bucoord/dsstub.c | 4 +- src/bucoord/dsvs.c | 4 +- src/bucoord/dump.c | 8 +- src/bucoord/dump_sched.c | 35 +- src/bucoord/main.c | 73 +- src/bucoord/regex.c | 4 + src/bucoord/restore.c | 3 +- src/bucoord/status.c | 8 +- src/bucoord/tape_hosts.c | 20 +- src/bucoord/vol_sets.c | 40 +- src/budb/Makefile.in | 8 +- src/budb/database.c | 10 +- src/budb/db_alloc.c | 8 +- src/budb/db_dump.c | 11 +- src/budb/db_hash.c | 8 +- src/budb/db_text.c | 10 +- src/budb/dbs_dump.c | 14 +- src/budb/ol_verify.c | 8 +- src/budb/procs.c | 9 +- src/budb/server.c | 26 +- src/budb/struct_ops.c | 23 +- src/butc/butc_prototypes.h | 36 + src/butc/dbentries.c | 9 +- src/butc/dump.c | 16 +- src/butc/lwps.c | 19 +- src/butc/read_tape.c | 10 +- src/butc/recoverDb.c | 13 +- src/butc/tcmain.c | 6 +- src/butc/tcprocs.c | 26 +- src/butc/tcstatus.c | 3 +- src/butc/tcudbprocs.c | 30 +- src/butc/test.c | 55 +- src/butm/file_tm.c | 5 +- src/cf/kerberos.m4 | 8 +- src/cf/linux-test1.m4 | 29 +- src/cf/linux-test4.m4 | 87 + src/cf/osconf.m4 | 76 +- src/cmd/cmd.c | 41 +- src/cmd/cmd.p.h | 16 +- src/cmd/test/ctest.c | 19 +- src/cmd/test/dtest.c | 13 +- src/cmd/test/itest.c | 25 +- src/config/.cvsignore | 7 +- src/config/Makefile.config.in | 5 +- src/config/afs_args.h | 1 + src/config/afs_sysnames.h | 5 + src/config/afsconfig.h.in | 39 + src/config/mc.c | 2 - src/config/param.amd64_nbsd30.h | 21 + src/config/param.amd64_nbsd40.h | 21 + src/config/param.arm_linux24.h | 146 + src/config/param.arm_linux26.h | 151 + src/config/param.hp_ux110.h | 2 - src/config/param.hp_ux1123.h | 4 +- src/config/param.hp_ux11i.h | 2 - src/config/param.i386_linux26.h | 1 + src/config/param.nbsd30.h | 1 + src/config/param.nbsd40.h | 160 + src/dauth/dpass.c | 3 +- src/des/andrew-conf.h | 4 + src/des/conf-arm-linux.h | 14 + src/dir/dir.c | 8 +- src/dir/salvage.c | 8 +- src/fsint/Makefile.in | 32 +- src/fsint/afsint.xg | 4 +- src/fsprobe/fsprobe.c | 13 +- src/fsprobe/fsprobe_test.c | 9 +- src/gtx/curseswindows.c | 13 +- src/gtx/frame.c | 10 +- src/gtx/gtxtest.c | 10 +- src/gtx/input.c | 10 +- src/gtx/keymap.c | 9 +- src/gtx/lightobject.c | 10 +- src/gtx/object_test.c | 9 +- src/gtx/objects.c | 9 +- src/gtx/screen_test.c | 9 +- src/gtx/textcb.c | 9 +- src/gtx/textobject.c | 13 +- src/kauth/Makefile.in | 48 +- src/kauth/admin_tools.c | 81 +- src/kauth/authclient.c | 14 +- src/kauth/client.c | 8 +- src/kauth/kaauxdb.c | 8 +- src/kauth/kadatabase.c | 10 +- src/kauth/kalocalcell.c | 8 +- src/kauth/kalog.c | 8 +- src/kauth/kas.c | 8 +- src/kauth/kaserver.c | 10 +- src/kauth/kautils.c | 8 +- src/kauth/kdb.c | 10 +- src/kauth/kkids.c | 3 +- src/kauth/klog.c | 15 +- src/kauth/knfs.c | 19 +- src/kauth/kpasswd.c | 14 +- src/kauth/kpwvalid.c | 9 +- src/kauth/krb_tf.c | 8 +- src/kauth/krb_udp.c | 26 +- src/kauth/manyklog.c | 11 +- src/kauth/read_passwd.c | 9 +- src/kauth/rebuild.c | 15 +- src/kauth/test/multiklog.c | 11 +- src/kauth/test/test_getticket.c | 12 +- src/kauth/test/test_rxkad_free.c | 12 +- src/kauth/token.c | 8 +- src/kauth/user.c | 8 +- src/libacl/aclprocs.c | 4 +- src/libadmin/bos/Makefile.in | 2 +- src/libadmin/bos/afs_bosAdmin.c | 9 +- src/libadmin/cfg/cfgclient.c | 12 +- src/libadmin/cfg/cfginternal.c | 6 +- src/libadmin/cfg/test/cfgtest.c | 58 +- src/libadmin/kas/Makefile.in | 2 +- src/libadmin/kas/afs_kasAdmin.c | 9 +- src/libadmin/pts/Makefile.in | 2 +- src/libadmin/pts/afs_ptsAdmin.c | 11 +- src/libadmin/samples/rxdebug_conns.c | 4 +- src/libadmin/samples/rxdebug_rx_stats.c | 10 +- src/libadmin/samples/rxstat_get_peer.c | 8 +- src/libadmin/samples/rxstat_get_process.c | 9 +- src/libadmin/test/afscp.c | 6 +- src/libadmin/test/bos.c | 146 +- src/libadmin/test/client.c | 58 +- src/libadmin/test/kas.c | 46 +- src/libadmin/test/pts.c | 82 +- src/libadmin/test/util.c | 14 +- src/libadmin/test/util.h | 6 +- src/libadmin/test/vos.c | 134 +- src/libadmin/vos/Makefile.in | 6 +- src/libadmin/vos/afs_vosAdmin.c | 8 +- src/libadmin/vos/lockprocs.c | 8 +- src/libadmin/vos/vosutils.c | 8 +- src/libadmin/vos/vsprocs.c | 8 +- src/libafs/MakefileProto.LINUX.in | 2 +- src/libafsrpc/Makefile.in | 10 +- src/libuafs/Makefile.common.in | 6 +- src/log/Makefile.in | 8 +- src/log/kseal.c | 8 +- src/log/tokens.c | 9 +- src/log/unlog.c | 15 +- src/lwp/Makefile.in | 16 +- src/lwp/iomgr.c | 39 +- src/lwp/lock.c | 14 +- src/lwp/lock.h | 1 + src/lwp/lwp.c | 100 +- src/lwp/lwp.h | 19 +- src/lwp/preempt.c | 4 +- src/lwp/process.c | 18 +- src/lwp/process.s | 57 +- src/lwp/threadname.c | 9 +- src/lwp/timer.h | 11 +- src/lwp/waitkey.c | 8 +- src/null/null.c | 1 + src/packaging/OpenBSD/buildpkg.sh | 5 +- src/packaging/RedHat/.cvsignore | 1 + src/packaging/RedHat/RPM-build-notes | 35 + .../RedHat/afs-krb5-2.0-com_err.patch | 24 - .../RedHat/afs-krb5-2.0-krb524.patch | 31 - .../RedHat/afs-krb5-2.0-libsocket.patch | 39 - .../RedHat/afs-krb5-2.0-openafs1.3.patch | 12 - .../RedHat/afs-krb5-2.0-res_search.patch | 14 - src/packaging/RedHat/makesrpm.pl | 136 + src/packaging/RedHat/mockbuild.pl | 313 ++ src/packaging/RedHat/openafs-buildall.sh | 4 +- src/packaging/RedHat/openafs-buildfedora.pl | 49 + src/packaging/RedHat/openafs-client.init | 8 +- .../RedHat/{kmodtool => openafs-kmodtool} | 4 + src/packaging/RedHat/openafs-krb5-2.0.tar.gz | Bin 1042351 -> 0 bytes src/packaging/RedHat/openafs.spec.in | 254 +- src/pam/afs_pam_msg.c | 8 +- src/pam/afs_setcred.c | 4 +- src/pam/afs_util.c | 19 +- src/ptserver/Makefile.in | 14 +- src/ptserver/db_verify.c | 10 +- src/ptserver/display.c | 8 +- src/ptserver/pt_util.c | 11 +- src/ptserver/ptprocs.c | 8 +- src/ptserver/pts.c | 130 +- src/ptserver/ptserver.c | 23 +- src/ptserver/ptuser.c | 55 +- src/ptserver/ptutils.c | 8 +- src/ptserver/readgroup.c | 9 +- src/ptserver/readpwd.c | 9 +- src/ptserver/testpt.c | 24 +- src/ptserver/ubik.c | 11 +- src/ptserver/utils.c | 11 +- src/rx/LINUX/rx_knet.c | 36 +- src/rx/SOLARIS/rx_knet.c | 14 +- src/rx/UKERNEL/rx_knet.c | 6 +- src/rx/rx.c | 119 +- src/rx/rx.h | 38 +- src/rx/rx_event.c | 101 +- src/rx/rx_kcommon.c | 24 +- src/rx/rx_lwp.c | 16 +- src/rx/rx_misc.c | 12 +- src/rx/rx_multi.c | 6 +- src/rx/rx_packet.c | 8 +- src/rx/rx_prototypes.h | 22 +- src/rx/rx_pthread.c | 9 +- src/rx/rx_rdwr.c | 22 +- src/rx/rx_trace.c | 9 +- src/rx/rx_user.c | 10 +- src/rx/test/generator.c | 10 +- src/rx/xdr.c | 3 +- src/rx/xdr_array.c | 3 +- src/rx/xdr_rec.c | 12 +- src/rx/xdr_refernce.c | 3 +- src/rxdebug/rxdebug.c | 14 +- src/rxgen/Makefile.in | 3 + src/rxgen/rpc_cout.c | 8 +- src/rxgen/rpc_hout.c | 8 +- src/rxgen/rpc_main.c | 22 +- src/rxgen/rpc_parse.c | 74 +- src/rxgen/rpc_scan.c | 9 +- src/rxgen/rpc_svcout.c | 8 +- src/rxgen/rpc_util.c | 8 +- src/rxgen/rpc_util.h | 1 + src/rxkad/crc.c | 8 +- src/rxkad/domestic/crypt_conn.c | 5 +- src/rxkad/domestic/fcrypt.c | 3 +- src/rxkad/md4.c | 8 +- src/rxkad/md5.c | 9 +- src/rxkad/private_data.h | 1 + src/rxkad/rxkad_client.c | 10 +- src/rxkad/rxkad_common.c | 10 +- src/rxkad/rxkad_prototypes.h | 8 +- src/rxkad/rxkad_server.c | 36 +- src/rxkad/test/stress.c | 8 +- src/rxkad/ticket.c | 8 +- src/rxkad/ticket5.c | 26 +- src/rxstat/Makefile.in | 8 +- src/scout/scout.c | 16 +- src/shlibafsrpc/Makefile.in | 6 +- src/shlibafsrpc/mapfile | 7 +- src/shlibafsrpc/mapfile.afs_xdr | 7 +- src/sys/Makefile.in | 130 +- src/sys/pagsh.c | 17 +- src/sys/rmtsysc.c | 8 +- src/sys/rmtsysd.c | 3 +- src/sys/rmtsysnet.c | 14 +- src/sys/rmtsyss.c | 5 +- src/tests/Makefile.in | 57 +- src/tests/OpenAFS/Auth.pm | 343 ++ src/tests/OpenAFS/ConfigUtils.pm | 36 +- src/tests/OpenAFS/OS.pm | 312 ++ src/tests/OpenAFS/config.pm | 4 +- src/tests/afs-newcell.pl | 772 ++- src/tests/afs-rmcell.pl | 101 + src/tests/baduniq.pl | 2 +- src/tests/bosexec.pl | 4 +- src/tests/bosinstall.pl | 2 +- src/tests/extcopyin | 10 +- src/tests/extcopyout | 8 +- src/tests/hardlink5 | 7 +- src/tests/reauth.pl | 34 +- src/tests/run-tests.in | 42 +- src/tests/vosdump.pl | 2 +- src/tests/vosrestore.pl | 2 +- src/tsm41/aix_aklog.c | 220 +- src/ubik/Makefile.in | 22 +- src/ubik/beacon.c | 12 +- src/ubik/disk.c | 8 +- src/ubik/phys.c | 19 +- src/ubik/recovery.c | 117 +- src/ubik/remote.c | 81 +- src/ubik/ubik.c | 9 +- src/ubik/ubik.p.h | 4 +- src/ubik/ubikcmd.c | 8 +- src/ubik/udebug.c | 12 +- src/ubik/uinit.c | 8 +- src/ubik/utst_client.c | 8 +- src/ubik/utst_server.c | 8 +- src/ubik/vote.c | 8 +- src/update/Makefile.in | 8 +- src/update/client.c | 8 +- src/update/server.c | 8 +- src/update/utils.c | 8 +- src/usd/usd_file.c | 8 +- src/uss/grammar.y | 8 +- src/uss/lex.l | 10 +- src/uss/uss.c | 50 +- src/uss/uss_acl.c | 8 +- src/uss/uss_common.c | 9 +- src/uss/uss_common.h | 6 - src/uss/uss_fs.c | 10 +- src/uss/uss_kauth.c | 8 +- src/uss/uss_procs.c | 8 +- src/uss/uss_vol.c | 8 +- src/util/afsutil.h | 2 +- src/util/afsutil_prototypes.h | 2 +- src/util/assert.c | 10 +- src/util/casestrcpy.c | 8 +- src/util/fileutil.c | 10 +- src/util/get_krbrlm.c | 4 +- src/util/hostparse.c | 8 +- src/util/kreltime.c | 8 +- src/util/ktime.c | 8 +- src/util/netutils.c | 11 +- src/util/serverLog.c | 31 +- src/util/snprintf.c | 23 +- src/util/softsig.c | 1 + src/util/strlcat.c | 3 +- src/util/sys.c | 4 +- src/util/uuid.c | 10 +- src/util/volparse.c | 8 +- src/venus/Makefile.in | 54 +- src/venus/cacheout.c | 23 +- src/venus/cmdebug.c | 107 +- src/venus/fs.c | 185 +- src/venus/fstrace.c | 59 +- src/venus/kdump.c | 13 +- src/venus/livesys.c | 9 +- src/venus/test/fulltest.c | 84 +- src/venus/test/getinitparams.c | 4 +- src/venus/test/idtest.c | 3 +- src/venus/test/owntest.c | 3 +- src/venus/twiddle.c | 14 +- src/venus/up.c | 131 +- src/venus/whatfid.c | 7 +- src/vfsck/dirutils.c | 3 +- src/vfsck/setup.c | 3 +- src/vfsck/utilities.c | 3 +- src/viced/afsfileprocs.c | 13 +- src/viced/callback.c | 50 +- src/viced/check_sysid.c | 3 +- src/viced/fsprobe.c | 11 +- src/viced/host.c | 70 +- src/viced/host.h | 6 +- src/viced/physio.c | 10 +- src/viced/viced.c | 90 +- src/vlserver/Makefile.in | 12 +- src/vlserver/cnvldb.c | 23 +- src/vlserver/sascnvldb.c | 9 +- src/vlserver/vlclient.c | 16 +- src/vlserver/vldb_check.c | 21 +- src/vlserver/vldbint.xg | 2 +- src/vlserver/vlprocs.c | 30 +- src/vlserver/vlserver.c | 37 +- src/vlserver/vlutils.c | 11 +- src/vol/Makefile.in | 20 +- src/vol/clone.c | 8 +- src/vol/devname.c | 13 +- src/vol/fssync.c | 18 +- src/vol/ihandle.c | 26 +- src/vol/listinodes.c | 550 ++- src/vol/namei_ops.c | 90 +- src/vol/partition.c | 11 +- src/vol/physio.c | 8 +- src/vol/purge.c | 8 +- src/vol/vnode.c | 10 +- src/vol/vol-bless.c | 6 +- src/vol/vol-info.c | 6 +- src/vol/vol-salvage.c | 3 +- src/volser/Makefile.in | 8 +- src/volser/dumpstuff.c | 12 +- src/volser/lockprocs.c | 14 +- src/volser/physio.c | 8 +- src/volser/restorevol.c | 16 +- src/volser/vol-dump.c | 6 +- src/volser/volmain.c | 43 +- src/volser/volprocs.c | 190 +- src/volser/volser.p.h | 25 +- src/volser/volser_prototypes.h | 2 +- src/volser/voltrans.c | 11 +- src/volser/vos.c | 300 +- src/volser/vsprocs.c | 302 +- src/volser/vsutils.c | 11 +- src/xstat/xstat_cm.c | 14 +- src/xstat/xstat_cm_test.c | 15 +- src/xstat/xstat_fs.c | 14 +- src/xstat/xstat_fs_callback.c | 9 +- src/xstat/xstat_fs_test.c | 8 +- 899 files changed, 20151 insertions(+), 8548 deletions(-) create mode 100644 doc/man-pages/man1/fs_minidump.1 create mode 100644 doc/man-pages/man1/fs_rxstatpeer.1 create mode 100644 doc/man-pages/man1/symlink.1 create mode 100644 doc/man-pages/man1/symlink_list.1 create mode 100644 doc/man-pages/man1/symlink_make.1 create mode 100644 doc/man-pages/man1/symlink_remove.1 create mode 100644 doc/man-pages/man1/vos_convertROtoRW.1 create mode 100644 doc/man-pages/man1/vos_copy.1 create mode 100644 doc/man-pages/man8/read_tape.8 create mode 100644 doc/man-pages/pod1/fs_minidump.pod create mode 100644 doc/man-pages/pod1/fs_rxstatpeer.pod create mode 100644 doc/man-pages/pod1/symlink.pod create mode 100644 doc/man-pages/pod1/symlink_list.pod create mode 100644 doc/man-pages/pod1/symlink_make.pod create mode 100644 doc/man-pages/pod1/symlink_remove.pod create mode 100644 doc/man-pages/pod1/vos_convertROtoRW.pod create mode 100644 doc/man-pages/pod1/vos_copy.pod create mode 100644 doc/man-pages/pod8/read_tape.pod create mode 100644 src/aklog/.cvsignore create mode 100644 src/aklog/klog.c create mode 100644 src/aklog/skipwrap.c create mode 100644 src/bozo/bosprototypes.h create mode 100644 src/bucoord/bucoord_prototypes.h create mode 100644 src/butc/butc_prototypes.h create mode 100644 src/config/param.amd64_nbsd30.h create mode 100644 src/config/param.amd64_nbsd40.h create mode 100644 src/config/param.arm_linux24.h create mode 100644 src/config/param.arm_linux26.h create mode 100644 src/config/param.nbsd40.h create mode 100644 src/des/conf-arm-linux.h create mode 100644 src/packaging/RedHat/.cvsignore create mode 100644 src/packaging/RedHat/RPM-build-notes delete mode 100644 src/packaging/RedHat/afs-krb5-2.0-com_err.patch delete mode 100644 src/packaging/RedHat/afs-krb5-2.0-krb524.patch delete mode 100644 src/packaging/RedHat/afs-krb5-2.0-libsocket.patch delete mode 100644 src/packaging/RedHat/afs-krb5-2.0-openafs1.3.patch delete mode 100644 src/packaging/RedHat/afs-krb5-2.0-res_search.patch create mode 100755 src/packaging/RedHat/makesrpm.pl create mode 100755 src/packaging/RedHat/mockbuild.pl create mode 100755 src/packaging/RedHat/openafs-buildfedora.pl rename src/packaging/RedHat/{kmodtool => openafs-kmodtool} (96%) delete mode 100644 src/packaging/RedHat/openafs-krb5-2.0.tar.gz create mode 100644 src/tests/OpenAFS/Auth.pm create mode 100644 src/tests/OpenAFS/OS.pm create mode 100644 src/tests/afs-rmcell.pl diff --git a/Makefile.in b/Makefile.in index 7f2f42c42..2ace1eb89 100644 --- a/Makefile.in +++ b/Makefile.in @@ -118,7 +118,7 @@ pinstall: config procmgmt: pinstall ${COMPILE_PART1} procmgmt ${COMPILE_PART2} -util: procmgmt des +util: procmgmt des lwp_depinstall ${COMPILE_PART1} util ${COMPILE_PART2} audit: util rx rxkad @@ -395,9 +395,6 @@ kauth_depinstall: pinstall rxgen comerr ptserver_depinstall: pinstall rxgen comerr ${COMPILE_PART1} ptserver ${COMPILE_DEPINSTALL} -${DEST}/bin/dedebug: dedebug - ${INSTALL} -s $? $@ - # # libafs build targets @@ -673,6 +670,7 @@ clean2: -${COMPILE_PART1} libafsauthent ${COMPILE_CLEAN} -${COMPILE_PART1} shlibafsrpc ${COMPILE_CLEAN} -${COMPILE_PART1} shlibafsauthent ${COMPILE_CLEAN} + -${COMPILE_PART1} platform ${COMPILE_CLEAN} -${COMPILE_PART1} libadmin ${COMPILE_CLEAN} -${COMPILE_PART1} libadmin/adminutil ${COMPILE_CLEAN} -${COMPILE_PART1} libadmin/client ${COMPILE_CLEAN} @@ -798,7 +796,6 @@ distclean: clean src/tbutc/Makefile \ src/tests/Makefile \ src/tests/run-tests \ - src/tests/OpenAFS/Dirpath.pm \ src/tsm41/Makefile \ src/tviced/Makefile \ src/tvolser/Makefile \ diff --git a/README b/README index c7fdff82d..5c263db1d 100644 --- a/README +++ b/README @@ -68,6 +68,30 @@ A. Creating the proper directory structure. or insecure software included with OpenAFS. See README.obsolete and README.insecure for more details. + There is an option to control whether or not binaries are stripped + of their symbol table information. All binaries, except for the + 'fileserver' and 'volserver' executables, are stripped by default. + + To prevent stripping, specify the '--disable-strip-binaries' option on + the ./configure command line. + + This option works alongside the existing --enable-debug option to + control how binaries are produced. When --enable-debug is specified, + binaries will not be stripped. This behavior can be modified by + using different combinations of --enable-debug and --enable (or + --disable)-strip-binaries. One can, for example, compile binaries for + debug and strip them anyway. Alternatively, one can compile without + debug and force the binaries to not be stripped. Note that these + combinations are not necessarily useful. + + If neither of these options is specified, the default will be to build + non-debug binaries that are stripped (with the exceptions noted above, + which are never stripped at present). Specifying --enable-debug also + turns on --disable-strip-binaries. These are the most useful settings. + + The two binaries noted above, 'fileserver' and 'volserver' will never + be stripped, regardless of any options given to configure. + There are two modes for directory path handling: "Transarc mode" and "default mode": - In Transarc mode, we retain compatibility with Transarc/IBM AFS tools by putting client configuaration files in /usr/vice/etc, and server diff --git a/acinclude.m4 b/acinclude.m4 index c4d07d7c5..aed68b066 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -70,6 +70,9 @@ AC_ARG_ENABLE(optimize-kernel, AC_ARG_ENABLE(debug, [ --enable-debug enable compilation of the user space code with debugging information (defaults to disabled)],, enable_debug="no" ) +AC_ARG_ENABLE(strip-binaries, +[ --disable-strip-binaries disable stripping of symbol information from binaries (defaults to enabled)],, enable_strip_binaries="maybe" +) AC_ARG_ENABLE(optimize, [ --disable-optimize disable optimization for compilation of the user space code (defaults to enabled)],, enable_optimize="yes" ) @@ -79,6 +82,9 @@ AC_ARG_ENABLE(debug-lwp, AC_ARG_ENABLE(optimize-lwp, [ --disable-optimize-lwp disable optimization for compilation of the LWP code (defaults to enabled)],, enable_optimize_lwp="yes" ) +AC_ARG_ENABLE(warnings, +[ --enable-warnings enable compilation warnings when building with gcc (defaults to disabled)],, enable_warnings="no" +) enable_login="no" @@ -286,6 +292,14 @@ else AFS_PARAM_COMMON=param.nbsd20.h AFS_SYSNAME="amd64_nbsd20" ;; + x86_64-*-netbsd*3.[0-8]*) + AFS_PARAM_COMMON=param.nbsd30.h + AFS_SYSNAME="amd64_nbsd30" + ;; + x86_64-*-netbsd*4.[0-8]*) + AFS_PARAM_COMMON=param.nbsd40.h + AFS_SYSNAME="amd64_nbsd40" + ;; powerpc-*-netbsd*2.0*) AFS_PARAM_COMMON=param.nbsd20.h AFS_SYSNAME="ppc_nbsd20" @@ -332,6 +346,9 @@ else hppa*-hp-hpux11.11) AFS_SYSNAME="hp_ux11i" ;; + hppa*-hp-hpux11.23) + AFS_SYSNAME="hp_ux1123" + ;; ia64-hp-hpux11.22) AFS_SYSNAME="ia64_hpux1122" ;; @@ -581,7 +598,10 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) [LINUX_BUILD_VNODE_FROM_INODE(${srcdir}/src/config,src/afs/LINUX,${srcdir}/src/afs/LINUX)] ) + LINUX_KBUILD_USES_EXTRA_CFLAGS LINUX_KERNEL_COMPILE_WORKS + LINUX_HAVE_CURRENT_KERNEL_TIME + LINUX_KMEM_CACHE_INIT LINUX_HAVE_KMEM_CACHE_T LINUX_KMEM_CACHE_CREATE_TAKES_DTOR LINUX_CONFIG_H_EXISTS @@ -614,12 +634,14 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) LINUX_AOP_WRITEBACK_CONTROL LINUX_FS_STRUCT_FOP_HAS_FLOCK LINUX_FS_STRUCT_FOP_HAS_SENDFILE + LINUX_FS_STRUCT_FOP_HAS_SPLICE LINUX_KERNEL_LINUX_SYSCALL_H LINUX_KERNEL_LINUX_SEQ_FILE_H LINUX_KERNEL_POSIX_LOCK_FILE_WAIT_ARG LINUX_KERNEL_SELINUX LINUX_KERNEL_SOCK_CREATE LINUX_KERNEL_PAGE_FOLLOW_LINK + LINUX_KEY_TYPE_H_EXISTS LINUX_NEED_RHCONFIG LINUX_RECALC_SIGPENDING_ARG_TYPE LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_PARENT @@ -647,6 +669,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) LINUX_GENERIC_FILE_AIO_READ LINUX_INIT_WORK_HAS_DATA LINUX_REGISTER_SYSCTL_TABLE_NOFLAG + LINUX_SYSCTL_TABLE_CHECKING + LINUX_HAVE_IGET + LINUX_FS_STRUCT_NAMEIDATA_HAS_PATH LINUX_EXPORTS_SYS_CHDIR LINUX_EXPORTS_SYS_CLOSE LINUX_EXPORTS_SYS_OPEN @@ -720,6 +745,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) if test "x$ac_cv_linux_config_h_exists" = "xyes" ; then AC_DEFINE(CONFIG_H_EXISTS, 1, [define if config.h exists]) fi + if test "x$ac_cv_linux_key_type_h_exists" = "xyes" ; then + AC_DEFINE(KEY_TYPE_H_EXISTS, 1, [define if key-type.h exists]) + fi if test "x$ac_cv_linux_defines_for_each_process" = "xyes" ; then AC_DEFINE(DEFINED_FOR_EACH_PROCESS, 1, [define if for_each_process defined]) fi @@ -861,15 +889,33 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) if test "x$ac_cv_linux_fs_struct_fop_has_sendfile" = "xyes" ; then AC_DEFINE(STRUCT_FILE_OPERATIONS_HAS_SENDFILE, 1, [define if your struct file_operations has sendfile]) fi + if test "x$ac_cv_linux_fs_struct_fop_has_splice" = "xyes" ; then + AC_DEFINE(STRUCT_FILE_OPERATIONS_HAS_SPLICE, 1, [define if your struct file_operations has splice_write and splice_read]) + fi if test "x$ac_cv_linux_register_sysctl_table_noflag" = "xyes" ; then AC_DEFINE(REGISTER_SYSCTL_TABLE_NOFLAG, 1, [define if register_sysctl_table has no insert_at head flag]) fi + if test "x$ac_cv_linux_sysctl_table_checking" = "xyes" ; then + AC_DEFINE(SYSCTL_TABLE_CHECKING, 1, [define if your kernel has sysctl table checking]) + fi + if test "x$ac_cv_linux_have_iget" = "xyes" ; then + AC_DEFINE(HAVE_IGET, 1, [define if your kernel has iget]) + fi + if test "x$ac_cv_linux_struct_nameidata_has_path" = "xyes" ; then + AC_DEFINE(STRUCT_NAMEIDATA_HAS_PATH, 1, [define if your struct nameidata has path]) + fi if test "x$ac_cv_linux_exports_tasklist_lock" = "xyes" ; then AC_DEFINE(EXPORTED_TASKLIST_LOCK, 1, [define if tasklist_lock exported]) fi if test "x$ac_cv_linux_have_kmem_cache_t" = "xyes" ; then AC_DEFINE(HAVE_KMEM_CACHE_T, 1, [define if kmem_cache_t exists]) fi + if test "x$ac_cv_linux_kmem_cache_init" = "xyes" ; then + AC_DEFINE(KMEM_CACHE_INIT, 1, [define for new kmem_cache init function parameters]) + fi + if test "x$ac_cv_linux_have_current_kernel_time" = "xyes" ; then + AC_DEFINE(HAVE_CURRENT_KERNEL_TIME, 1, [define if current_kernel_time() exists]) + fi if test "x$ac_cv_linux_have_kmem_cache_t" = "xyes" ; then AC_DEFINE(KMEM_CACHE_TAKES_DTOR, 1, [define if kmem_cache_create takes a destructor argument]) fi @@ -1126,7 +1172,7 @@ AC_HEADER_DIRENT AC_CHECK_HEADERS(stdlib.h string.h unistd.h fcntl.h sys/time.h sys/file.h) AC_CHECK_HEADERS(netinet/in.h netdb.h sys/fcntl.h sys/mnttab.h sys/mntent.h) AC_CHECK_HEADERS(mntent.h sys/vfs.h sys/param.h sys/fs_types.h sys/fstyp.h) -AC_CHECK_HEADERS(sys/mount.h strings.h termios.h signal.h) +AC_CHECK_HEADERS(sys/mount.h strings.h termios.h signal.h poll.h) AC_CHECK_HEADERS(windows.h malloc.h winsock2.h direct.h io.h sys/user.h) AC_CHECK_HEADERS(security/pam_modules.h siad.h usersec.h ucontext.h regex.h) @@ -1146,7 +1192,7 @@ AC_SUBST(BUILD_LOGIN) AC_CHECK_FUNCS(utimes random srandom getdtablesize snprintf strlcat strlcpy re_comp re_exec flock) AC_CHECK_FUNCS(setprogname getprogname sigaction mkstemp vsnprintf strerror strcasestr) -AC_CHECK_FUNCS(setvbuf) +AC_CHECK_FUNCS(setvbuf vsyslog) AC_FUNC_SETVBUF_REVERSED AC_CHECK_FUNCS(regcomp regexec regerror) AC_MSG_CHECKING([for POSIX regex library]) diff --git a/configure b/configure index 917e0a087..9c3a64688 100755 --- a/configure +++ b/configure @@ -673,6 +673,7 @@ AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE +CPP build build_cpu build_vendor @@ -681,7 +682,6 @@ host host_cpu host_vendor host_os -CPP GREP EGREP LN_S @@ -760,6 +760,8 @@ LWP_OPTMZ MT_CC MT_CFLAGS MT_LIBS +NO_STRIP_BIN +NO_STRIP_KRB OPTMZ PAM_CFLAGS PAM_LIBS @@ -1395,9 +1397,11 @@ Optional Features: --enable-debug-kernel enable compilation of the kernel module with debugging information (defaults to disabled) --disable-optimize-kernel disable compilation of the kernel module with optimization (defaults based on platform) --enable-debug enable compilation of the user space code with debugging information (defaults to disabled) + --disable-strip-binaries disable stripping of symbol information from binaries (defaults to enabled) --disable-optimize disable optimization for compilation of the user space code (defaults to enabled) --enable-debug-lwp enable compilation of the LWP code with debugging information (defaults to disabled) --disable-optimize-lwp disable optimization for compilation of the LWP code (defaults to enabled) + --enable-warnings enable compilation warnings when building with gcc (defaults to disabled) --enable-bigendian the target is big endian --enable-littleendian the target is little endian @@ -2170,7 +2174,7 @@ fi # Define the identity of the package. PACKAGE=openafs - VERSION=1.4.6 + VERSION=1.4.7pre1 cat >>confdefs.h <<_ACEOF @@ -2318,7 +2322,7 @@ am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' ac_config_headers="$ac_config_headers src/config/afsconfig.h" -MACOS_VERSION=1.4.6 +MACOS_VERSION=1.4.7fc1 @@ -3496,6 +3500,49 @@ else fi +for ac_prog in /lib/cpp /usr/bin/cpp /usr/ccs/lib/cpp cpp +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CPP"; then + ac_cv_prog_CPP="$CPP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_dummy="$PATH:/" +for as_dir in $as_dummy +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CPP="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CPP=$ac_cv_prog_CPP +if test -n "$CPP"; then + { echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CPP" && break +done + # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 @@ -4794,6 +4841,14 @@ else fi +# Check whether --enable-strip-binaries was given. +if test "${enable_strip_binaries+set}" = set; then + enableval=$enable_strip_binaries; +else + enable_strip_binaries="maybe" + +fi + # Check whether --enable-optimize was given. if test "${enable_optimize+set}" = set; then enableval=$enable_optimize; @@ -4818,6 +4873,14 @@ else fi +# Check whether --enable-warnings was given. +if test "${enable_warnings+set}" = set; then + enableval=$enable_warnings; +else + enable_warnings="no" + +fi + enable_login="no" @@ -6347,6 +6410,14 @@ echo $ECHO_N "checking your AFS sysname... $ECHO_C" >&6; } AFS_PARAM_COMMON=param.nbsd20.h AFS_SYSNAME="amd64_nbsd20" ;; + x86_64-*-netbsd*3.0-8*) + AFS_PARAM_COMMON=param.nbsd30.h + AFS_SYSNAME="amd64_nbsd30" + ;; + x86_64-*-netbsd*4.0-8*) + AFS_PARAM_COMMON=param.nbsd40.h + AFS_SYSNAME="amd64_nbsd40" + ;; powerpc-*-netbsd*2.0*) AFS_PARAM_COMMON=param.nbsd20.h AFS_SYSNAME="ppc_nbsd20" @@ -6393,6 +6464,9 @@ echo $ECHO_N "checking your AFS sysname... $ECHO_C" >&6; } hppa*-hp-hpux11.11) AFS_SYSNAME="hp_ux11i" ;; + hppa*-hp-hpux11.23) + AFS_SYSNAME="hp_ux1123" + ;; ia64-hp-hpux11.22) AFS_SYSNAME="ia64_hpux1122" ;; @@ -7089,14 +7163,19 @@ echo "${ECHO_T}yes" >&6; } - { echo "$as_me:$LINENO: checking for linux kernel module build works" >&5 -echo $ECHO_N "checking for linux kernel module build works... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: checking if linux kbuild requires EXTRA_CFLAGS" >&5 +echo $ECHO_N "checking if linux kbuild requires EXTRA_CFLAGS... $ECHO_C" >&6; } + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS=-Wall if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -7117,33 +7196,30 @@ void conftest(void) MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then : + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_linux_kbuild_requires_extra_cflags=no else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - { { echo "$as_me:$LINENO: error: Fix problem or use --disable-kernel-module... -See \`config.log' for more details." >&5 -echo "$as_me: error: Fix problem or use --disable-kernel-module... -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + ac_linux_kbuild_requires_extra_cflags=yes fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include #include int @@ -7188,38 +7264,32 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - : + ac_linux_kbuild_requires_extra_cflags=no else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - { { echo "$as_me:$LINENO: error: Fix problem or use --disable-kernel-module... -See \`config.log' for more details." >&5 -echo "$as_me: error: Fix problem or use --disable-kernel-module... -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + ac_linux_kbuild_requires_extra_cflags=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="$ac_save_CPPFLAGS" fi - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - - { echo "$as_me:$LINENO: checking whether kmem_cache_t exists" >&5 -echo $ECHO_N "checking whether kmem_cache_t exists... $ECHO_C" >&6; } - if test "${ac_cv_linux_have_kmem_cache_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else + CPPFLAGS="$save_CPPFLAGS" + { echo "$as_me:$LINENO: result: $ac_linux_kbuild_requires_extra_cflags" >&5 +echo "${ECHO_T}$ac_linux_kbuild_requires_extra_cflags" >&6; } + { echo "$as_me:$LINENO: checking for linux kernel module build works" >&5 +echo $ECHO_N "checking for linux kernel module build works... $ECHO_C" >&6; } if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -7230,41 +7300,52 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include +#include void conftest(void) { -kmem_cache_t *k; + } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_have_kmem_cache_t=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then : else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_have_kmem_cache_t=no + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + { { echo "$as_me:$LINENO: error: Fix problem or use --disable-kernel-module... +See \`config.log' for more details." >&5 +echo "$as_me: error: Fix problem or use --disable-kernel-module... +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include +#include int main () { -kmem_cache_t *k; + ; return 0; } @@ -7303,34 +7384,41 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_have_kmem_cache_t=yes + : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_have_kmem_cache_t=no + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + { { echo "$as_me:$LINENO: error: Fix problem or use --disable-kernel-module... +See \`config.log' for more details." >&5 +echo "$as_me: error: Fix problem or use --disable-kernel-module... +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="$ac_save_CPPFLAGS" fi -fi - - { echo "$as_me:$LINENO: result: $ac_cv_linux_have_kmem_cache_t" >&5 -echo "${ECHO_T}$ac_cv_linux_have_kmem_cache_t" >&6; } + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } - { echo "$as_me:$LINENO: checking whether kmem_cache_create takes a destructor argument" >&5 -echo $ECHO_N "checking whether kmem_cache_create takes a destructor argument... $ECHO_C" >&6; } - if test "${ac_cv_linux_kmem_cache_create_takes_dtor+set}" = set; then + { echo "$as_me:$LINENO: checking for current_kernel_time()" >&5 +echo $ECHO_N "checking for current_kernel_time()... $ECHO_C" >&6; } + if test "${ac_cv_linux_have_current_kernel_time+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -7341,41 +7429,44 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { -kmem_cache_create(NULL, 0, 0, 0, NULL, NULL); +struct timespec s = current_kernel_time(); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_kmem_cache_create_takes_dtor=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_have_current_kernel_time=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_kmem_cache_create_takes_dtor=no + ac_cv_linux_have_current_kernel_time=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -kmem_cache_create(NULL, 0, 0, 0, NULL, NULL); +struct timespec s = current_kernel_time(); ; return 0; } @@ -7414,12 +7505,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_kmem_cache_create_takes_dtor=yes + ac_cv_linux_have_current_kernel_time=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_kmem_cache_create_takes_dtor=no + ac_cv_linux_have_current_kernel_time=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -7427,21 +7518,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_kmem_cache_create_takes_dtor" >&5 -echo "${ECHO_T}$ac_cv_linux_kmem_cache_create_takes_dtor" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_have_current_kernel_time" >&5 +echo "${ECHO_T}$ac_cv_linux_have_current_kernel_time" >&6; } - { echo "$as_me:$LINENO: checking for linux/config.h existance" >&5 -echo $ECHO_N "checking for linux/config.h existance... $ECHO_C" >&6; } - if test "${ac_cv_linux_config_h_exists+set}" = set; then + { echo "$as_me:$LINENO: checking for new kmem_cache init function parameters" >&5 +echo $ECHO_N "checking for new kmem_cache init function parameters... $ECHO_C" >&6; } + if test "${ac_cv_linux_kmem_cache_init+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -7452,40 +7546,49 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { +extern struct kmem_cache *kmem_cache_create(const char *, size_t, size_t, + unsigned long, + void (*)(struct kmem_cache *, void *)); return; } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_config_h_exists=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_kmem_cache_init=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_config_h_exists=no + ac_cv_linux_kmem_cache_init=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { +extern struct kmem_cache *kmem_cache_create(const char *, size_t, size_t, + unsigned long, + void (*)(struct kmem_cache *, void *)); return; ; return 0; @@ -7525,12 +7628,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_config_h_exists=yes + ac_cv_linux_kmem_cache_init=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_config_h_exists=no + ac_cv_linux_kmem_cache_init=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -7538,28 +7641,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_config_h_exists" >&5 -echo "${ECHO_T}$ac_cv_linux_config_h_exists" >&6; } - if test "x$ac_cv_linux_config_h_exists" = "xyes"; then - -cat >>confdefs.h <<\_ACEOF -#define CONFIG_H_EXISTS 1 -_ACEOF - - fi + { echo "$as_me:$LINENO: result: $ac_cv_linux_kmem_cache_init" >&5 +echo "${ECHO_T}$ac_cv_linux_kmem_cache_init" >&6; } - { echo "$as_me:$LINENO: checking for linux/completion.h existance" >&5 -echo $ECHO_N "checking for linux/completion.h existance... $ECHO_C" >&6; } - if test "${ac_cv_linux_completion_h_exists+set}" = set; then + { echo "$as_me:$LINENO: checking whether kmem_cache_t exists" >&5 +echo $ECHO_N "checking whether kmem_cache_t exists... $ECHO_C" >&6; } + if test "${ac_cv_linux_have_kmem_cache_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -7570,49 +7669,44 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include -#include +#include void conftest(void) { -struct completion _c; -#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,4,8) -lose -#endif +kmem_cache_t *k; } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_completion_h_exists=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_have_kmem_cache_t=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_completion_h_exists=no + ac_cv_linux_have_kmem_cache_t=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -#include + +#include +#include int main () { -struct completion _c; -#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,4,8) -lose -#endif +kmem_cache_t *k; ; return 0; } @@ -7651,12 +7745,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_completion_h_exists=yes + ac_cv_linux_have_kmem_cache_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_completion_h_exists=no + ac_cv_linux_have_kmem_cache_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -7664,21 +7758,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_completion_h_exists" >&5 -echo "${ECHO_T}$ac_cv_linux_completion_h_exists" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_have_kmem_cache_t" >&5 +echo "${ECHO_T}$ac_cv_linux_have_kmem_cache_t" >&6; } - { echo "$as_me:$LINENO: checking for defined for_each_process" >&5 -echo $ECHO_N "checking for defined for_each_process... $ECHO_C" >&6; } - if test "${ac_cv_linux_defines_for_each_process+set}" = set; then + { echo "$as_me:$LINENO: checking whether kmem_cache_create takes a destructor argument" >&5 +echo $ECHO_N "checking whether kmem_cache_create takes a destructor argument... $ECHO_C" >&6; } + if test "${ac_cv_linux_kmem_cache_create_takes_dtor+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -7689,45 +7786,44 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { -#ifndef for_each_process -#error for_each_process not defined -#endif +kmem_cache_create(NULL, 0, 0, 0, NULL, NULL); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_defines_for_each_process=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_kmem_cache_create_takes_dtor=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_defines_for_each_process=no + ac_cv_linux_kmem_cache_create_takes_dtor=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -#ifndef for_each_process -#error for_each_process not defined -#endif +kmem_cache_create(NULL, 0, 0, 0, NULL, NULL); ; return 0; } @@ -7766,12 +7862,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_defines_for_each_process=yes + ac_cv_linux_kmem_cache_create_takes_dtor=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_defines_for_each_process=no + ac_cv_linux_kmem_cache_create_takes_dtor=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -7779,21 +7875,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_defines_for_each_process" >&5 -echo "${ECHO_T}$ac_cv_linux_defines_for_each_process" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_kmem_cache_create_takes_dtor" >&5 +echo "${ECHO_T}$ac_cv_linux_kmem_cache_create_takes_dtor" >&6; } - { echo "$as_me:$LINENO: checking for defined prev_task" >&5 -echo $ECHO_N "checking for defined prev_task... $ECHO_C" >&6; } - if test "${ac_cv_linux_defines_prev_task+set}" = set; then + { echo "$as_me:$LINENO: checking for linux/config.h existance" >&5 +echo $ECHO_N "checking for linux/config.h existance... $ECHO_C" >&6; } + if test "${ac_cv_linux_config_h_exists+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -7804,45 +7903,44 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { -#ifndef prev_task -#error prev_task not defined -#endif +return; } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_defines_prev_task=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_config_h_exists=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_defines_prev_task=no + ac_cv_linux_config_h_exists=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -#ifndef prev_task -#error prev_task not defined -#endif +return; ; return 0; } @@ -7881,12 +7979,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_defines_prev_task=yes + ac_cv_linux_config_h_exists=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_defines_prev_task=no + ac_cv_linux_config_h_exists=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -7894,21 +7992,31 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_defines_prev_task" >&5 -echo "${ECHO_T}$ac_cv_linux_defines_prev_task" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_config_h_exists" >&5 +echo "${ECHO_T}$ac_cv_linux_config_h_exists" >&6; } + if test "x$ac_cv_linux_config_h_exists" = "xyes"; then - { echo "$as_me:$LINENO: checking for alloc_inode in struct super_operations" >&5 -echo $ECHO_N "checking for alloc_inode in struct super_operations... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_super_has_alloc_inode+set}" = set; then +cat >>confdefs.h <<\_ACEOF +#define CONFIG_H_EXISTS 1 +_ACEOF + + fi + + { echo "$as_me:$LINENO: checking for linux/completion.h existance" >&5 +echo $ECHO_N "checking for linux/completion.h existance... $ECHO_C" >&6; } + if test "${ac_cv_linux_completion_h_exists+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -7919,43 +8027,52 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include +#include void conftest(void) { -struct super_operations _super; -printk("%p\n", _super.alloc_inode); +struct completion _c; +#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,4,8) +lose +#endif } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_super_has_alloc_inode=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_completion_h_exists=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_super_has_alloc_inode=no + ac_cv_linux_completion_h_exists=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include +#include int main () { -struct super_operations _super; -printk("%p\n", _super.alloc_inode); +struct completion _c; +#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,4,8) +lose +#endif ; return 0; } @@ -7994,12 +8111,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_super_has_alloc_inode=yes + ac_cv_linux_completion_h_exists=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_super_has_alloc_inode=no + ac_cv_linux_completion_h_exists=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -8007,21 +8124,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_super_has_alloc_inode" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_super_has_alloc_inode" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_completion_h_exists" >&5 +echo "${ECHO_T}$ac_cv_linux_completion_h_exists" >&6; } - { echo "$as_me:$LINENO: checking for page_lock in struct address_space" >&5 -echo $ECHO_N "checking for page_lock in struct address_space... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_address_space_has_page_lock+set}" = set; then + { echo "$as_me:$LINENO: checking for defined for_each_process" >&5 +echo $ECHO_N "checking for defined for_each_process... $ECHO_C" >&6; } + if test "${ac_cv_linux_defines_for_each_process+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -8032,43 +8152,48 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { -struct address_space _a_s; -printk("%x\n", _a_s.page_lock); +#ifndef for_each_process +#error for_each_process not defined +#endif } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_address_space_has_page_lock=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_defines_for_each_process=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_address_space_has_page_lock=no + ac_cv_linux_defines_for_each_process=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -struct address_space _a_s; -printk("%x\n", _a_s.page_lock); +#ifndef for_each_process +#error for_each_process not defined +#endif ; return 0; } @@ -8107,12 +8232,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_address_space_has_page_lock=yes + ac_cv_linux_defines_for_each_process=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_address_space_has_page_lock=no + ac_cv_linux_defines_for_each_process=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -8120,21 +8245,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_address_space_has_page_lock" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_address_space_has_page_lock" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_defines_for_each_process" >&5 +echo "${ECHO_T}$ac_cv_linux_defines_for_each_process" >&6; } - { echo "$as_me:$LINENO: checking for gfp_mask in struct address_space" >&5 -echo $ECHO_N "checking for gfp_mask in struct address_space... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_address_space_has_gfp_mask+set}" = set; then + { echo "$as_me:$LINENO: checking for defined prev_task" >&5 +echo $ECHO_N "checking for defined prev_task... $ECHO_C" >&6; } + if test "${ac_cv_linux_defines_prev_task+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -8145,43 +8273,48 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { -struct address_space _a; -printk("%d\n", _a.gfp_mask); +#ifndef prev_task +#error prev_task not defined +#endif } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_address_space_has_gfp_mask=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_defines_prev_task=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_address_space_has_gfp_mask=no + ac_cv_linux_defines_prev_task=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -struct address_space _a; -printk("%d\n", _a.gfp_mask); +#ifndef prev_task +#error prev_task not defined +#endif ; return 0; } @@ -8220,12 +8353,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_address_space_has_gfp_mask=yes + ac_cv_linux_defines_prev_task=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_address_space_has_gfp_mask=no + ac_cv_linux_defines_prev_task=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -8233,21 +8366,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_address_space_has_gfp_mask" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_address_space_has_gfp_mask" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_defines_prev_task" >&5 +echo "${ECHO_T}$ac_cv_linux_defines_prev_task" >&6; } - { echo "$as_me:$LINENO: checking for i_alloc_sem in struct inode" >&5 -echo $ECHO_N "checking for i_alloc_sem in struct inode... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_inode_has_i_alloc_sem+set}" = set; then + { echo "$as_me:$LINENO: checking for alloc_inode in struct super_operations" >&5 +echo $ECHO_N "checking for alloc_inode in struct super_operations... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_super_has_alloc_inode+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -8262,39 +8398,42 @@ _ACEOF void conftest(void) { -struct inode _i; -printk("%x\n", _i.i_alloc_sem); +struct super_operations _super; +printk("%p\n", _super.alloc_inode); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_inode_has_i_alloc_sem=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_super_has_alloc_inode=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_inode_has_i_alloc_sem=no + ac_cv_linux_fs_struct_super_has_alloc_inode=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { -struct inode _i; -printk("%x\n", _i.i_alloc_sem); +struct super_operations _super; +printk("%p\n", _super.alloc_inode); ; return 0; } @@ -8333,12 +8472,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_inode_has_i_alloc_sem=yes + ac_cv_linux_fs_struct_super_has_alloc_inode=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_inode_has_i_alloc_sem=no + ac_cv_linux_fs_struct_super_has_alloc_inode=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -8346,21 +8485,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_alloc_sem" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_alloc_sem" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_super_has_alloc_inode" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_super_has_alloc_inode" >&6; } - { echo "$as_me:$LINENO: checking for i_blkbits in struct inode" >&5 -echo $ECHO_N "checking for i_blkbits in struct inode... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_inode_has_i_blkbits+set}" = set; then + { echo "$as_me:$LINENO: checking for page_lock in struct address_space" >&5 +echo $ECHO_N "checking for page_lock in struct address_space... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_address_space_has_page_lock+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -8375,39 +8517,42 @@ _ACEOF void conftest(void) { -struct inode _inode; -printk("%d\n", _inode.i_blkbits); +struct address_space _a_s; +printk("%x\n", _a_s.page_lock); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_inode_has_i_blkbits=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_address_space_has_page_lock=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_inode_has_i_blkbits=no + ac_cv_linux_fs_struct_address_space_has_page_lock=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { -struct inode _inode; -printk("%d\n", _inode.i_blkbits); +struct address_space _a_s; +printk("%x\n", _a_s.page_lock); ; return 0; } @@ -8446,12 +8591,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_inode_has_i_blkbits=yes + ac_cv_linux_fs_struct_address_space_has_page_lock=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_inode_has_i_blkbits=no + ac_cv_linux_fs_struct_address_space_has_page_lock=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -8459,28 +8604,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_blkbits" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_blkbits" >&6; } - if test "x$ac_cv_linux_fs_struct_inode_has_i_blkbits" = "xyes"; then - -cat >>confdefs.h <<\_ACEOF -#define STRUCT_INODE_HAS_I_BLKBITS 1 -_ACEOF - - fi + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_address_space_has_page_lock" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_address_space_has_page_lock" >&6; } - { echo "$as_me:$LINENO: checking for i_blksize in struct inode" >&5 -echo $ECHO_N "checking for i_blksize in struct inode... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_inode_has_i_blksize+set}" = set; then + { echo "$as_me:$LINENO: checking for gfp_mask in struct address_space" >&5 +echo $ECHO_N "checking for gfp_mask in struct address_space... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_address_space_has_gfp_mask+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -8495,39 +8636,42 @@ _ACEOF void conftest(void) { -struct inode _inode; -printk("%d\n", _inode.i_blksize); +struct address_space _a; +printk("%d\n", _a.gfp_mask); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_inode_has_i_blksize=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_address_space_has_gfp_mask=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_inode_has_i_blksize=no + ac_cv_linux_fs_struct_address_space_has_gfp_mask=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { -struct inode _inode; -printk("%d\n", _inode.i_blksize); +struct address_space _a; +printk("%d\n", _a.gfp_mask); ; return 0; } @@ -8566,12 +8710,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_inode_has_i_blksize=yes + ac_cv_linux_fs_struct_address_space_has_gfp_mask=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_inode_has_i_blksize=no + ac_cv_linux_fs_struct_address_space_has_gfp_mask=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -8579,21 +8723,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_blksize" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_blksize" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_address_space_has_gfp_mask" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_address_space_has_gfp_mask" >&6; } - { echo "$as_me:$LINENO: checking for i_truncate_sem in struct inode" >&5 -echo $ECHO_N "checking for i_truncate_sem in struct inode... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_inode_has_i_truncate_sem+set}" = set; then + { echo "$as_me:$LINENO: checking for i_alloc_sem in struct inode" >&5 +echo $ECHO_N "checking for i_alloc_sem in struct inode... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_inode_has_i_alloc_sem+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -8609,38 +8756,41 @@ _ACEOF void conftest(void) { struct inode _i; -printk("%x\n", _i.i_truncate_sem); +printk("%x\n", _i.i_alloc_sem); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_inode_has_i_truncate_sem=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_inode_has_i_alloc_sem=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_inode_has_i_truncate_sem=no + ac_cv_linux_fs_struct_inode_has_i_alloc_sem=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct inode _i; -printk("%x\n", _i.i_truncate_sem); +printk("%x\n", _i.i_alloc_sem); ; return 0; } @@ -8679,12 +8829,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_inode_has_i_truncate_sem=yes + ac_cv_linux_fs_struct_inode_has_i_alloc_sem=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_inode_has_i_truncate_sem=no + ac_cv_linux_fs_struct_inode_has_i_alloc_sem=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -8692,21 +8842,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_truncate_sem" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_truncate_sem" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_alloc_sem" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_alloc_sem" >&6; } - { echo "$as_me:$LINENO: checking for i_dirty_data_buffers in struct inode" >&5 -echo $ECHO_N "checking for i_dirty_data_buffers in struct inode... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers+set}" = set; then + { echo "$as_me:$LINENO: checking for i_blkbits in struct inode" >&5 +echo $ECHO_N "checking for i_blkbits in struct inode... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_inode_has_i_blkbits+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -8722,38 +8875,41 @@ _ACEOF void conftest(void) { struct inode _inode; -printk("%d\n", _inode.i_dirty_data_buffers); +printk("%d\n", _inode.i_blkbits); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_inode_has_i_blkbits=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=no + ac_cv_linux_fs_struct_inode_has_i_blkbits=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct inode _inode; -printk("%d\n", _inode.i_dirty_data_buffers); +printk("%d\n", _inode.i_blkbits); ; return 0; } @@ -8792,12 +8948,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=yes + ac_cv_linux_fs_struct_inode_has_i_blkbits=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=no + ac_cv_linux_fs_struct_inode_has_i_blkbits=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -8805,21 +8961,31 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_blkbits" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_blkbits" >&6; } + if test "x$ac_cv_linux_fs_struct_inode_has_i_blkbits" = "xyes"; then - { echo "$as_me:$LINENO: checking for i_devices in struct inode" >&5 -echo $ECHO_N "checking for i_devices in struct inode... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_inode_has_i_devices+set}" = set; then +cat >>confdefs.h <<\_ACEOF +#define STRUCT_INODE_HAS_I_BLKBITS 1 +_ACEOF + + fi + + { echo "$as_me:$LINENO: checking for i_blksize in struct inode" >&5 +echo $ECHO_N "checking for i_blksize in struct inode... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_inode_has_i_blksize+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -8835,38 +9001,41 @@ _ACEOF void conftest(void) { struct inode _inode; -printk("%d\n", _inode.i_devices); +printk("%d\n", _inode.i_blksize); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_inode_has_i_devices=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_inode_has_i_blksize=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_inode_has_i_devices=no + ac_cv_linux_fs_struct_inode_has_i_blksize=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct inode _inode; -printk("%d\n", _inode.i_devices); +printk("%d\n", _inode.i_blksize); ; return 0; } @@ -8905,12 +9074,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_inode_has_i_devices=yes + ac_cv_linux_fs_struct_inode_has_i_blksize=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_inode_has_i_devices=no + ac_cv_linux_fs_struct_inode_has_i_blksize=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -8918,21 +9087,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_devices" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_devices" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_blksize" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_blksize" >&6; } - { echo "$as_me:$LINENO: checking for i_mmap_shared in struct inode" >&5 -echo $ECHO_N "checking for i_mmap_shared in struct inode... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_inode_has_i_mmap_shared+set}" = set; then + { echo "$as_me:$LINENO: checking for i_truncate_sem in struct inode" >&5 +echo $ECHO_N "checking for i_truncate_sem in struct inode... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_inode_has_i_truncate_sem+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -8947,39 +9119,42 @@ _ACEOF void conftest(void) { -struct inode _inode; -printk("%d\n", _inode.i_mmap_shared); +struct inode _i; +printk("%x\n", _i.i_truncate_sem); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_inode_has_i_mmap_shared=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_inode_has_i_truncate_sem=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_inode_has_i_mmap_shared=no + ac_cv_linux_fs_struct_inode_has_i_truncate_sem=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { -struct inode _inode; -printk("%d\n", _inode.i_mmap_shared); +struct inode _i; +printk("%x\n", _i.i_truncate_sem); ; return 0; } @@ -9018,12 +9193,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_inode_has_i_mmap_shared=yes + ac_cv_linux_fs_struct_inode_has_i_truncate_sem=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_inode_has_i_mmap_shared=no + ac_cv_linux_fs_struct_inode_has_i_truncate_sem=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -9031,21 +9206,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_mmap_shared" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_mmap_shared" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_truncate_sem" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_truncate_sem" >&6; } - { echo "$as_me:$LINENO: checking for i_mutex in struct inode" >&5 -echo $ECHO_N "checking for i_mutex in struct inode... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_inode_has_i_mutex+set}" = set; then + { echo "$as_me:$LINENO: checking for i_dirty_data_buffers in struct inode" >&5 +echo $ECHO_N "checking for i_dirty_data_buffers in struct inode... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -9061,38 +9239,41 @@ _ACEOF void conftest(void) { struct inode _inode; -printk("%d\n", _inode.i_mutex); +printk("%d\n", _inode.i_dirty_data_buffers); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_inode_has_i_mutex=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_inode_has_i_mutex=no + ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct inode _inode; -printk("%d\n", _inode.i_mutex); +printk("%d\n", _inode.i_dirty_data_buffers); ; return 0; } @@ -9131,12 +9312,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_inode_has_i_mutex=yes + ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_inode_has_i_mutex=no + ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -9144,21 +9325,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_mutex" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_mutex" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" >&6; } - { echo "$as_me:$LINENO: checking for i_sb_list in struct inode" >&5 -echo $ECHO_N "checking for i_sb_list in struct inode... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_inode_has_i_sb_list+set}" = set; then + { echo "$as_me:$LINENO: checking for i_devices in struct inode" >&5 +echo $ECHO_N "checking for i_devices in struct inode... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_inode_has_i_devices+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -9174,38 +9358,41 @@ _ACEOF void conftest(void) { struct inode _inode; -printk("%d\n", _inode.i_sb_list); +printk("%d\n", _inode.i_devices); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_inode_has_i_sb_list=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_inode_has_i_devices=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_inode_has_i_sb_list=no + ac_cv_linux_fs_struct_inode_has_i_devices=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct inode _inode; -printk("%d\n", _inode.i_sb_list); +printk("%d\n", _inode.i_devices); ; return 0; } @@ -9244,12 +9431,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_inode_has_i_sb_list=yes + ac_cv_linux_fs_struct_inode_has_i_devices=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_inode_has_i_sb_list=no + ac_cv_linux_fs_struct_inode_has_i_devices=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -9257,21 +9444,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_sb_list" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_sb_list" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_devices" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_devices" >&6; } - { echo "$as_me:$LINENO: checking for i_security in struct inode" >&5 -echo $ECHO_N "checking for i_security in struct inode... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_inode_has_i_security+set}" = set; then + { echo "$as_me:$LINENO: checking for i_mmap_shared in struct inode" >&5 +echo $ECHO_N "checking for i_mmap_shared in struct inode... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_inode_has_i_mmap_shared+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -9287,38 +9477,41 @@ _ACEOF void conftest(void) { struct inode _inode; -printk("%d\n", _inode.i_security); +printk("%d\n", _inode.i_mmap_shared); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_inode_has_i_security=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_inode_has_i_mmap_shared=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_inode_has_i_security=no + ac_cv_linux_fs_struct_inode_has_i_mmap_shared=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct inode _inode; -printk("%d\n", _inode.i_security); +printk("%d\n", _inode.i_mmap_shared); ; return 0; } @@ -9357,12 +9550,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_inode_has_i_security=yes + ac_cv_linux_fs_struct_inode_has_i_mmap_shared=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_inode_has_i_security=no + ac_cv_linux_fs_struct_inode_has_i_mmap_shared=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -9370,21 +9563,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_security" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_security" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_mmap_shared" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_mmap_shared" >&6; } - { echo "$as_me:$LINENO: checking for inotify_lock in struct inode" >&5 -echo $ECHO_N "checking for inotify_lock in struct inode... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_inode_has_inotify_lock+set}" = set; then + { echo "$as_me:$LINENO: checking for i_mutex in struct inode" >&5 +echo $ECHO_N "checking for i_mutex in struct inode... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_inode_has_i_mutex+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -9400,38 +9596,41 @@ _ACEOF void conftest(void) { struct inode _inode; -printk("%d\n", _inode.inotify_lock); +printk("%d\n", _inode.i_mutex); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_inode_has_inotify_lock=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_inode_has_i_mutex=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_inode_has_inotify_lock=no + ac_cv_linux_fs_struct_inode_has_i_mutex=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct inode _inode; -printk("%d\n", _inode.inotify_lock); +printk("%d\n", _inode.i_mutex); ; return 0; } @@ -9470,12 +9669,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_inode_has_inotify_lock=yes + ac_cv_linux_fs_struct_inode_has_i_mutex=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_inode_has_inotify_lock=no + ac_cv_linux_fs_struct_inode_has_i_mutex=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -9483,21 +9682,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_inotify_lock" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_inotify_lock" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_mutex" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_mutex" >&6; } - { echo "$as_me:$LINENO: checking for inotify_sem in struct inode" >&5 -echo $ECHO_N "checking for inotify_sem in struct inode... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_inode_has_inotify_sem+set}" = set; then + { echo "$as_me:$LINENO: checking for i_sb_list in struct inode" >&5 +echo $ECHO_N "checking for i_sb_list in struct inode... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_inode_has_i_sb_list+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -9513,38 +9715,41 @@ _ACEOF void conftest(void) { struct inode _inode; -printk("%x\n", _inode.inotify_sem); +printk("%d\n", _inode.i_sb_list); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_inode_has_inotify_sem=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_inode_has_i_sb_list=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_inode_has_inotify_sem=no + ac_cv_linux_fs_struct_inode_has_i_sb_list=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct inode _inode; -printk("%x\n", _inode.inotify_sem); +printk("%d\n", _inode.i_sb_list); ; return 0; } @@ -9583,12 +9788,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_inode_has_inotify_sem=yes + ac_cv_linux_fs_struct_inode_has_i_sb_list=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_inode_has_inotify_sem=no + ac_cv_linux_fs_struct_inode_has_i_sb_list=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -9596,21 +9801,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_inotify_sem" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_inotify_sem" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_sb_list" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_sb_list" >&6; } - { echo "$as_me:$LINENO: checking for inode_setattr return type" >&5 -echo $ECHO_N "checking for inode_setattr return type... $ECHO_C" >&6; } - if test "${ac_cv_linux_func_inode_setattr_returns_int+set}" = set; then + { echo "$as_me:$LINENO: checking for i_security in struct inode" >&5 +echo $ECHO_N "checking for i_security in struct inode... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_inode_has_i_security+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -9626,42 +9834,41 @@ _ACEOF void conftest(void) { struct inode _inode; -struct iattr _iattr; -int i; -i = inode_setattr(&_inode, &_iattr); +printk("%d\n", _inode.i_security); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_func_inode_setattr_returns_int=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_inode_has_i_security=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_func_inode_setattr_returns_int=no + ac_cv_linux_fs_struct_inode_has_i_security=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct inode _inode; -struct iattr _iattr; -int i; -i = inode_setattr(&_inode, &_iattr); +printk("%d\n", _inode.i_security); ; return 0; } @@ -9700,12 +9907,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_func_inode_setattr_returns_int=yes + ac_cv_linux_fs_struct_inode_has_i_security=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_func_inode_setattr_returns_int=no + ac_cv_linux_fs_struct_inode_has_i_security=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -9713,21 +9920,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_func_inode_setattr_returns_int" >&5 -echo "${ECHO_T}$ac_cv_linux_func_inode_setattr_returns_int" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_security" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_security" >&6; } - { echo "$as_me:$LINENO: checking for write_inode return type" >&5 -echo $ECHO_N "checking for write_inode return type... $ECHO_C" >&6; } - if test "${ac_cv_linux_func_write_inode_returns_int+set}" = set; then + { echo "$as_me:$LINENO: checking for inotify_lock in struct inode" >&5 +echo $ECHO_N "checking for inotify_lock in struct inode... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_inode_has_inotify_lock+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -9743,42 +9953,41 @@ _ACEOF void conftest(void) { struct inode _inode; -struct super_operations _sops; -int i; -i = _sops.write_inode(&_inode, 0); +printk("%d\n", _inode.inotify_lock); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_func_write_inode_returns_int=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_inode_has_inotify_lock=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_func_write_inode_returns_int=no + ac_cv_linux_fs_struct_inode_has_inotify_lock=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct inode _inode; -struct super_operations _sops; -int i; -i = _sops.write_inode(&_inode, 0); +printk("%d\n", _inode.inotify_lock); ; return 0; } @@ -9817,12 +10026,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_func_write_inode_returns_int=yes + ac_cv_linux_fs_struct_inode_has_inotify_lock=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_func_write_inode_returns_int=no + ac_cv_linux_fs_struct_inode_has_inotify_lock=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -9830,21 +10039,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_func_write_inode_returns_int" >&5 -echo "${ECHO_T}$ac_cv_linux_func_write_inode_returns_int" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_inotify_lock" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_inotify_lock" >&6; } - { echo "$as_me:$LINENO: checking whether inode_operations.create takes a nameidata" >&5 -echo $ECHO_N "checking whether inode_operations.create takes a nameidata... $ECHO_C" >&6; } - if test "${ac_cv_linux_func_i_create_takes_nameidata+set}" = set; then + { echo "$as_me:$LINENO: checking for inotify_sem in struct inode" >&5 +echo $ECHO_N "checking for inotify_sem in struct inode... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_inode_has_inotify_sem+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -9856,48 +10068,45 @@ _ACEOF /* end confdefs.h */ #include #include -#include void conftest(void) { struct inode _inode; -struct dentry _dentry; -struct nameidata _nameidata; -(void)_inode.i_op->create(&_inode, &_dentry, 0, &_nameidata); +printk("%x\n", _inode.inotify_sem); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_func_i_create_takes_nameidata=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_inode_has_inotify_sem=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_func_i_create_takes_nameidata=no + ac_cv_linux_fs_struct_inode_has_inotify_sem=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include -#include int main () { struct inode _inode; -struct dentry _dentry; -struct nameidata _nameidata; -(void)_inode.i_op->create(&_inode, &_dentry, 0, &_nameidata); +printk("%x\n", _inode.inotify_sem); ; return 0; } @@ -9936,12 +10145,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_func_i_create_takes_nameidata=yes + ac_cv_linux_fs_struct_inode_has_inotify_sem=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_func_i_create_takes_nameidata=no + ac_cv_linux_fs_struct_inode_has_inotify_sem=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -9949,21 +10158,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_create_takes_nameidata" >&5 -echo "${ECHO_T}$ac_cv_linux_func_i_create_takes_nameidata" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_inotify_sem" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_inotify_sem" >&6; } - { echo "$as_me:$LINENO: checking whether inode_operations.lookup takes a nameidata" >&5 -echo $ECHO_N "checking whether inode_operations.lookup takes a nameidata... $ECHO_C" >&6; } - if test "${ac_cv_linux_func_i_lookup_takes_nameidata+set}" = set; then + { echo "$as_me:$LINENO: checking for inode_setattr return type" >&5 +echo $ECHO_N "checking for inode_setattr return type... $ECHO_C" >&6; } + if test "${ac_cv_linux_func_inode_setattr_returns_int+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -9975,48 +10187,49 @@ _ACEOF /* end confdefs.h */ #include #include -#include void conftest(void) { struct inode _inode; -struct dentry _dentry; -struct nameidata _nameidata; -(void)_inode.i_op->lookup(&_inode, &_dentry, &_nameidata); +struct iattr _iattr; +int i; +i = inode_setattr(&_inode, &_iattr); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_func_i_lookup_takes_nameidata=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_func_inode_setattr_returns_int=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_func_i_lookup_takes_nameidata=no + ac_cv_linux_func_inode_setattr_returns_int=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include -#include int main () { struct inode _inode; -struct dentry _dentry; -struct nameidata _nameidata; -(void)_inode.i_op->lookup(&_inode, &_dentry, &_nameidata); +struct iattr _iattr; +int i; +i = inode_setattr(&_inode, &_iattr); ; return 0; } @@ -10055,12 +10268,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_func_i_lookup_takes_nameidata=yes + ac_cv_linux_func_inode_setattr_returns_int=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_func_i_lookup_takes_nameidata=no + ac_cv_linux_func_inode_setattr_returns_int=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -10068,21 +10281,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_lookup_takes_nameidata" >&5 -echo "${ECHO_T}$ac_cv_linux_func_i_lookup_takes_nameidata" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_func_inode_setattr_returns_int" >&5 +echo "${ECHO_T}$ac_cv_linux_func_inode_setattr_returns_int" >&6; } - { echo "$as_me:$LINENO: checking whether inode_operations.permission takes a nameidata" >&5 -echo $ECHO_N "checking whether inode_operations.permission takes a nameidata... $ECHO_C" >&6; } - if test "${ac_cv_linux_func_i_permission_takes_nameidata+set}" = set; then + { echo "$as_me:$LINENO: checking for write_inode return type" >&5 +echo $ECHO_N "checking for write_inode return type... $ECHO_C" >&6; } + if test "${ac_cv_linux_func_write_inode_returns_int+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -10094,48 +10310,49 @@ _ACEOF /* end confdefs.h */ #include #include -#include void conftest(void) { struct inode _inode; -struct dentry _dentry; -struct nameidata _nameidata; -(void)_inode.i_op->permission(&_inode, 0, &_nameidata); +struct super_operations _sops; +int i; +i = _sops.write_inode(&_inode, 0); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_func_i_permission_takes_nameidata=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_func_write_inode_returns_int=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_func_i_permission_takes_nameidata=no + ac_cv_linux_func_write_inode_returns_int=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include -#include int main () { struct inode _inode; -struct dentry _dentry; -struct nameidata _nameidata; -(void)_inode.i_op->permission(&_inode, 0, &_nameidata); +struct super_operations _sops; +int i; +i = _sops.write_inode(&_inode, 0); ; return 0; } @@ -10174,12 +10391,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_func_i_permission_takes_nameidata=yes + ac_cv_linux_func_write_inode_returns_int=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_func_i_permission_takes_nameidata=no + ac_cv_linux_func_write_inode_returns_int=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -10187,21 +10404,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_permission_takes_nameidata" >&5 -echo "${ECHO_T}$ac_cv_linux_func_i_permission_takes_nameidata" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_func_write_inode_returns_int" >&5 +echo "${ECHO_T}$ac_cv_linux_func_write_inode_returns_int" >&6; } - { echo "$as_me:$LINENO: checking whether inode_operations.put_link takes an opaque cookie" >&5 -echo $ECHO_N "checking whether inode_operations.put_link takes an opaque cookie... $ECHO_C" >&6; } - if test "${ac_cv_linux_func_i_put_link_takes_cookie+set}" = set; then + { echo "$as_me:$LINENO: checking whether inode_operations.create takes a nameidata" >&5 +echo $ECHO_N "checking whether inode_operations.create takes a nameidata... $ECHO_C" >&6; } + if test "${ac_cv_linux_func_i_create_takes_nameidata+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -10220,33 +10440,35 @@ void conftest(void) struct inode _inode; struct dentry _dentry; struct nameidata _nameidata; -void *cookie; -(void)_inode.i_op->put_link(&_dentry, &_nameidata, cookie); +(void)_inode.i_op->create(&_inode, &_dentry, 0, &_nameidata); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_func_i_put_link_takes_cookie=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_func_i_create_takes_nameidata=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_func_i_put_link_takes_cookie=no + ac_cv_linux_func_i_create_takes_nameidata=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include #include int @@ -10255,8 +10477,7 @@ main () struct inode _inode; struct dentry _dentry; struct nameidata _nameidata; -void *cookie; -(void)_inode.i_op->put_link(&_dentry, &_nameidata, cookie); +(void)_inode.i_op->create(&_inode, &_dentry, 0, &_nameidata); ; return 0; } @@ -10295,12 +10516,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_func_i_put_link_takes_cookie=yes + ac_cv_linux_func_i_create_takes_nameidata=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_func_i_put_link_takes_cookie=no + ac_cv_linux_func_i_create_takes_nameidata=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -10308,21 +10529,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_put_link_takes_cookie" >&5 -echo "${ECHO_T}$ac_cv_linux_func_i_put_link_takes_cookie" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_create_takes_nameidata" >&5 +echo "${ECHO_T}$ac_cv_linux_func_i_create_takes_nameidata" >&6; } - { echo "$as_me:$LINENO: checking whether dentry_operations.d_revalidate takes a nameidata" >&5 -echo $ECHO_N "checking whether dentry_operations.d_revalidate takes a nameidata... $ECHO_C" >&6; } - if test "${ac_cv_linux_func_d_revalidate_takes_nameidata+set}" = set; then + { echo "$as_me:$LINENO: checking whether inode_operations.lookup takes a nameidata" >&5 +echo $ECHO_N "checking whether inode_operations.lookup takes a nameidata... $ECHO_C" >&6; } + if test "${ac_cv_linux_func_i_lookup_takes_nameidata+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -10338,42 +10562,47 @@ _ACEOF void conftest(void) { +struct inode _inode; struct dentry _dentry; struct nameidata _nameidata; -(void)_dentry.d_op->d_revalidate(&_dentry, &_nameidata); +(void)_inode.i_op->lookup(&_inode, &_dentry, &_nameidata); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_func_d_revalidate_takes_nameidata=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_func_i_lookup_takes_nameidata=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_func_d_revalidate_takes_nameidata=no + ac_cv_linux_func_i_lookup_takes_nameidata=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include #include int main () { +struct inode _inode; struct dentry _dentry; struct nameidata _nameidata; -(void)_dentry.d_op->d_revalidate(&_dentry, &_nameidata); +(void)_inode.i_op->lookup(&_inode, &_dentry, &_nameidata); ; return 0; } @@ -10412,12 +10641,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_func_d_revalidate_takes_nameidata=yes + ac_cv_linux_func_i_lookup_takes_nameidata=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_func_d_revalidate_takes_nameidata=no + ac_cv_linux_func_i_lookup_takes_nameidata=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -10425,21 +10654,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_func_d_revalidate_takes_nameidata" >&5 -echo "${ECHO_T}$ac_cv_linux_func_d_revalidate_takes_nameidata" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_lookup_takes_nameidata" >&5 +echo "${ECHO_T}$ac_cv_linux_func_i_lookup_takes_nameidata" >&6; } - { echo "$as_me:$LINENO: checking whether file_operations.flush takes a fl_owner_t" >&5 -echo $ECHO_N "checking whether file_operations.flush takes a fl_owner_t... $ECHO_C" >&6; } - if test "${ac_cv_linux_func_f_flush_takes_fl_owner_t+set}" = set; then + { echo "$as_me:$LINENO: checking whether inode_operations.permission takes a nameidata" >&5 +echo $ECHO_N "checking whether inode_operations.permission takes a nameidata... $ECHO_C" >&6; } + if test "${ac_cv_linux_func_i_permission_takes_nameidata+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -10451,46 +10683,51 @@ _ACEOF /* end confdefs.h */ #include #include +#include void conftest(void) { struct inode _inode; -struct file _file; -fl_owner_t id; -(void)_inode.i_fop->flush(&_file, &id); +struct dentry _dentry; +struct nameidata _nameidata; +(void)_inode.i_op->permission(&_inode, 0, &_nameidata); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_func_f_flush_takes_fl_owner_t=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_func_i_permission_takes_nameidata=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_func_f_flush_takes_fl_owner_t=no + ac_cv_linux_func_i_permission_takes_nameidata=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include +#include int main () { struct inode _inode; -struct file _file; -fl_owner_t id; -(void)_inode.i_fop->flush(&_file, &id); +struct dentry _dentry; +struct nameidata _nameidata; +(void)_inode.i_op->permission(&_inode, 0, &_nameidata); ; return 0; } @@ -10529,12 +10766,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_func_f_flush_takes_fl_owner_t=yes + ac_cv_linux_func_i_permission_takes_nameidata=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_func_f_flush_takes_fl_owner_t=no + ac_cv_linux_func_i_permission_takes_nameidata=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -10542,21 +10779,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_func_f_flush_takes_fl_owner_t" >&5 -echo "${ECHO_T}$ac_cv_linux_func_f_flush_takes_fl_owner_t" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_permission_takes_nameidata" >&5 +echo "${ECHO_T}$ac_cv_linux_func_i_permission_takes_nameidata" >&6; } - { echo "$as_me:$LINENO: checking whether address_space_operations.writepage takes a writeback_control" >&5 -echo $ECHO_N "checking whether address_space_operations.writepage takes a writeback_control... $ECHO_C" >&6; } - if test "${ac_cv_linux_func_a_writepage_takes_writeback_control+set}" = set; then + { echo "$as_me:$LINENO: checking whether inode_operations.put_link takes an opaque cookie" >&5 +echo $ECHO_N "checking whether inode_operations.put_link takes an opaque cookie... $ECHO_C" >&6; } + if test "${ac_cv_linux_func_i_put_link_takes_cookie+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -10568,50 +10808,53 @@ _ACEOF /* end confdefs.h */ #include #include -#include -#include +#include void conftest(void) { -struct address_space_operations _aops; -struct page _page; -struct writeback_control _writeback_control; -(void)_aops.writepage(&_page, &_writeback_control); +struct inode _inode; +struct dentry _dentry; +struct nameidata _nameidata; +void *cookie; +(void)_inode.i_op->put_link(&_dentry, &_nameidata, cookie); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_func_a_writepage_takes_writeback_control=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_func_i_put_link_takes_cookie=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_func_a_writepage_takes_writeback_control=no + ac_cv_linux_func_i_put_link_takes_cookie=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include -#include -#include +#include int main () { -struct address_space_operations _aops; -struct page _page; -struct writeback_control _writeback_control; -(void)_aops.writepage(&_page, &_writeback_control); +struct inode _inode; +struct dentry _dentry; +struct nameidata _nameidata; +void *cookie; +(void)_inode.i_op->put_link(&_dentry, &_nameidata, cookie); ; return 0; } @@ -10650,12 +10893,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_func_a_writepage_takes_writeback_control=yes + ac_cv_linux_func_i_put_link_takes_cookie=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_func_a_writepage_takes_writeback_control=no + ac_cv_linux_func_i_put_link_takes_cookie=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -10663,21 +10906,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_func_a_writepage_takes_writeback_control" >&5 -echo "${ECHO_T}$ac_cv_linux_func_a_writepage_takes_writeback_control" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_put_link_takes_cookie" >&5 +echo "${ECHO_T}$ac_cv_linux_func_i_put_link_takes_cookie" >&6; } - { echo "$as_me:$LINENO: checking for flock in struct file_operations" >&5 -echo $ECHO_N "checking for flock in struct file_operations... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_fop_has_flock+set}" = set; then + { echo "$as_me:$LINENO: checking whether dentry_operations.d_revalidate takes a nameidata" >&5 +echo $ECHO_N "checking whether dentry_operations.d_revalidate takes a nameidata... $ECHO_C" >&6; } + if test "${ac_cv_linux_func_d_revalidate_takes_nameidata+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -10689,44 +10935,51 @@ _ACEOF /* end confdefs.h */ #include #include +#include void conftest(void) { -struct file_operations _fop; -_fop.flock(NULL, 0, NULL); +struct dentry _dentry; +struct nameidata _nameidata; +(void)_dentry.d_op->d_revalidate(&_dentry, &_nameidata); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_fop_has_flock=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_func_d_revalidate_takes_nameidata=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_fop_has_flock=no + ac_cv_linux_func_d_revalidate_takes_nameidata=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include +#include int main () { -struct file_operations _fop; -_fop.flock(NULL, 0, NULL); - ; - return 0; +struct dentry _dentry; +struct nameidata _nameidata; +(void)_dentry.d_op->d_revalidate(&_dentry, &_nameidata); + ; + return 0; } _ACEOF rm -f conftest.$ac_objext @@ -10763,12 +11016,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_fop_has_flock=yes + ac_cv_linux_func_d_revalidate_takes_nameidata=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_fop_has_flock=no + ac_cv_linux_func_d_revalidate_takes_nameidata=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -10776,21 +11029,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_fop_has_flock" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_fop_has_flock" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_func_d_revalidate_takes_nameidata" >&5 +echo "${ECHO_T}$ac_cv_linux_func_d_revalidate_takes_nameidata" >&6; } - { echo "$as_me:$LINENO: checking for sendfile in struct file_operations" >&5 -echo $ECHO_N "checking for sendfile in struct file_operations... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_fop_has_sendfile+set}" = set; then + { echo "$as_me:$LINENO: checking whether file_operations.flush takes a fl_owner_t" >&5 +echo $ECHO_N "checking whether file_operations.flush takes a fl_owner_t... $ECHO_C" >&6; } + if test "${ac_cv_linux_func_f_flush_takes_fl_owner_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -10805,39 +11061,46 @@ _ACEOF void conftest(void) { -struct file_operations _fop; -_fop.sendfile(NULL, NULL, 0, 0, NULL); +struct inode _inode; +struct file _file; +fl_owner_t id; +(void)_inode.i_fop->flush(&_file, &id); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_fop_has_sendfile=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_func_f_flush_takes_fl_owner_t=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_fop_has_sendfile=no + ac_cv_linux_func_f_flush_takes_fl_owner_t=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { -struct file_operations _fop; -_fop.sendfile(NULL, NULL, 0, 0, NULL); +struct inode _inode; +struct file _file; +fl_owner_t id; +(void)_inode.i_fop->flush(&_file, &id); ; return 0; } @@ -10876,12 +11139,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_fop_has_sendfile=yes + ac_cv_linux_func_f_flush_takes_fl_owner_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_fop_has_sendfile=no + ac_cv_linux_func_f_flush_takes_fl_owner_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -10889,47 +11152,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_fop_has_sendfile" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_fop_has_sendfile" >&6; } - - { echo "$as_me:$LINENO: checking for linux/syscall.h in kernel" >&5 -echo $ECHO_N "checking for linux/syscall.h in kernel... $ECHO_C" >&6; } - if test -f "${LINUX_KERNEL_PATH}/include/linux/syscall.h"; then - ac_linux_syscall=yes - { echo "$as_me:$LINENO: result: $ac_linux_syscall" >&5 -echo "${ECHO_T}$ac_linux_syscall" >&6; } - else - ac_linux_syscall=no - { echo "$as_me:$LINENO: result: $ac_linux_syscall" >&5 -echo "${ECHO_T}$ac_linux_syscall" >&6; } - fi - - - { echo "$as_me:$LINENO: checking for linux/seq_file.h in kernel" >&5 -echo $ECHO_N "checking for linux/seq_file.h in kernel... $ECHO_C" >&6; } - if test -f "${LINUX_KERNEL_PATH}/include/linux/seq_file.h"; then - ac_linux_seq_file=yes - { echo "$as_me:$LINENO: result: $ac_linux_seq_file" >&5 -echo "${ECHO_T}$ac_linux_seq_file" >&6; } - else - ac_linux_seq_file=no - { echo "$as_me:$LINENO: result: $ac_linux_seq_file" >&5 -echo "${ECHO_T}$ac_linux_seq_file" >&6; } - fi - + { echo "$as_me:$LINENO: result: $ac_cv_linux_func_f_flush_takes_fl_owner_t" >&5 +echo "${ECHO_T}$ac_cv_linux_func_f_flush_takes_fl_owner_t" >&6; } - { echo "$as_me:$LINENO: checking for 3rd argument in posix_lock_file found in new kernels" >&5 -echo $ECHO_N "checking for 3rd argument in posix_lock_file found in new kernels... $ECHO_C" >&6; } - if test "${ac_cv_linux_kernel_posix_lock_file_wait_arg+set}" = set; then + { echo "$as_me:$LINENO: checking whether address_space_operations.writepage takes a writeback_control" >&5 +echo $ECHO_N "checking whether address_space_operations.writepage takes a writeback_control... $ECHO_C" >&6; } + if test "${ac_cv_linux_func_a_writepage_takes_writeback_control+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -10941,40 +11181,53 @@ _ACEOF /* end confdefs.h */ #include #include +#include +#include void conftest(void) { -posix_lock_file(0,0,0); +struct address_space_operations _aops; +struct page _page; +struct writeback_control _writeback_control; +(void)_aops.writepage(&_page, &_writeback_control); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_kernel_posix_lock_file_wait_arg=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_func_a_writepage_takes_writeback_control=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_kernel_posix_lock_file_wait_arg=no + ac_cv_linux_func_a_writepage_takes_writeback_control=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include +#include +#include int main () { -posix_lock_file(0,0,0); +struct address_space_operations _aops; +struct page _page; +struct writeback_control _writeback_control; +(void)_aops.writepage(&_page, &_writeback_control); ; return 0; } @@ -11013,12 +11266,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_kernel_posix_lock_file_wait_arg=yes + ac_cv_linux_func_a_writepage_takes_writeback_control=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_kernel_posix_lock_file_wait_arg=no + ac_cv_linux_func_a_writepage_takes_writeback_control=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -11026,30 +11279,74 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_posix_lock_file_wait_arg" >&5 -echo "${ECHO_T}$ac_cv_linux_kernel_posix_lock_file_wait_arg" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_func_a_writepage_takes_writeback_control" >&5 +echo "${ECHO_T}$ac_cv_linux_func_a_writepage_takes_writeback_control" >&6; } -{ echo "$as_me:$LINENO: checking for SELinux kernel" >&5 -echo $ECHO_N "checking for SELinux kernel... $ECHO_C" >&6; } -save_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="-I${LINUX_KERNEL_PATH}/include $CPPFLAGS" -if test "${ac_cv_linux_kernel_is_selinux+set}" = set; then + { echo "$as_me:$LINENO: checking for flock in struct file_operations" >&5 +echo $ECHO_N "checking for flock in struct file_operations... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_fop_has_flock+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else -cat >conftest.$ac_ext <<_ACEOF + + if test $AFS_SYSKVERS -ge 26 ; then + rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi + if mkdir conftest.dir && + cat >conftest.dir/Makefile <<_ACEOF && +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS + +obj-m += conftest.o +_ACEOF + cat >conftest.dir/conftest.c <<\_ACEOF && +/* confdefs.h */ +_ACEOF + cat confdefs.h >>conftest.dir/conftest.c && + cat >>conftest.dir/conftest.c <<\_ACEOF && +/* end confdefs.h */ +#include +#include + +void conftest(void) +{ +struct file_operations _fop; +_fop.flock(NULL, 0, NULL); +} + +MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); +_ACEOF + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_fop_has_flock=yes + else + sed '/^ *+/d' conftest.err >&5 + echo "$as_me: failed using Makefile:" >&5 + sed 's/^/| /' conftest.dir/Makefile >&5 + echo "$as_me: and program was:" >&5 + sed 's/^/| /' conftest.dir/conftest.c >&5 + ac_cv_linux_fs_struct_fop_has_flock=no + fi; rm -fr conftest.err conftest.dir + else + + ac_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -#ifndef CONFIG_SECURITY_SELINUX - #error not SELINUX - #endif +struct file_operations _fop; +_fop.flock(NULL, 0, NULL); ; return 0; } @@ -11088,33 +11385,37 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_kernel_is_selinux=yes + ac_cv_linux_fs_struct_fop_has_flock=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_kernel_is_selinux=no + ac_cv_linux_fs_struct_fop_has_flock=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="$ac_save_CPPFLAGS" + fi fi -{ echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_is_selinux" >&5 -echo "${ECHO_T}$ac_cv_linux_kernel_is_selinux" >&6; } -CPPFLAGS="$save_CPPFLAGS" + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_fop_has_flock" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_fop_has_flock" >&6; } - { echo "$as_me:$LINENO: checking for 5th argument in sock_create found in some SELinux kernels" >&5 -echo $ECHO_N "checking for 5th argument in sock_create found in some SELinux kernels... $ECHO_C" >&6; } - if test "${ac_cv_linux_kernel_sock_create_v+set}" = set; then + { echo "$as_me:$LINENO: checking for sendfile in struct file_operations" >&5 +echo $ECHO_N "checking for sendfile in struct file_operations... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_fop_has_sendfile+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -11125,41 +11426,46 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { -sock_create(0,0,0,0,0); +struct file_operations _fop; +_fop.sendfile(NULL, NULL, 0, 0, NULL); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_kernel_sock_create_v=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_fop_has_sendfile=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_kernel_sock_create_v=no + ac_cv_linux_fs_struct_fop_has_sendfile=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -sock_create(0,0,0,0,0); +struct file_operations _fop; +_fop.sendfile(NULL, NULL, 0, 0, NULL); ; return 0; } @@ -11198,12 +11504,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_kernel_sock_create_v=yes + ac_cv_linux_fs_struct_fop_has_sendfile=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_kernel_sock_create_v=no + ac_cv_linux_fs_struct_fop_has_sendfile=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -11211,23 +11517,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_sock_create_v" >&5 -echo "${ECHO_T}$ac_cv_linux_kernel_sock_create_v" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_fop_has_sendfile" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_fop_has_sendfile" >&6; } - { echo "$as_me:$LINENO: checking for page_follow_link_light vs page_follow_link" >&5 -echo $ECHO_N "checking for page_follow_link_light vs page_follow_link... $ECHO_C" >&6; } - if test "${ac_cv_linux_kernel_page_follow_link+set}" = set; then + { echo "$as_me:$LINENO: checking for splice_write and splice_read in struct file_operations" >&5 +echo $ECHO_N "checking for splice_write and splice_read in struct file_operations... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_fop_has_splice+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration" if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -11242,37 +11549,44 @@ _ACEOF void conftest(void) { -page_follow_link(0,0); +struct file_operations _fop; +_fop.splice_write(NULL, NULL, NULL, 0, 0); +_fop.splice_read(NULL, NULL, NULL, 0, 0); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_kernel_page_follow_link=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_fop_has_splice=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_kernel_page_follow_link=no + ac_cv_linux_fs_struct_fop_has_splice=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { -page_follow_link(0,0); +struct file_operations _fop; +_fop.splice_write(NULL, NULL, NULL, 0, 0); +_fop.splice_read(NULL, NULL, NULL, 0, 0); ; return 0; } @@ -11311,63 +11625,63 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_kernel_page_follow_link=yes + ac_cv_linux_fs_struct_fop_has_splice=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_kernel_page_follow_link=no + ac_cv_linux_fs_struct_fop_has_splice=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="$ac_save_CPPFLAGS" fi - CPPFLAGS="$save_CPPFLAGS" fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_page_follow_link" >&5 -echo "${ECHO_T}$ac_cv_linux_kernel_page_follow_link" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_fop_has_splice" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_fop_has_splice" >&6; } -RHCONFIG_SP="" -RHCONFIG_MP="" -if test "x$enable_redhat_buildsys" = "xyes"; then - { echo "$as_me:$LINENO: WARNING: Configured to build from a Red Hat SPEC file" >&5 -echo "$as_me: WARNING: Configured to build from a Red Hat SPEC file" >&2;} -else - { echo "$as_me:$LINENO: checking for redhat kernel configuration" >&5 -echo $ECHO_N "checking for redhat kernel configuration... $ECHO_C" >&6; } - if test -f "${LINUX_KERNEL_PATH}/include/linux/rhconfig.h"; then - ac_linux_rhconfig=yes - RHCONFIG_SP="-D__BOOT_KERNEL_UP=1 -D__BOOT_KERNEL_SMP=0" - RHCONFIG_MP="-D__BOOT_KERNEL_UP=0 -D__BOOT_KERNEL_SMP=1" - { echo "$as_me:$LINENO: result: $ac_linux_rhconfig" >&5 -echo "${ECHO_T}$ac_linux_rhconfig" >&6; } - if test ! -f "/boot/kernel.h"; then - { echo "$as_me:$LINENO: WARNING: /boot/kernel.h does not exist. build may fail" >&5 -echo "$as_me: WARNING: /boot/kernel.h does not exist. build may fail" >&2;} - fi + { echo "$as_me:$LINENO: checking for linux/syscall.h in kernel" >&5 +echo $ECHO_N "checking for linux/syscall.h in kernel... $ECHO_C" >&6; } + if test -f "${LINUX_KERNEL_PATH}/include/linux/syscall.h"; then + ac_linux_syscall=yes + { echo "$as_me:$LINENO: result: $ac_linux_syscall" >&5 +echo "${ECHO_T}$ac_linux_syscall" >&6; } else - ac_linux_rhconfig=no - { echo "$as_me:$LINENO: result: $ac_linux_rhconfig" >&5 -echo "${ECHO_T}$ac_linux_rhconfig" >&6; } + ac_linux_syscall=no + { echo "$as_me:$LINENO: result: $ac_linux_syscall" >&5 +echo "${ECHO_T}$ac_linux_syscall" >&6; } fi -fi + { echo "$as_me:$LINENO: checking for linux/seq_file.h in kernel" >&5 +echo $ECHO_N "checking for linux/seq_file.h in kernel... $ECHO_C" >&6; } + if test -f "${LINUX_KERNEL_PATH}/include/linux/seq_file.h"; then + ac_linux_seq_file=yes + { echo "$as_me:$LINENO: result: $ac_linux_seq_file" >&5 +echo "${ECHO_T}$ac_linux_seq_file" >&6; } + else + ac_linux_seq_file=no + { echo "$as_me:$LINENO: result: $ac_linux_seq_file" >&5 +echo "${ECHO_T}$ac_linux_seq_file" >&6; } + fi - { echo "$as_me:$LINENO: checking for recalc_sigpending arg type" >&5 -echo $ECHO_N "checking for recalc_sigpending arg type... $ECHO_C" >&6; } - if test "${ac_cv_linux_func_recalc_sigpending_takes_void+set}" = set; then + { echo "$as_me:$LINENO: checking for 3rd argument in posix_lock_file found in new kernels" >&5 +echo $ECHO_N "checking for 3rd argument in posix_lock_file found in new kernels... $ECHO_C" >&6; } + if test "${ac_cv_linux_kernel_posix_lock_file_wait_arg+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -11378,41 +11692,44 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { -recalc_sigpending(); +posix_lock_file(0,0,0); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_func_recalc_sigpending_takes_void=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_kernel_posix_lock_file_wait_arg=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_func_recalc_sigpending_takes_void=no + ac_cv_linux_kernel_posix_lock_file_wait_arg=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -recalc_sigpending(); +posix_lock_file(0,0,0); ; return 0; } @@ -11451,12 +11768,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_func_recalc_sigpending_takes_void=yes + ac_cv_linux_kernel_posix_lock_file_wait_arg=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_func_recalc_sigpending_takes_void=no + ac_cv_linux_kernel_posix_lock_file_wait_arg=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -11464,68 +11781,30 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_func_recalc_sigpending_takes_void" >&5 -echo "${ECHO_T}$ac_cv_linux_func_recalc_sigpending_takes_void" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_posix_lock_file_wait_arg" >&5 +echo "${ECHO_T}$ac_cv_linux_kernel_posix_lock_file_wait_arg" >&6; } - { echo "$as_me:$LINENO: checking for parent in struct task_struct" >&5 -echo $ECHO_N "checking for parent in struct task_struct... $ECHO_C" >&6; } - if test "${ac_cv_linux_sched_struct_task_struct_has_parent+set}" = set; then +{ echo "$as_me:$LINENO: checking for SELinux kernel" >&5 +echo $ECHO_N "checking for SELinux kernel... $ECHO_C" >&6; } +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include $CPPFLAGS" +if test "${ac_cv_linux_kernel_is_selinux+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - - if test $AFS_SYSKVERS -ge 26 ; then - rm -fr conftest.dir - if mkdir conftest.dir && - cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS - -obj-m += conftest.o -_ACEOF - cat >conftest.dir/conftest.c <<\_ACEOF && -/* confdefs.h */ -_ACEOF - cat confdefs.h >>conftest.dir/conftest.c && - cat >>conftest.dir/conftest.c <<\_ACEOF && -/* end confdefs.h */ -#include -#include - -void conftest(void) -{ -struct task_struct _tsk; -printk("%d\n", _tsk.parent); -} - -MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); -_ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_sched_struct_task_struct_has_parent=yes - else - sed '/^ *+/d' conftest.err >&5 - echo "$as_me: failed using Makefile:" >&5 - sed 's/^/| /' conftest.dir/Makefile >&5 - echo "$as_me: and program was:" >&5 - sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_sched_struct_task_struct_has_parent=no - fi; rm -fr conftest.err conftest.dir - else - - ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" - cat >conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +#include int main () { -struct task_struct _tsk; -printk("%d\n", _tsk.parent); +#ifndef CONFIG_SECURITY_SELINUX + #error not SELINUX + #endif ; return 0; } @@ -11564,34 +11843,36 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_sched_struct_task_struct_has_parent=yes + ac_cv_linux_kernel_is_selinux=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_sched_struct_task_struct_has_parent=no + ac_cv_linux_kernel_is_selinux=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CPPFLAGS="$ac_save_CPPFLAGS" - fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_parent" >&5 -echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_parent" >&6; } +{ echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_is_selinux" >&5 +echo "${ECHO_T}$ac_cv_linux_kernel_is_selinux" >&6; } +CPPFLAGS="$save_CPPFLAGS" - { echo "$as_me:$LINENO: checking for real_parent in struct task_struct" >&5 -echo $ECHO_N "checking for real_parent in struct task_struct... $ECHO_C" >&6; } - if test "${ac_cv_linux_sched_struct_task_struct_has_real_parent+set}" = set; then + { echo "$as_me:$LINENO: checking for 5th argument in sock_create found in some SELinux kernels" >&5 +echo $ECHO_N "checking for 5th argument in sock_create found in some SELinux kernels... $ECHO_C" >&6; } + if test "${ac_cv_linux_kernel_sock_create_v+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -11602,43 +11883,44 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { -struct task_struct _tsk; -printk("%d\n", _tsk.real_parent); +sock_create(0,0,0,0,0); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_sched_struct_task_struct_has_real_parent=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_kernel_sock_create_v=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_sched_struct_task_struct_has_real_parent=no + ac_cv_linux_kernel_sock_create_v=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -struct task_struct _tsk; -printk("%d\n", _tsk.real_parent); +sock_create(0,0,0,0,0); ; return 0; } @@ -11677,12 +11959,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_sched_struct_task_struct_has_real_parent=yes + ac_cv_linux_kernel_sock_create_v=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_sched_struct_task_struct_has_real_parent=no + ac_cv_linux_kernel_sock_create_v=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -11690,21 +11972,26 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_real_parent" >&5 -echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_real_parent" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_sock_create_v" >&5 +echo "${ECHO_T}$ac_cv_linux_kernel_sock_create_v" >&6; } - { echo "$as_me:$LINENO: checking for sig in struct task_struct" >&5 -echo $ECHO_N "checking for sig in struct task_struct... $ECHO_C" >&6; } - if test "${ac_cv_linux_sched_struct_task_struct_has_sig+set}" = set; then + { echo "$as_me:$LINENO: checking for page_follow_link_light vs page_follow_link" >&5 +echo $ECHO_N "checking for page_follow_link_light vs page_follow_link... $ECHO_C" >&6; } + if test "${ac_cv_linux_kernel_page_follow_link+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration" if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -11715,43 +12002,44 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { -struct task_struct _tsk; -printk("%d\n", _tsk.sig); +page_follow_link(0,0); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_sched_struct_task_struct_has_sig=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_kernel_page_follow_link=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_sched_struct_task_struct_has_sig=no + ac_cv_linux_kernel_page_follow_link=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -struct task_struct _tsk; -printk("%d\n", _tsk.sig); +page_follow_link(0,0); ; return 0; } @@ -11790,34 +12078,38 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_sched_struct_task_struct_has_sig=yes + ac_cv_linux_kernel_page_follow_link=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_sched_struct_task_struct_has_sig=no + ac_cv_linux_kernel_page_follow_link=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="$ac_save_CPPFLAGS" fi + CPPFLAGS="$save_CPPFLAGS" fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sig" >&5 -echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sig" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_page_follow_link" >&5 +echo "${ECHO_T}$ac_cv_linux_kernel_page_follow_link" >&6; } - { echo "$as_me:$LINENO: checking for sighand in struct task_struct" >&5 -echo $ECHO_N "checking for sighand in struct task_struct... $ECHO_C" >&6; } - if test "${ac_cv_linux_sched_struct_task_struct_has_sighand+set}" = set; then + { echo "$as_me:$LINENO: checking for linux/key-type.h existance" >&5 +echo $ECHO_N "checking for linux/key-type.h existance... $ECHO_C" >&6; } + if test "${ac_cv_linux_key_type_h_exists+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -11828,43 +12120,44 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { -struct task_struct _tsk; -printk("%d\n", _tsk.sighand); +return; } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_sched_struct_task_struct_has_sighand=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_key_type_h_exists=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_sched_struct_task_struct_has_sighand=no + ac_cv_linux_key_type_h_exists=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -struct task_struct _tsk; -printk("%d\n", _tsk.sighand); +return; ; return 0; } @@ -11903,12 +12196,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_sched_struct_task_struct_has_sighand=yes + ac_cv_linux_key_type_h_exists=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_sched_struct_task_struct_has_sighand=no + ac_cv_linux_key_type_h_exists=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -11916,21 +12209,59 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sighand" >&5 -echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sighand" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_key_type_h_exists" >&5 +echo "${ECHO_T}$ac_cv_linux_key_type_h_exists" >&6; } + if test "x$ac_cv_linux_key_type_h_exists" = "xyes"; then - { echo "$as_me:$LINENO: checking for sigmask_lock in struct task_struct" >&5 -echo $ECHO_N "checking for sigmask_lock in struct task_struct... $ECHO_C" >&6; } - if test "${ac_cv_linux_sched_struct_task_struct_has_sigmask_lock+set}" = set; then +cat >>confdefs.h <<\_ACEOF +#define KEY_TYPE_H_EXISTS 1 +_ACEOF + + fi + +RHCONFIG_SP="" +RHCONFIG_MP="" +if test "x$enable_redhat_buildsys" = "xyes"; then + { echo "$as_me:$LINENO: WARNING: Configured to build from a Red Hat SPEC file" >&5 +echo "$as_me: WARNING: Configured to build from a Red Hat SPEC file" >&2;} +else + { echo "$as_me:$LINENO: checking for redhat kernel configuration" >&5 +echo $ECHO_N "checking for redhat kernel configuration... $ECHO_C" >&6; } + if test -f "${LINUX_KERNEL_PATH}/include/linux/rhconfig.h"; then + ac_linux_rhconfig=yes + RHCONFIG_SP="-D__BOOT_KERNEL_UP=1 -D__BOOT_KERNEL_SMP=0" + RHCONFIG_MP="-D__BOOT_KERNEL_UP=0 -D__BOOT_KERNEL_SMP=1" + { echo "$as_me:$LINENO: result: $ac_linux_rhconfig" >&5 +echo "${ECHO_T}$ac_linux_rhconfig" >&6; } + if test ! -f "/boot/kernel.h"; then + { echo "$as_me:$LINENO: WARNING: /boot/kernel.h does not exist. build may fail" >&5 +echo "$as_me: WARNING: /boot/kernel.h does not exist. build may fail" >&2;} + fi + else + ac_linux_rhconfig=no + { echo "$as_me:$LINENO: result: $ac_linux_rhconfig" >&5 +echo "${ECHO_T}$ac_linux_rhconfig" >&6; } + fi +fi + + + + + { echo "$as_me:$LINENO: checking for recalc_sigpending arg type" >&5 +echo $ECHO_N "checking for recalc_sigpending arg type... $ECHO_C" >&6; } + if test "${ac_cv_linux_func_recalc_sigpending_takes_void+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -11945,39 +12276,40 @@ _ACEOF void conftest(void) { -struct task_struct _tsk; -printk("%d\n", _tsk.sigmask_lock); +recalc_sigpending(); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_func_recalc_sigpending_takes_void=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=no + ac_cv_linux_func_recalc_sigpending_takes_void=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { -struct task_struct _tsk; -printk("%d\n", _tsk.sigmask_lock); +recalc_sigpending(); ; return 0; } @@ -12016,12 +12348,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=yes + ac_cv_linux_func_recalc_sigpending_takes_void=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=no + ac_cv_linux_func_recalc_sigpending_takes_void=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -12029,21 +12361,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" >&5 -echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_func_recalc_sigpending_takes_void" >&5 +echo "${ECHO_T}$ac_cv_linux_func_recalc_sigpending_takes_void" >&6; } - { echo "$as_me:$LINENO: checking for rlim in struct task_struct" >&5 -echo $ECHO_N "checking for rlim in struct task_struct... $ECHO_C" >&6; } - if test "${ac_cv_linux_sched_struct_task_struct_has_rlim+set}" = set; then + { echo "$as_me:$LINENO: checking for parent in struct task_struct" >&5 +echo $ECHO_N "checking for parent in struct task_struct... $ECHO_C" >&6; } + if test "${ac_cv_linux_sched_struct_task_struct_has_parent+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -12059,38 +12394,41 @@ _ACEOF void conftest(void) { struct task_struct _tsk; -printk("%d\n", _tsk.rlim); +printk("%d\n", _tsk.parent); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_sched_struct_task_struct_has_rlim=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_sched_struct_task_struct_has_parent=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_sched_struct_task_struct_has_rlim=no + ac_cv_linux_sched_struct_task_struct_has_parent=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct task_struct _tsk; -printk("%d\n", _tsk.rlim); +printk("%d\n", _tsk.parent); ; return 0; } @@ -12129,12 +12467,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_sched_struct_task_struct_has_rlim=yes + ac_cv_linux_sched_struct_task_struct_has_parent=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_sched_struct_task_struct_has_rlim=no + ac_cv_linux_sched_struct_task_struct_has_parent=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -12142,21 +12480,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_rlim" >&5 -echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_rlim" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_parent" >&5 +echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_parent" >&6; } - { echo "$as_me:$LINENO: checking for signal->rlim in struct task_struct" >&5 -echo $ECHO_N "checking for signal->rlim in struct task_struct... $ECHO_C" >&6; } - if test "${ac_cv_linux_sched_struct_task_struct_has_signal_rlim+set}" = set; then + { echo "$as_me:$LINENO: checking for real_parent in struct task_struct" >&5 +echo $ECHO_N "checking for real_parent in struct task_struct... $ECHO_C" >&6; } + if test "${ac_cv_linux_sched_struct_task_struct_has_real_parent+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -12172,38 +12513,41 @@ _ACEOF void conftest(void) { struct task_struct _tsk; -printk("%d\n", _tsk.signal->rlim); +printk("%d\n", _tsk.real_parent); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_sched_struct_task_struct_has_signal_rlim=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_sched_struct_task_struct_has_real_parent=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_sched_struct_task_struct_has_signal_rlim=no + ac_cv_linux_sched_struct_task_struct_has_real_parent=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct task_struct _tsk; -printk("%d\n", _tsk.signal->rlim); +printk("%d\n", _tsk.real_parent); ; return 0; } @@ -12242,12 +12586,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_sched_struct_task_struct_has_signal_rlim=yes + ac_cv_linux_sched_struct_task_struct_has_real_parent=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_sched_struct_task_struct_has_signal_rlim=no + ac_cv_linux_sched_struct_task_struct_has_real_parent=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -12255,21 +12599,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_signal_rlim" >&5 -echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_signal_rlim" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_real_parent" >&5 +echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_real_parent" >&6; } - { echo "$as_me:$LINENO: checking for exit_state in struct task_struct" >&5 -echo $ECHO_N "checking for exit_state in struct task_struct... $ECHO_C" >&6; } - if test "${ac_cv_linux_sched_struct_task_struct_has_exit_state+set}" = set; then + { echo "$as_me:$LINENO: checking for sig in struct task_struct" >&5 +echo $ECHO_N "checking for sig in struct task_struct... $ECHO_C" >&6; } + if test "${ac_cv_linux_sched_struct_task_struct_has_sig+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -12285,38 +12632,41 @@ _ACEOF void conftest(void) { struct task_struct _tsk; -printk("%d\n", _tsk.exit_state); +printk("%d\n", _tsk.sig); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_sched_struct_task_struct_has_exit_state=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_sched_struct_task_struct_has_sig=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_sched_struct_task_struct_has_exit_state=no + ac_cv_linux_sched_struct_task_struct_has_sig=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct task_struct _tsk; -printk("%d\n", _tsk.exit_state); +printk("%d\n", _tsk.sig); ; return 0; } @@ -12355,12 +12705,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_sched_struct_task_struct_has_exit_state=yes + ac_cv_linux_sched_struct_task_struct_has_sig=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_sched_struct_task_struct_has_exit_state=no + ac_cv_linux_sched_struct_task_struct_has_sig=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -12368,21 +12718,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_exit_state" >&5 -echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_exit_state" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sig" >&5 +echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sig" >&6; } - { echo "$as_me:$LINENO: checking for tgid in struct task_struct" >&5 -echo $ECHO_N "checking for tgid in struct task_struct... $ECHO_C" >&6; } - if test "${ac_cv_linux_sched_struct_task_struct_has_tgid+set}" = set; then + { echo "$as_me:$LINENO: checking for sighand in struct task_struct" >&5 +echo $ECHO_N "checking for sighand in struct task_struct... $ECHO_C" >&6; } + if test "${ac_cv_linux_sched_struct_task_struct_has_sighand+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -12398,38 +12751,41 @@ _ACEOF void conftest(void) { struct task_struct _tsk; -printk("%d\n", _tsk.tgid); +printk("%d\n", _tsk.sighand); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_sched_struct_task_struct_has_tgid=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_sched_struct_task_struct_has_sighand=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_sched_struct_task_struct_has_tgid=no + ac_cv_linux_sched_struct_task_struct_has_sighand=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct task_struct _tsk; -printk("%d\n", _tsk.tgid); +printk("%d\n", _tsk.sighand); ; return 0; } @@ -12468,12 +12824,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_sched_struct_task_struct_has_tgid=yes + ac_cv_linux_sched_struct_task_struct_has_sighand=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_sched_struct_task_struct_has_tgid=no + ac_cv_linux_sched_struct_task_struct_has_sighand=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -12481,21 +12837,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_tgid" >&5 -echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_tgid" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sighand" >&5 +echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sighand" >&6; } - { echo "$as_me:$LINENO: checking for todo in struct task_struct" >&5 -echo $ECHO_N "checking for todo in struct task_struct... $ECHO_C" >&6; } - if test "${ac_cv_linux_sched_struct_task_struct_has_todo+set}" = set; then + { echo "$as_me:$LINENO: checking for sigmask_lock in struct task_struct" >&5 +echo $ECHO_N "checking for sigmask_lock in struct task_struct... $ECHO_C" >&6; } + if test "${ac_cv_linux_sched_struct_task_struct_has_sigmask_lock+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -12511,38 +12870,41 @@ _ACEOF void conftest(void) { struct task_struct _tsk; -printk("%d\n", _tsk.todo); +printk("%d\n", _tsk.sigmask_lock); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_sched_struct_task_struct_has_todo=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_sched_struct_task_struct_has_todo=no + ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct task_struct _tsk; -printk("%d\n", _tsk.todo); +printk("%d\n", _tsk.sigmask_lock); ; return 0; } @@ -12581,12 +12943,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_sched_struct_task_struct_has_todo=yes + ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_sched_struct_task_struct_has_todo=no + ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -12594,21 +12956,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_todo" >&5 -echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_todo" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" >&5 +echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" >&6; } - { echo "$as_me:$LINENO: checking for thread_info in struct task_struct" >&5 -echo $ECHO_N "checking for thread_info in struct task_struct... $ECHO_C" >&6; } - if test "${ac_cv_linux_sched_struct_task_struct_has_thread_info+set}" = set; then + { echo "$as_me:$LINENO: checking for rlim in struct task_struct" >&5 +echo $ECHO_N "checking for rlim in struct task_struct... $ECHO_C" >&6; } + if test "${ac_cv_linux_sched_struct_task_struct_has_rlim+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -12624,38 +12989,41 @@ _ACEOF void conftest(void) { struct task_struct _tsk; -printk("%d\n", _tsk.thread_info); +printk("%d\n", _tsk.rlim); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_sched_struct_task_struct_has_thread_info=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_sched_struct_task_struct_has_rlim=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_sched_struct_task_struct_has_thread_info=no + ac_cv_linux_sched_struct_task_struct_has_rlim=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct task_struct _tsk; -printk("%d\n", _tsk.thread_info); +printk("%d\n", _tsk.rlim); ; return 0; } @@ -12694,12 +13062,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_sched_struct_task_struct_has_thread_info=yes + ac_cv_linux_sched_struct_task_struct_has_rlim=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_sched_struct_task_struct_has_thread_info=no + ac_cv_linux_sched_struct_task_struct_has_rlim=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -12707,21 +13075,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_thread_info" >&5 -echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_thread_info" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_rlim" >&5 +echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_rlim" >&6; } - { echo "$as_me:$LINENO: checking for exported tasklist_lock" >&5 -echo $ECHO_N "checking for exported tasklist_lock... $ECHO_C" >&6; } - if test "${ac_cv_linux_exports_tasklist_lock+set}" = set; then + { echo "$as_me:$LINENO: checking for signal->rlim in struct task_struct" >&5 +echo $ECHO_N "checking for signal->rlim in struct task_struct... $ECHO_C" >&6; } + if test "${ac_cv_linux_sched_struct_task_struct_has_signal_rlim+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -12732,34 +13103,32 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include - #include void conftest(void) { - -extern rwlock_t tasklist_lock __attribute__((weak)); -read_lock(&tasklist_lock); - +struct task_struct _tsk; +printk("%d\n", _tsk.signal->rlim); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_exports_tasklist_lock=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_sched_struct_task_struct_has_signal_rlim=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_exports_tasklist_lock=no + ac_cv_linux_sched_struct_task_struct_has_signal_rlim=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -12767,14 +13136,13 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +#include #include int main () { - -extern rwlock_t tasklist_lock __attribute__((weak)); -read_lock(&tasklist_lock); - +struct task_struct _tsk; +printk("%d\n", _tsk.signal->rlim); ; return 0; } @@ -12813,12 +13181,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_exports_tasklist_lock=yes + ac_cv_linux_sched_struct_task_struct_has_signal_rlim=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_exports_tasklist_lock=no + ac_cv_linux_sched_struct_task_struct_has_signal_rlim=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -12826,21 +13194,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_tasklist_lock" >&5 -echo "${ECHO_T}$ac_cv_linux_exports_tasklist_lock" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_signal_rlim" >&5 +echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_signal_rlim" >&6; } - { echo "$as_me:$LINENO: checking for struct vfsmount * in get_sb_nodev()" >&5 -echo $ECHO_N "checking for struct vfsmount * in get_sb_nodev()... $ECHO_C" >&6; } - if test "${ac_cv_linux_get_sb_has_struct_vfsmount+set}" = set; then + { echo "$as_me:$LINENO: checking for exit_state in struct task_struct" >&5 +echo $ECHO_N "checking for exit_state in struct task_struct... $ECHO_C" >&6; } + if test "${ac_cv_linux_sched_struct_task_struct_has_exit_state+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -12851,41 +13222,46 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { -get_sb_nodev(0,0,0,0,0); +struct task_struct _tsk; +printk("%d\n", _tsk.exit_state); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_get_sb_has_struct_vfsmount=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_sched_struct_task_struct_has_exit_state=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_get_sb_has_struct_vfsmount=no + ac_cv_linux_sched_struct_task_struct_has_exit_state=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -get_sb_nodev(0,0,0,0,0); +struct task_struct _tsk; +printk("%d\n", _tsk.exit_state); ; return 0; } @@ -12924,12 +13300,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_get_sb_has_struct_vfsmount=yes + ac_cv_linux_sched_struct_task_struct_has_exit_state=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_get_sb_has_struct_vfsmount=no + ac_cv_linux_sched_struct_task_struct_has_exit_state=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -12937,21 +13313,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_get_sb_has_struct_vfsmount" >&5 -echo "${ECHO_T}$ac_cv_linux_get_sb_has_struct_vfsmount" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_exit_state" >&5 +echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_exit_state" >&6; } - { echo "$as_me:$LINENO: checking for dentry in statfs" >&5 -echo $ECHO_N "checking for dentry in statfs... $ECHO_C" >&6; } - if test "${ac_cv_linux_statfs_takes_dentry+set}" = set; then + { echo "$as_me:$LINENO: checking for tgid in struct task_struct" >&5 +echo $ECHO_N "checking for tgid in struct task_struct... $ECHO_C" >&6; } + if test "${ac_cv_linux_sched_struct_task_struct_has_tgid+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -12962,47 +13341,46 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include -#include +#include void conftest(void) { - -extern int vfs_statfs(struct dentry *, struct kstatfs *); - +struct task_struct _tsk; +printk("%d\n", _tsk.tgid); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_statfs_takes_dentry=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_sched_struct_task_struct_has_tgid=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_statfs_takes_dentry=no + ac_cv_linux_sched_struct_task_struct_has_tgid=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -#include + +#include +#include int main () { - -extern int vfs_statfs(struct dentry *, struct kstatfs *); - +struct task_struct _tsk; +printk("%d\n", _tsk.tgid); ; return 0; } @@ -13041,12 +13419,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_statfs_takes_dentry=yes + ac_cv_linux_sched_struct_task_struct_has_tgid=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_statfs_takes_dentry=no + ac_cv_linux_sched_struct_task_struct_has_tgid=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -13054,21 +13432,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_statfs_takes_dentry" >&5 -echo "${ECHO_T}$ac_cv_linux_statfs_takes_dentry" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_tgid" >&5 +echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_tgid" >&6; } - { echo "$as_me:$LINENO: checking for linux/freezer.h existance" >&5 -echo $ECHO_N "checking for linux/freezer.h existance... $ECHO_C" >&6; } - if test "${ac_cv_linux_freezer_h_exists+set}" = set; then + { echo "$as_me:$LINENO: checking for todo in struct task_struct" >&5 +echo $ECHO_N "checking for todo in struct task_struct... $ECHO_C" >&6; } + if test "${ac_cv_linux_sched_struct_task_struct_has_todo+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -13079,41 +13460,46 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { -return; -} +struct task_struct _tsk; +printk("%d\n", _tsk.todo); +} MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_freezer_h_exists=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_sched_struct_task_struct_has_todo=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_freezer_h_exists=no + ac_cv_linux_sched_struct_task_struct_has_todo=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -return; +struct task_struct _tsk; +printk("%d\n", _tsk.todo); ; return 0; } @@ -13152,12 +13538,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_freezer_h_exists=yes + ac_cv_linux_sched_struct_task_struct_has_todo=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_freezer_h_exists=no + ac_cv_linux_sched_struct_task_struct_has_todo=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -13165,35 +13551,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_freezer_h_exists" >&5 -echo "${ECHO_T}$ac_cv_linux_freezer_h_exists" >&6; } - if test "x$ac_cv_linux_freezer_h_exists" = "xyes"; then - -cat >>confdefs.h <<\_ACEOF -#define FREEZER_H_EXISTS 1 -_ACEOF - - fi - if test "x$ac_cv_linux_freezer_h_exists" = "xyes" ; then - -cat >>confdefs.h <<\_ACEOF -#define FREEZER_H_EXISTS 1 -_ACEOF - - fi + { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_todo" >&5 +echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_todo" >&6; } - { echo "$as_me:$LINENO: checking whether refrigerator takes PF_FREEZE" >&5 -echo $ECHO_N "checking whether refrigerator takes PF_FREEZE... $ECHO_C" >&6; } - if test "${ac_cv_linux_func_refrigerator_takes_pf_freeze+set}" = set; then + { echo "$as_me:$LINENO: checking for thread_info in struct task_struct" >&5 +echo $ECHO_N "checking for thread_info in struct task_struct... $ECHO_C" >&6; } + if test "${ac_cv_linux_sched_struct_task_struct_has_thread_info+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -13205,46 +13580,45 @@ _ACEOF /* end confdefs.h */ #include #include -#ifdef FREEZER_H_EXISTS -#include -#endif void conftest(void) { -refrigerator(PF_FREEZE); +struct task_struct _tsk; +printk("%d\n", _tsk.thread_info); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_func_refrigerator_takes_pf_freeze=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_sched_struct_task_struct_has_thread_info=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_func_refrigerator_takes_pf_freeze=no + ac_cv_linux_sched_struct_task_struct_has_thread_info=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include -#ifdef FREEZER_H_EXISTS -#include -#endif int main () { -refrigerator(PF_FREEZE); +struct task_struct _tsk; +printk("%d\n", _tsk.thread_info); ; return 0; } @@ -13283,12 +13657,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_func_refrigerator_takes_pf_freeze=yes + ac_cv_linux_sched_struct_task_struct_has_thread_info=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_func_refrigerator_takes_pf_freeze=no + ac_cv_linux_sched_struct_task_struct_has_thread_info=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -13296,21 +13670,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_func_refrigerator_takes_pf_freeze" >&5 -echo "${ECHO_T}$ac_cv_linux_func_refrigerator_takes_pf_freeze" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_thread_info" >&5 +echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_thread_info" >&6; } - { echo "$as_me:$LINENO: checking for linux kernel keyring support" >&5 -echo $ECHO_N "checking for linux kernel keyring support... $ECHO_C" >&6; } - if test "${ac_cv_linux_keyring_support+set}" = set; then + { echo "$as_me:$LINENO: checking for exported tasklist_lock" >&5 +echo $ECHO_N "checking for exported tasklist_lock... $ECHO_C" >&6; } + if test "${ac_cv_linux_exports_tasklist_lock+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -13321,59 +13698,52 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include -#include -#include + +#include void conftest(void) { -#ifdef CONFIG_KEYS -request_key(NULL, NULL, NULL); -#if !defined(KEY_POS_VIEW) || !defined(KEY_POS_SEARCH) || !defined(KEY_POS_SETATTR) -#error "Your linux/key.h does not contain KEY_POS_VIEW or KEY_POS_SEARCH or KEY_POS_SETATTR" -#endif -#else -#error rebuild your kernel with CONFIG_KEYS -#endif + +extern rwlock_t tasklist_lock __attribute__((weak)); +read_lock(&tasklist_lock); + } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_keyring_support=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_exports_tasklist_lock=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_keyring_support=no + ac_cv_linux_exports_tasklist_lock=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -#include -#include + +#include + +#include int main () { -#ifdef CONFIG_KEYS -request_key(NULL, NULL, NULL); -#if !defined(KEY_POS_VIEW) || !defined(KEY_POS_SEARCH) || !defined(KEY_POS_SETATTR) -#error "Your linux/key.h does not contain KEY_POS_VIEW or KEY_POS_SEARCH or KEY_POS_SETATTR" -#endif -#else -#error rebuild your kernel with CONFIG_KEYS -#endif + +extern rwlock_t tasklist_lock __attribute__((weak)); +read_lock(&tasklist_lock); + ; return 0; } @@ -13412,12 +13782,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_keyring_support=yes + ac_cv_linux_exports_tasklist_lock=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_keyring_support=no + ac_cv_linux_exports_tasklist_lock=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -13425,28 +13795,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_keyring_support" >&5 -echo "${ECHO_T}$ac_cv_linux_keyring_support" >&6; } - if test "x$ac_cv_linux_keyring_support" = "xyes"; then - -cat >>confdefs.h <<\_ACEOF -#define LINUX_KEYRING_SUPPORT 1 -_ACEOF - - fi + { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_tasklist_lock" >&5 +echo "${ECHO_T}$ac_cv_linux_exports_tasklist_lock" >&6; } - { echo "$as_me:$LINENO: checking if key_alloc() takes a struct task *" >&5 -echo $ECHO_N "checking if key_alloc() takes a struct task *... $ECHO_C" >&6; } - if test "${ac_cv_key_alloc_needs_struct_task+set}" = set; then + { echo "$as_me:$LINENO: checking for struct vfsmount * in get_sb_nodev()" >&5 +echo $ECHO_N "checking for struct vfsmount * in get_sb_nodev()... $ECHO_C" >&6; } + if test "${ac_cv_linux_get_sb_has_struct_vfsmount+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -13457,45 +13823,44 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include -#include - +#include void conftest(void) { -(void) key_alloc(NULL, NULL, 0, 0, NULL, 0, 0); +get_sb_nodev(0,0,0,0,0); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_key_alloc_needs_struct_task=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_get_sb_has_struct_vfsmount=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_key_alloc_needs_struct_task=no + ac_cv_linux_get_sb_has_struct_vfsmount=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -#include +#include +#include int main () { -(void) key_alloc(NULL, NULL, 0, 0, NULL, 0, 0); +get_sb_nodev(0,0,0,0,0); ; return 0; } @@ -13534,12 +13899,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_key_alloc_needs_struct_task=yes + ac_cv_linux_get_sb_has_struct_vfsmount=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_key_alloc_needs_struct_task=no + ac_cv_linux_get_sb_has_struct_vfsmount=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -13547,30 +13912,1058 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_key_alloc_needs_struct_task" >&5 -echo "${ECHO_T}$ac_cv_key_alloc_needs_struct_task" >&6; } - if test "x$ac_cv_key_alloc_needs_struct_task" = "xyes"; then + { echo "$as_me:$LINENO: result: $ac_cv_linux_get_sb_has_struct_vfsmount" >&5 +echo "${ECHO_T}$ac_cv_linux_get_sb_has_struct_vfsmount" >&6; } -cat >>confdefs.h <<\_ACEOF -#define KEY_ALLOC_NEEDS_STRUCT_TASK 1 + { echo "$as_me:$LINENO: checking for dentry in statfs" >&5 +echo $ECHO_N "checking for dentry in statfs... $ECHO_C" >&6; } + if test "${ac_cv_linux_statfs_takes_dentry+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + + if test $AFS_SYSKVERS -ge 26 ; then + rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi + if mkdir conftest.dir && + cat >conftest.dir/Makefile <<_ACEOF && +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS + +obj-m += conftest.o +_ACEOF + cat >conftest.dir/conftest.c <<\_ACEOF && +/* confdefs.h */ +_ACEOF + cat confdefs.h >>conftest.dir/conftest.c && + cat >>conftest.dir/conftest.c <<\_ACEOF && +/* end confdefs.h */ +#include +#include +#include + +void conftest(void) +{ + +extern int vfs_statfs(struct dentry *, struct kstatfs *); + +} + +MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); +_ACEOF + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_statfs_takes_dentry=yes + else + sed '/^ *+/d' conftest.err >&5 + echo "$as_me: failed using Makefile:" >&5 + sed 's/^/| /' conftest.dir/Makefile >&5 + echo "$as_me: and program was:" >&5 + sed 's/^/| /' conftest.dir/conftest.c >&5 + ac_cv_linux_statfs_takes_dentry=no + fi; rm -fr conftest.err conftest.dir + else + + ac_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include +#include +int +main () +{ + +extern int vfs_statfs(struct dentry *, struct kstatfs *); + + ; + return 0; +} _ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_linux_statfs_takes_dentry=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_linux_statfs_takes_dentry=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="$ac_save_CPPFLAGS" + fi +fi + + { echo "$as_me:$LINENO: result: $ac_cv_linux_statfs_takes_dentry" >&5 +echo "${ECHO_T}$ac_cv_linux_statfs_takes_dentry" >&6; } + + { echo "$as_me:$LINENO: checking for linux/freezer.h existance" >&5 +echo $ECHO_N "checking for linux/freezer.h existance... $ECHO_C" >&6; } + if test "${ac_cv_linux_freezer_h_exists+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + + if test $AFS_SYSKVERS -ge 26 ; then + rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi + if mkdir conftest.dir && + cat >conftest.dir/Makefile <<_ACEOF && +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS + +obj-m += conftest.o +_ACEOF + cat >conftest.dir/conftest.c <<\_ACEOF && +/* confdefs.h */ +_ACEOF + cat confdefs.h >>conftest.dir/conftest.c && + cat >>conftest.dir/conftest.c <<\_ACEOF && +/* end confdefs.h */ +#include +#include + +void conftest(void) +{ +return; +} + +MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); +_ACEOF + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_freezer_h_exists=yes + else + sed '/^ *+/d' conftest.err >&5 + echo "$as_me: failed using Makefile:" >&5 + sed 's/^/| /' conftest.dir/Makefile >&5 + echo "$as_me: and program was:" >&5 + sed 's/^/| /' conftest.dir/conftest.c >&5 + ac_cv_linux_freezer_h_exists=no + fi; rm -fr conftest.err conftest.dir + else + + ac_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include +int +main () +{ +return; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_linux_freezer_h_exists=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_linux_freezer_h_exists=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="$ac_save_CPPFLAGS" + fi +fi + + { echo "$as_me:$LINENO: result: $ac_cv_linux_freezer_h_exists" >&5 +echo "${ECHO_T}$ac_cv_linux_freezer_h_exists" >&6; } + if test "x$ac_cv_linux_freezer_h_exists" = "xyes"; then + +cat >>confdefs.h <<\_ACEOF +#define FREEZER_H_EXISTS 1 +_ACEOF + + fi + if test "x$ac_cv_linux_freezer_h_exists" = "xyes" ; then + +cat >>confdefs.h <<\_ACEOF +#define FREEZER_H_EXISTS 1 +_ACEOF + + fi + + { echo "$as_me:$LINENO: checking whether refrigerator takes PF_FREEZE" >&5 +echo $ECHO_N "checking whether refrigerator takes PF_FREEZE... $ECHO_C" >&6; } + if test "${ac_cv_linux_func_refrigerator_takes_pf_freeze+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + + if test $AFS_SYSKVERS -ge 26 ; then + rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi + if mkdir conftest.dir && + cat >conftest.dir/Makefile <<_ACEOF && +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS + +obj-m += conftest.o +_ACEOF + cat >conftest.dir/conftest.c <<\_ACEOF && +/* confdefs.h */ +_ACEOF + cat confdefs.h >>conftest.dir/conftest.c && + cat >>conftest.dir/conftest.c <<\_ACEOF && +/* end confdefs.h */ +#include +#include +#ifdef FREEZER_H_EXISTS +#include +#endif + +void conftest(void) +{ +refrigerator(PF_FREEZE); +} + +MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); +_ACEOF + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_func_refrigerator_takes_pf_freeze=yes + else + sed '/^ *+/d' conftest.err >&5 + echo "$as_me: failed using Makefile:" >&5 + sed 's/^/| /' conftest.dir/Makefile >&5 + echo "$as_me: and program was:" >&5 + sed 's/^/| /' conftest.dir/conftest.c >&5 + ac_cv_linux_func_refrigerator_takes_pf_freeze=no + fi; rm -fr conftest.err conftest.dir + else + + ac_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include +#ifdef FREEZER_H_EXISTS +#include +#endif +int +main () +{ +refrigerator(PF_FREEZE); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_linux_func_refrigerator_takes_pf_freeze=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_linux_func_refrigerator_takes_pf_freeze=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="$ac_save_CPPFLAGS" + fi +fi + + { echo "$as_me:$LINENO: result: $ac_cv_linux_func_refrigerator_takes_pf_freeze" >&5 +echo "${ECHO_T}$ac_cv_linux_func_refrigerator_takes_pf_freeze" >&6; } + + { echo "$as_me:$LINENO: checking for linux kernel keyring support" >&5 +echo $ECHO_N "checking for linux kernel keyring support... $ECHO_C" >&6; } + if test "${ac_cv_linux_keyring_support+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + + if test $AFS_SYSKVERS -ge 26 ; then + rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi + if mkdir conftest.dir && + cat >conftest.dir/Makefile <<_ACEOF && +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS + +obj-m += conftest.o +_ACEOF + cat >conftest.dir/conftest.c <<\_ACEOF && +/* confdefs.h */ +_ACEOF + cat confdefs.h >>conftest.dir/conftest.c && + cat >>conftest.dir/conftest.c <<\_ACEOF && +/* end confdefs.h */ +#include +#include +#ifdef KEY_TYPE_H_EXISTS +#include +#endif +#include +#include + +void conftest(void) +{ +#ifdef CONFIG_KEYS +request_key(NULL, NULL, NULL); +#if !defined(KEY_POS_VIEW) || !defined(KEY_POS_SEARCH) || !defined(KEY_POS_SETATTR) +#error "Your linux/key.h does not contain KEY_POS_VIEW or KEY_POS_SEARCH or KEY_POS_SETATTR" +#endif +#else +#error rebuild your kernel with CONFIG_KEYS +#endif +} + +MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); +_ACEOF + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_keyring_support=yes + else + sed '/^ *+/d' conftest.err >&5 + echo "$as_me: failed using Makefile:" >&5 + sed 's/^/| /' conftest.dir/Makefile >&5 + echo "$as_me: and program was:" >&5 + sed 's/^/| /' conftest.dir/conftest.c >&5 + ac_cv_linux_keyring_support=no + fi; rm -fr conftest.err conftest.dir + else + + ac_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include +#ifdef KEY_TYPE_H_EXISTS +#include +#endif +#include +#include +int +main () +{ +#ifdef CONFIG_KEYS +request_key(NULL, NULL, NULL); +#if !defined(KEY_POS_VIEW) || !defined(KEY_POS_SEARCH) || !defined(KEY_POS_SETATTR) +#error "Your linux/key.h does not contain KEY_POS_VIEW or KEY_POS_SEARCH or KEY_POS_SETATTR" +#endif +#else +#error rebuild your kernel with CONFIG_KEYS +#endif + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_linux_keyring_support=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_linux_keyring_support=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="$ac_save_CPPFLAGS" + fi +fi + + { echo "$as_me:$LINENO: result: $ac_cv_linux_keyring_support" >&5 +echo "${ECHO_T}$ac_cv_linux_keyring_support" >&6; } + if test "x$ac_cv_linux_keyring_support" = "xyes"; then + +cat >>confdefs.h <<\_ACEOF +#define LINUX_KEYRING_SUPPORT 1 +_ACEOF + + fi + + { echo "$as_me:$LINENO: checking if key_alloc() takes a struct task *" >&5 +echo $ECHO_N "checking if key_alloc() takes a struct task *... $ECHO_C" >&6; } + if test "${ac_cv_key_alloc_needs_struct_task+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + + if test $AFS_SYSKVERS -ge 26 ; then + rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi + if mkdir conftest.dir && + cat >conftest.dir/Makefile <<_ACEOF && +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS + +obj-m += conftest.o +_ACEOF + cat >conftest.dir/conftest.c <<\_ACEOF && +/* confdefs.h */ +_ACEOF + cat confdefs.h >>conftest.dir/conftest.c && + cat >>conftest.dir/conftest.c <<\_ACEOF && +/* end confdefs.h */ +#include +#include +#include + + +void conftest(void) +{ +(void) key_alloc(NULL, NULL, 0, 0, NULL, 0, 0); +} + +MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); +_ACEOF + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_key_alloc_needs_struct_task=yes + else + sed '/^ *+/d' conftest.err >&5 + echo "$as_me: failed using Makefile:" >&5 + sed 's/^/| /' conftest.dir/Makefile >&5 + echo "$as_me: and program was:" >&5 + sed 's/^/| /' conftest.dir/conftest.c >&5 + ac_cv_key_alloc_needs_struct_task=no + fi; rm -fr conftest.err conftest.dir + else + + ac_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include +#include + +int +main () +{ +(void) key_alloc(NULL, NULL, 0, 0, NULL, 0, 0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_key_alloc_needs_struct_task=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_key_alloc_needs_struct_task=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="$ac_save_CPPFLAGS" + fi +fi + + { echo "$as_me:$LINENO: result: $ac_cv_key_alloc_needs_struct_task" >&5 +echo "${ECHO_T}$ac_cv_key_alloc_needs_struct_task" >&6; } + if test "x$ac_cv_key_alloc_needs_struct_task" = "xyes"; then + +cat >>confdefs.h <<\_ACEOF +#define KEY_ALLOC_NEEDS_STRUCT_TASK 1 +_ACEOF + + fi + + { echo "$as_me:$LINENO: checking for linux do_sync_read()" >&5 +echo $ECHO_N "checking for linux do_sync_read()... $ECHO_C" >&6; } + if test "${ac_cv_linux_do_sync_read+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration" + + if test $AFS_SYSKVERS -ge 26 ; then + rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi + if mkdir conftest.dir && + cat >conftest.dir/Makefile <<_ACEOF && +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS + +obj-m += conftest.o +_ACEOF + cat >conftest.dir/conftest.c <<\_ACEOF && +/* confdefs.h */ +_ACEOF + cat confdefs.h >>conftest.dir/conftest.c && + cat >>conftest.dir/conftest.c <<\_ACEOF && +/* end confdefs.h */ +#include +#include + +void conftest(void) +{ +do_sync_read(NULL, NULL, 0, NULL); +} + +MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); +_ACEOF + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_do_sync_read=yes + else + sed '/^ *+/d' conftest.err >&5 + echo "$as_me: failed using Makefile:" >&5 + sed 's/^/| /' conftest.dir/Makefile >&5 + echo "$as_me: and program was:" >&5 + sed 's/^/| /' conftest.dir/conftest.c >&5 + ac_cv_linux_do_sync_read=no + fi; rm -fr conftest.err conftest.dir + else + + ac_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include +int +main () +{ +do_sync_read(NULL, NULL, 0, NULL); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_linux_do_sync_read=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_linux_do_sync_read=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="$ac_save_CPPFLAGS" + fi + CPPFLAGS="$save_CPPFLAGS" +fi + + { echo "$as_me:$LINENO: result: $ac_cv_linux_do_sync_read" >&5 +echo "${ECHO_T}$ac_cv_linux_do_sync_read" >&6; } + if test "x$ac_cv_linux_do_sync_read" = "xyes"; then + +cat >>confdefs.h <<\_ACEOF +#define DO_SYNC_READ 1 +_ACEOF + + fi + + { echo "$as_me:$LINENO: checking for linux generic_file_aio_read()" >&5 +echo $ECHO_N "checking for linux generic_file_aio_read()... $ECHO_C" >&6; } + if test "${ac_cv_linux_generic_file_aio_read+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration" + + if test $AFS_SYSKVERS -ge 26 ; then + rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi + if mkdir conftest.dir && + cat >conftest.dir/Makefile <<_ACEOF && +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS + +obj-m += conftest.o +_ACEOF + cat >conftest.dir/conftest.c <<\_ACEOF && +/* confdefs.h */ +_ACEOF + cat confdefs.h >>conftest.dir/conftest.c && + cat >>conftest.dir/conftest.c <<\_ACEOF && +/* end confdefs.h */ +#include +#include + +void conftest(void) +{ +generic_file_aio_read(NULL, NULL, 0, 0); +} + +MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); +_ACEOF + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_generic_file_aio_read=yes + else + sed '/^ *+/d' conftest.err >&5 + echo "$as_me: failed using Makefile:" >&5 + sed 's/^/| /' conftest.dir/Makefile >&5 + echo "$as_me: and program was:" >&5 + sed 's/^/| /' conftest.dir/conftest.c >&5 + ac_cv_linux_generic_file_aio_read=no + fi; rm -fr conftest.err conftest.dir + else + + ac_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include +int +main () +{ +generic_file_aio_read(NULL, NULL, 0, 0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_linux_generic_file_aio_read=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_linux_generic_file_aio_read=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="$ac_save_CPPFLAGS" + fi + CPPFLAGS="$save_CPPFLAGS" +fi + + { echo "$as_me:$LINENO: result: $ac_cv_linux_generic_file_aio_read" >&5 +echo "${ECHO_T}$ac_cv_linux_generic_file_aio_read" >&6; } + if test "x$ac_cv_linux_generic_file_aio_read" = "xyes"; then + +cat >>confdefs.h <<\_ACEOF +#define GENERIC_FILE_AIO_READ 1 +_ACEOF + + fi + + { echo "$as_me:$LINENO: checking whether INIT_WORK has a _data argument" >&5 +echo $ECHO_N "checking whether INIT_WORK has a _data argument... $ECHO_C" >&6; } + if test "${ac_cv_linux_init_work_has_data+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + + if test $AFS_SYSKVERS -ge 26 ; then + rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi + if mkdir conftest.dir && + cat >conftest.dir/Makefile <<_ACEOF && +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS + +obj-m += conftest.o +_ACEOF + cat >conftest.dir/conftest.c <<\_ACEOF && +/* confdefs.h */ +_ACEOF + cat confdefs.h >>conftest.dir/conftest.c && + cat >>conftest.dir/conftest.c <<\_ACEOF && +/* end confdefs.h */ +#include +#include +#include + +void conftest(void) +{ + +void f(struct work_struct *w) {} +struct work_struct *w; +int *i; +INIT_WORK(w,f,i); +} + +MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); +_ACEOF + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_init_work_has_data=yes + else + sed '/^ *+/d' conftest.err >&5 + echo "$as_me: failed using Makefile:" >&5 + sed 's/^/| /' conftest.dir/Makefile >&5 + echo "$as_me: and program was:" >&5 + sed 's/^/| /' conftest.dir/conftest.c >&5 + ac_cv_linux_init_work_has_data=no + fi; rm -fr conftest.err conftest.dir + else + + ac_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include +#include +int +main () +{ + +void f(struct work_struct *w) {} +struct work_struct *w; +int *i; +INIT_WORK(w,f,i); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_linux_init_work_has_data=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_linux_init_work_has_data=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="$ac_save_CPPFLAGS" fi +fi - { echo "$as_me:$LINENO: checking for linux do_sync_read()" >&5 -echo $ECHO_N "checking for linux do_sync_read()... $ECHO_C" >&6; } - if test "${ac_cv_linux_do_sync_read+set}" = set; then + { echo "$as_me:$LINENO: result: $ac_cv_linux_init_work_has_data" >&5 +echo "${ECHO_T}$ac_cv_linux_init_work_has_data" >&6; } + + { echo "$as_me:$LINENO: checking whether register_sysctl_table has an insert_at_head flag argument" >&5 +echo $ECHO_N "checking whether register_sysctl_table has an insert_at_head flag argument... $ECHO_C" >&6; } + if test "${ac_cv_linux_register_sysctl_table_noflag+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration" if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -13581,41 +14974,46 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { -do_sync_read(NULL, NULL, 0, NULL); +ctl_table *t; +register_sysctl_table (t); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_do_sync_read=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_register_sysctl_table_noflag=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_do_sync_read=no + ac_cv_linux_register_sysctl_table_noflag=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -do_sync_read(NULL, NULL, 0, NULL); +ctl_table *t; +register_sysctl_table (t); ; return 0; } @@ -13654,44 +15052,37 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_do_sync_read=yes + ac_cv_linux_register_sysctl_table_noflag=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_do_sync_read=no + ac_cv_linux_register_sysctl_table_noflag=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="$ac_save_CPPFLAGS" fi - CPPFLAGS="$save_CPPFLAGS" fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_do_sync_read" >&5 -echo "${ECHO_T}$ac_cv_linux_do_sync_read" >&6; } - if test "x$ac_cv_linux_do_sync_read" = "xyes"; then - -cat >>confdefs.h <<\_ACEOF -#define DO_SYNC_READ 1 -_ACEOF - - fi + { echo "$as_me:$LINENO: result: $ac_cv_linux_register_sysctl_table_noflag" >&5 +echo "${ECHO_T}$ac_cv_linux_register_sysctl_table_noflag" >&6; } - { echo "$as_me:$LINENO: checking for linux generic_file_aio_read()" >&5 -echo $ECHO_N "checking for linux generic_file_aio_read()... $ECHO_C" >&6; } - if test "${ac_cv_linux_generic_file_aio_read+set}" = set; then + { echo "$as_me:$LINENO: checking for sysctl table checking" >&5 +echo $ECHO_N "checking for sysctl table checking... $ECHO_C" >&6; } + if test "${ac_cv_linux_sysctl_table_checking+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration" if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -13702,41 +15093,46 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { -generic_file_aio_read(NULL, NULL, 0, 0); + extern int sysctl_check_table(int) __attribute__((weak)); +sysctl_check_table(NULL); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_generic_file_aio_read=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_sysctl_table_checking=no else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_generic_file_aio_read=no + ac_cv_linux_sysctl_table_checking=yes fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -generic_file_aio_read(NULL, NULL, 0, 0); + extern int sysctl_check_table(int) __attribute__((weak)); +sysctl_check_table(NULL); ; return 0; } @@ -13775,42 +15171,39 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_generic_file_aio_read=yes + ac_cv_linux_sysctl_table_checking=no else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_generic_file_aio_read=no + ac_cv_linux_sysctl_table_checking=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="$ac_save_CPPFLAGS" fi - CPPFLAGS="$save_CPPFLAGS" fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_generic_file_aio_read" >&5 -echo "${ECHO_T}$ac_cv_linux_generic_file_aio_read" >&6; } - if test "x$ac_cv_linux_generic_file_aio_read" = "xyes"; then - -cat >>confdefs.h <<\_ACEOF -#define GENERIC_FILE_AIO_READ 1 -_ACEOF - - fi +{ echo "$as_me:$LINENO: result: $ac_cv_linux_sysctl_table_checking" >&5 +echo "${ECHO_T}$ac_cv_linux_sysctl_table_checking" >&6; } - { echo "$as_me:$LINENO: checking whether INIT_WORK has a _data argument" >&5 -echo $ECHO_N "checking whether INIT_WORK has a _data argument... $ECHO_C" >&6; } - if test "${ac_cv_linux_init_work_has_data+set}" = set; then + { echo "$as_me:$LINENO: checking for linux iget()" >&5 +echo $ECHO_N "checking for linux iget()... $ECHO_C" >&6; } + if test "${ac_cv_linux_have_iget+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration" if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -13821,51 +15214,44 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include -#include +#include void conftest(void) { - -void f(struct work_struct *w) {} -struct work_struct *w; -int *i; -INIT_WORK(w,f,i); +iget(NULL, NULL); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_init_work_has_data=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_have_iget=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_init_work_has_data=no + ac_cv_linux_have_iget=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + #include -#include +#include int main () { - -void f(struct work_struct *w) {} -struct work_struct *w; -int *i; -INIT_WORK(w,f,i); +iget(NULL, NULL); ; return 0; } @@ -13904,34 +15290,38 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_init_work_has_data=yes + ac_cv_linux_have_iget=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_init_work_has_data=no + ac_cv_linux_have_iget=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="$ac_save_CPPFLAGS" fi + CPPFLAGS="$save_CPPFLAGS" fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_init_work_has_data" >&5 -echo "${ECHO_T}$ac_cv_linux_init_work_has_data" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_have_iget" >&5 +echo "${ECHO_T}$ac_cv_linux_have_iget" >&6; } - { echo "$as_me:$LINENO: checking whether register_sysctl_table has an insert_at_head flag argument" >&5 -echo $ECHO_N "checking whether register_sysctl_table has an insert_at_head flag argument... $ECHO_C" >&6; } - if test "${ac_cv_linux_register_sysctl_table_noflag+set}" = set; then + { echo "$as_me:$LINENO: checking for path in struct nameidata" >&5 +echo $ECHO_N "checking for path in struct nameidata... $ECHO_C" >&6; } + if test "${ac_cv_linux_struct_nameidata_has_path+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -13942,43 +15332,46 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { -ctl_table *t; -register_sysctl_table (t); +struct nameidata _nd; +printk("%x\n", _nd.path); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_register_sysctl_table_noflag=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_struct_nameidata_has_path=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_register_sysctl_table_noflag=no + ac_cv_linux_struct_nameidata_has_path=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -ctl_table *t; -register_sysctl_table (t); +struct nameidata _nd; +printk("%x\n", _nd.path); ; return 0; } @@ -14017,12 +15410,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_register_sysctl_table_noflag=yes + ac_cv_linux_struct_nameidata_has_path=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_register_sysctl_table_noflag=no + ac_cv_linux_struct_nameidata_has_path=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -14030,8 +15423,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_register_sysctl_table_noflag" >&5 -echo "${ECHO_T}$ac_cv_linux_register_sysctl_table_noflag" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_struct_nameidata_has_path" >&5 +echo "${ECHO_T}$ac_cv_linux_struct_nameidata_has_path" >&6; } { echo "$as_me:$LINENO: checking for exported sys_chdir" >&5 echo $ECHO_N "checking for exported sys_chdir... $ECHO_C" >&6; } @@ -14042,9 +15435,12 @@ else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -14065,8 +15461,9 @@ printk("%p\n", address); MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 then ac_cv_linux_exports_sys_chdir=yes else sed '/^ *+/d' conftest.err >&5 @@ -14079,13 +15476,15 @@ _ACEOF else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include extern asmlinkage long sys_chdir(void) __attribute__((weak)); int main () @@ -14155,9 +15554,12 @@ else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -14178,8 +15580,9 @@ printk("%p\n", address); MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 then ac_cv_linux_exports_sys_close=yes else sed '/^ *+/d' conftest.err >&5 @@ -14192,13 +15595,15 @@ _ACEOF else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include extern asmlinkage long sys_close(void) __attribute__((weak)); int main () @@ -14268,9 +15673,12 @@ else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -14291,8 +15699,9 @@ printk("%p\n", address); MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 then ac_cv_linux_exports_sys_open=yes else sed '/^ *+/d' conftest.err >&5 @@ -14305,13 +15714,15 @@ _ACEOF else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include extern asmlinkage long sys_open(void) __attribute__((weak)); int main () @@ -14381,9 +15792,12 @@ else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -14404,8 +15818,9 @@ printk("%p\n", address); MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 then ac_cv_linux_exports_sys_wait4=yes else sed '/^ *+/d' conftest.err >&5 @@ -14418,13 +15833,15 @@ _ACEOF else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include extern asmlinkage long sys_wait4(void) __attribute__((weak)); int main () @@ -14505,9 +15922,12 @@ else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -14533,8 +15953,9 @@ lose; MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 then ac_cv_linux_config_smp=yes else sed '/^ *+/d' conftest.err >&5 @@ -14547,13 +15968,15 @@ _ACEOF else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #ifdef CONFIG_H_EXISTS #include #endif @@ -14646,9 +16069,12 @@ else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -14670,8 +16096,9 @@ void conftest(void) MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 then ac_cv_linux_exports_init_mm=yes else sed '/^ *+/d' conftest.err >&5 @@ -14684,13 +16111,15 @@ _ACEOF else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () @@ -14761,9 +16190,12 @@ else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -14785,8 +16217,9 @@ void conftest(void) MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 then ac_cv_linux_exports_kallsyms_address=yes else sed '/^ *+/d' conftest.err >&5 @@ -14799,13 +16232,15 @@ _ACEOF else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () @@ -14876,9 +16311,12 @@ else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -14900,8 +16338,9 @@ void conftest(void) MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 then ac_cv_linux_exports_kallsyms_symbol=yes else sed '/^ *+/d' conftest.err >&5 @@ -14914,13 +16353,15 @@ _ACEOF else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () @@ -14991,9 +16432,12 @@ else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -15015,8 +16459,9 @@ void conftest(void) MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 then ac_cv_linux_exports_sys_call_table=yes else sed '/^ *+/d' conftest.err >&5 @@ -15029,13 +16474,15 @@ _ACEOF else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () @@ -15106,9 +16553,12 @@ else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -15130,8 +16580,9 @@ void conftest(void) MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 then ac_cv_linux_exports_ia32_sys_call_table=yes else sed '/^ *+/d' conftest.err >&5 @@ -15144,13 +16595,15 @@ _ACEOF else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () @@ -15313,6 +16766,13 @@ _ACEOF cat >>confdefs.h <<\_ACEOF #define CONFIG_H_EXISTS 1 +_ACEOF + + fi + if test "x$ac_cv_linux_key_type_h_exists" = "xyes" ; then + +cat >>confdefs.h <<\_ACEOF +#define KEY_TYPE_H_EXISTS 1 _ACEOF fi @@ -15638,6 +17098,13 @@ _ACEOF cat >>confdefs.h <<\_ACEOF #define STRUCT_FILE_OPERATIONS_HAS_SENDFILE 1 +_ACEOF + + fi + if test "x$ac_cv_linux_fs_struct_fop_has_splice" = "xyes" ; then + +cat >>confdefs.h <<\_ACEOF +#define STRUCT_FILE_OPERATIONS_HAS_SPLICE 1 _ACEOF fi @@ -15645,6 +17112,27 @@ _ACEOF cat >>confdefs.h <<\_ACEOF #define REGISTER_SYSCTL_TABLE_NOFLAG 1 +_ACEOF + + fi + if test "x$ac_cv_linux_sysctl_table_checking" = "xyes" ; then + +cat >>confdefs.h <<\_ACEOF +#define SYSCTL_TABLE_CHECKING 1 +_ACEOF + + fi + if test "x$ac_cv_linux_have_iget" = "xyes" ; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_IGET 1 +_ACEOF + + fi + if test "x$ac_cv_linux_struct_nameidata_has_path" = "xyes" ; then + +cat >>confdefs.h <<\_ACEOF +#define STRUCT_NAMEIDATA_HAS_PATH 1 _ACEOF fi @@ -15659,6 +17147,20 @@ _ACEOF cat >>confdefs.h <<\_ACEOF #define HAVE_KMEM_CACHE_T 1 +_ACEOF + + fi + if test "x$ac_cv_linux_kmem_cache_init" = "xyes" ; then + +cat >>confdefs.h <<\_ACEOF +#define KMEM_CACHE_INIT 1 +_ACEOF + + fi + if test "x$ac_cv_linux_have_current_kernel_time" = "xyes" ; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_CURRENT_KERNEL_TIME 1 _ACEOF fi @@ -18392,7 +19894,8 @@ done -for ac_header in sys/mount.h strings.h termios.h signal.h + +for ac_header in sys/mount.h strings.h termios.h signal.h poll.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then @@ -19143,7 +20646,8 @@ fi done -for ac_func in setvbuf + +for ac_func in setvbuf vsyslog do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 @@ -20528,6 +22032,8 @@ DBG=-g OPTMZ=-O LWP_DBG=-g LWP_OPTMZ=-O +NO_STRIP_BIN=-ns +NO_STRIP_KRB=-ns if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. @@ -21050,6 +22556,38 @@ case $AFS_SYSNAME in SHLIB_LINKER="${MT_CC} -shared" ;; + arm_linux24) + CCOBJ="${CC} -fPIC" + KERN_OPTMZ=-O2 + LEX="flex -l" + MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' + MT_LIBS="-lpthread" + PAM_OPTMZ=-O2 + PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" + SHLIB_LDFLAGS="-shared -Xlinker -x" + TXLIBS="-lncurses" + XCFLAGS="-D_LARGEFILE64_SOURCE" + YACC="bison -y" + SHLIB_LINKER="${MT_CC} -shared" + ;; + + arm_linux26) + CCOBJ="${CC} -fPIC" + KERN_OPTMZ=-O2 + LEX="flex -l" + MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' + MT_LIBS="-lpthread" + PAM_OPTMZ=-O2 + PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" + SHLIB_LDFLAGS="-shared -Xlinker -x" + TXLIBS="-lncurses" + XCFLAGS="-D_LARGEFILE64_SOURCE" + YACC="bison -y" + SHLIB_LINKER="${MT_CC} -shared" + ;; + hp_ux102) AS="/usr/ccs/bin/as" CC="/opt/ansic/bin/cc -Ae" @@ -21183,6 +22721,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE -G0" @@ -21209,6 +22748,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="/usr/lib64/libncurses.so" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE" @@ -21238,6 +22778,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" @@ -21259,6 +22800,7 @@ case $AFS_SYSNAME in LWP_OPTMZ=-O2 OPTMZ=-O2 PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE" @@ -21279,6 +22821,7 @@ case $AFS_SYSNAME in LWP_OPTMZ=-O2 OPTMZ=-O2 PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE" @@ -21299,6 +22842,7 @@ case $AFS_SYSNAME in LWP_OPTMZ=-O2 OPTMZ=-O2 PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE" @@ -21306,6 +22850,8 @@ case $AFS_SYSNAME in ;; *_obsd*) + KRB5CFLAGS="-I/usr/include/kerberosV" + KRB5LIBS="-lkrb5 -lcrypto" LEX="flex -l" MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-pthread" @@ -21324,6 +22870,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" @@ -21427,6 +22974,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" @@ -21505,6 +23053,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O -g -D_LARGEFILE64_SOURCE" @@ -21522,6 +23071,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O -g -D_LARGEFILE64_SOURCE" @@ -21539,6 +23089,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x -Xlinker -Bsymbolic" TXLIBS="-lncurses" XCFLAGS="-O -g -D_LARGEFILE64_SOURCE -D__s390x__" @@ -21614,6 +23165,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" @@ -21629,6 +23181,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" @@ -21790,7 +23343,7 @@ case $AFS_SYSNAME in SHLIB_CFLAGS="-KPIC" SHLIB_LDFLAGS="-G -Bsymbolic" TXLIBS="-lcurses" - XCFLAGS64='${XCFLAGS} -xarch=v9' + XCFLAGS64='${XCFLAGS} -m64' XCFLAGS="-dy -Bdynamic" XLIBELFA="-lelf" XLIBKVM="-lkvm" @@ -21896,7 +23449,7 @@ case $AFS_SYSNAME in SHLIB_CFLAGS="-KPIC" SHLIB_LDFLAGS="-G -Bsymbolic" TXLIBS="-lcurses" - XCFLAGS64='${XCFLAGS} -xarch=amd64' + XCFLAGS64='${XCFLAGS} -m64' XCFLAGS="-dy -Bdynamic" XLIBELFA="-lelf" XLIBKVM="-lkvm" @@ -22033,6 +23586,8 @@ fi if test "x$enable_debug" = "xno"; then DBG= + NO_STRIP_BIN= + NO_STRIP_KRB=-s fi if test "x$enable_optimize" = "xno"; then @@ -22047,6 +23602,27 @@ if test "x$enable_optimize_lwp" = "xno"; then LWP_OPTMZ= fi +if test "x$enable_strip_binaries" != "xno"; then + if test "x$enable_strip_binaries" = "xmaybe" -a "x$enable_debug" = "xyes"; then + NO_STRIP_BIN=-ns + NO_STRIP_KRB=-ns + else + NO_STRIP_BIN= + NO_STRIP_KRB=-s + fi +else + NO_STRIP_BIN=-ns + NO_STRIP_KRB=-ns +fi + +if test "x$enable_warnings" = "xyes"; then + if test "x$GCC" = "xyes"; then + XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition" + fi +fi + + + @@ -22211,7 +23787,11 @@ echo "${ECHO_T}Configuring support for Kerberos 5 utilities" >&6; } -for ac_func in add_to_error_table add_error_table krb5_princ_size krb5_principal_get_comp_string encode_krb5_enc_tkt_part encode_krb5_ticket + + + + +for ac_func in add_to_error_table add_error_table krb5_princ_size krb5_principal_get_comp_string encode_krb5_enc_tkt_part encode_krb5_ticket krb5_c_encrypt krb5_c_encrypt_length krb5_cc_register krb5_decode_ticket do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 @@ -23117,6 +24697,14 @@ fi LIBS="$save_LIBS" fi +if test "x$ac_cv_krb5_cc_register_exists" = "xyes"; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_KRB5_CC_REGISTER 1 +_ACEOF + +fi + @@ -23154,7 +24742,7 @@ else MAN_MAKEFILE= fi -ac_config_files="$ac_config_files Makefile ${MAN_MAKEFILE} src/afs/Makefile src/afsd/Makefile src/afsmonitor/Makefile src/afsweb/Makefile src/aklog/Makefile src/audit/Makefile src/auth/Makefile src/auth/test/Makefile src/bozo/Makefile src/bozo/test/Makefile src/bu_utils/Makefile src/bubasics/Makefile src/bucoord/Makefile src/budb/Makefile src/butc/Makefile src/butm/Makefile src/cmd/Makefile src/cmd/test/Makefile src/comerr/Makefile src/comerr/test/Makefile src/config/Makefile src/config/Makefile.config src/config/Makefile.version-NOCML src/dauth/Makefile src/des/Makefile src/des/test/Makefile src/des_stub/Makefile src/dir/Makefile src/dir/test/Makefile src/export/Makefile src/finale/Makefile src/fsint/Makefile src/fsprobe/Makefile src/gtx/Makefile src/JAVA/libjafs/Makefile src/kauth/Makefile src/kauth/test/Makefile src/libacl/Makefile src/libacl/test/Makefile src/libadmin/Makefile src/libadmin/adminutil/Makefile src/libadmin/bos/Makefile src/libadmin/cfg/Makefile src/libadmin/cfg/test/Makefile src/libadmin/client/Makefile src/libadmin/kas/Makefile src/libadmin/pts/Makefile src/libadmin/samples/Makefile src/libadmin/test/Makefile src/libadmin/vos/Makefile src/libafs/Makefile.common src/libafs/MakefileProto.${MKAFS_OSTYPE} ${DARWIN_PLIST} src/libafsauthent/Makefile src/libafsrpc/Makefile src/libuafs/Makefile.common src/libuafs/MakefileProto.${MKAFS_OSTYPE} src/log/Makefile src/log/test/Makefile src/login/Makefile src/lwp/Makefile src/lwp/test/Makefile src/mpp/Makefile src/null/Makefile src/package/Makefile src/packaging/MacOS/OpenAFS.Info.plist src/packaging/MacOS/OpenAFS.info src/packaging/RedHat/openafs.spec src/pam/Makefile src/pinstall/Makefile src/pinstall/test/Makefile src/platform/Makefile src/platform/${MKAFS_OSTYPE}/Makefile src/procmgmt/Makefile src/procmgmt/test/Makefile src/ptserver/Makefile src/rx/Makefile src/rx/bulk.example/Makefile src/rx/bulktest/Makefile src/rx/multi.example/Makefile src/rx/simple.example/Makefile src/rx/test/Makefile src/rxdebug/Makefile src/rxgen/Makefile src/rxkad/Makefile src/rxkad/test/Makefile src/rxstat/Makefile src/scout/Makefile src/sgistuff/Makefile src/shlibafsauthent/Makefile src/shlibafsrpc/Makefile src/sia/Makefile src/sys/Makefile src/tbutc/Makefile src/tests/Makefile src/tests/run-tests src/tests/OpenAFS/Dirpath.pm src/tsm41/Makefile src/tviced/Makefile src/tvolser/Makefile src/ubik/Makefile src/update/Makefile src/usd/Makefile src/usd/test/Makefile src/uss/Makefile src/util/Makefile src/util/test/Makefile src/venus/Makefile src/venus/test/Makefile src/vfsck/Makefile src/viced/Makefile src/vlserver/Makefile src/vol/Makefile src/vol/test/Makefile src/volser/Makefile src/wsadmin.src/Makefile src/xstat/Makefile src/helper-splint.sh" +ac_config_files="$ac_config_files Makefile ${MAN_MAKEFILE} src/afs/Makefile src/afsd/Makefile src/afsmonitor/Makefile src/afsweb/Makefile src/aklog/Makefile src/audit/Makefile src/auth/Makefile src/auth/test/Makefile src/bozo/Makefile src/bozo/test/Makefile src/bu_utils/Makefile src/bubasics/Makefile src/bucoord/Makefile src/budb/Makefile src/butc/Makefile src/butm/Makefile src/cmd/Makefile src/cmd/test/Makefile src/comerr/Makefile src/comerr/test/Makefile src/config/Makefile src/config/Makefile.config src/config/Makefile.version-NOCML src/dauth/Makefile src/des/Makefile src/des/test/Makefile src/des_stub/Makefile src/dir/Makefile src/dir/test/Makefile src/export/Makefile src/finale/Makefile src/fsint/Makefile src/fsprobe/Makefile src/gtx/Makefile src/JAVA/libjafs/Makefile src/kauth/Makefile src/kauth/test/Makefile src/libacl/Makefile src/libacl/test/Makefile src/libadmin/Makefile src/libadmin/adminutil/Makefile src/libadmin/bos/Makefile src/libadmin/cfg/Makefile src/libadmin/cfg/test/Makefile src/libadmin/client/Makefile src/libadmin/kas/Makefile src/libadmin/pts/Makefile src/libadmin/samples/Makefile src/libadmin/test/Makefile src/libadmin/vos/Makefile src/libafs/Makefile.common src/libafs/MakefileProto.${MKAFS_OSTYPE} ${DARWIN_PLIST} src/libafsauthent/Makefile src/libafsrpc/Makefile src/libuafs/Makefile.common src/libuafs/MakefileProto.${MKAFS_OSTYPE} src/log/Makefile src/log/test/Makefile src/login/Makefile src/lwp/Makefile src/lwp/test/Makefile src/mpp/Makefile src/null/Makefile src/package/Makefile src/packaging/MacOS/OpenAFS.Info.plist src/packaging/MacOS/OpenAFS.info src/packaging/MacOS/buildpkg.sh src/packaging/RedHat/openafs.spec src/pam/Makefile src/pinstall/Makefile src/pinstall/test/Makefile src/platform/Makefile src/platform/${MKAFS_OSTYPE}/Makefile src/procmgmt/Makefile src/procmgmt/test/Makefile src/ptserver/Makefile src/rx/Makefile src/rx/bulk.example/Makefile src/rx/bulktest/Makefile src/rx/multi.example/Makefile src/rx/simple.example/Makefile src/rx/test/Makefile src/rxdebug/Makefile src/rxgen/Makefile src/rxkad/Makefile src/rxkad/test/Makefile src/rxstat/Makefile src/scout/Makefile src/sgistuff/Makefile src/shlibafsauthent/Makefile src/shlibafsrpc/Makefile src/sia/Makefile src/sys/Makefile src/tbutc/Makefile src/tests/Makefile src/tests/run-tests src/tsm41/Makefile src/tviced/Makefile src/tvolser/Makefile src/ubik/Makefile src/update/Makefile src/usd/Makefile src/usd/test/Makefile src/uss/Makefile src/util/Makefile src/util/test/Makefile src/venus/Makefile src/venus/test/Makefile src/vfsck/Makefile src/viced/Makefile src/vlserver/Makefile src/vol/Makefile src/vol/test/Makefile src/volser/Makefile src/wsadmin.src/Makefile src/xstat/Makefile src/helper-splint.sh" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -23790,6 +25378,7 @@ do "src/package/Makefile") CONFIG_FILES="$CONFIG_FILES src/package/Makefile" ;; "src/packaging/MacOS/OpenAFS.Info.plist") CONFIG_FILES="$CONFIG_FILES src/packaging/MacOS/OpenAFS.Info.plist" ;; "src/packaging/MacOS/OpenAFS.info") CONFIG_FILES="$CONFIG_FILES src/packaging/MacOS/OpenAFS.info" ;; + "src/packaging/MacOS/buildpkg.sh") CONFIG_FILES="$CONFIG_FILES src/packaging/MacOS/buildpkg.sh" ;; "src/packaging/RedHat/openafs.spec") CONFIG_FILES="$CONFIG_FILES src/packaging/RedHat/openafs.spec" ;; "src/pam/Makefile") CONFIG_FILES="$CONFIG_FILES src/pam/Makefile" ;; "src/pinstall/Makefile") CONFIG_FILES="$CONFIG_FILES src/pinstall/Makefile" ;; @@ -23819,7 +25408,6 @@ do "src/tbutc/Makefile") CONFIG_FILES="$CONFIG_FILES src/tbutc/Makefile" ;; "src/tests/Makefile") CONFIG_FILES="$CONFIG_FILES src/tests/Makefile" ;; "src/tests/run-tests") CONFIG_FILES="$CONFIG_FILES src/tests/run-tests" ;; - "src/tests/OpenAFS/Dirpath.pm") CONFIG_FILES="$CONFIG_FILES src/tests/OpenAFS/Dirpath.pm" ;; "src/tsm41/Makefile") CONFIG_FILES="$CONFIG_FILES src/tsm41/Makefile" ;; "src/tviced/Makefile") CONFIG_FILES="$CONFIG_FILES src/tviced/Makefile" ;; "src/tvolser/Makefile") CONFIG_FILES="$CONFIG_FILES src/tvolser/Makefile" ;; @@ -23978,6 +25566,7 @@ AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim CCDEPMODE!$CCDEPMODE$ac_delim am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim +CPP!$CPP$ac_delim build!$build$ac_delim build_cpu!$build_cpu$ac_delim build_vendor!$build_vendor$ac_delim @@ -23986,7 +25575,6 @@ host!$host$ac_delim host_cpu!$host_cpu$ac_delim host_vendor!$host_vendor$ac_delim host_os!$host_os$ac_delim -CPP!$CPP$ac_delim GREP!$GREP$ac_delim EGREP!$EGREP$ac_delim LN_S!$LN_S$ac_delim @@ -24106,6 +25694,8 @@ LWP_OPTMZ!$LWP_OPTMZ$ac_delim MT_CC!$MT_CC$ac_delim MT_CFLAGS!$MT_CFLAGS$ac_delim MT_LIBS!$MT_LIBS$ac_delim +NO_STRIP_BIN!$NO_STRIP_BIN$ac_delim +NO_STRIP_KRB!$NO_STRIP_KRB$ac_delim OPTMZ!$OPTMZ$ac_delim PAM_CFLAGS!$PAM_CFLAGS$ac_delim PAM_LIBS!$PAM_LIBS$ac_delim @@ -24134,7 +25724,7 @@ LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 91; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 93; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 diff --git a/configure-libafs b/configure-libafs index e65bc9a6b..0575b1c91 100755 --- a/configure-libafs +++ b/configure-libafs @@ -760,6 +760,8 @@ LWP_OPTMZ MT_CC MT_CFLAGS MT_LIBS +NO_STRIP_BIN +NO_STRIP_KRB OPTMZ PAM_CFLAGS PAM_LIBS @@ -1395,9 +1397,11 @@ Optional Features: --enable-debug-kernel enable compilation of the kernel module with debugging information (defaults to disabled) --disable-optimize-kernel disable compilation of the kernel module with optimization (defaults based on platform) --enable-debug enable compilation of the user space code with debugging information (defaults to disabled) + --disable-strip-binaries disable stripping of symbol information from binaries (defaults to enabled) --disable-optimize disable optimization for compilation of the user space code (defaults to enabled) --enable-debug-lwp enable compilation of the LWP code with debugging information (defaults to disabled) --disable-optimize-lwp disable optimization for compilation of the LWP code (defaults to enabled) + --enable-warnings enable compilation warnings when building with gcc (defaults to disabled) --enable-bigendian the target is big endian --enable-littleendian the target is little endian @@ -2170,7 +2174,7 @@ fi # Define the identity of the package. PACKAGE=openafs-libafs - VERSION=1.4.6 + VERSION=1.4.7pre1 cat >>confdefs.h <<_ACEOF @@ -2318,7 +2322,7 @@ am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' ac_config_headers="$ac_config_headers src/config/afsconfig.h" -MACOS_VERSION=1.4.6 +MACOS_VERSION=1.4.7fc1 @@ -4795,6 +4799,14 @@ else fi +# Check whether --enable-strip-binaries was given. +if test "${enable_strip_binaries+set}" = set; then + enableval=$enable_strip_binaries; +else + enable_strip_binaries="maybe" + +fi + # Check whether --enable-optimize was given. if test "${enable_optimize+set}" = set; then enableval=$enable_optimize; @@ -4819,6 +4831,14 @@ else fi +# Check whether --enable-warnings was given. +if test "${enable_warnings+set}" = set; then + enableval=$enable_warnings; +else + enable_warnings="no" + +fi + enable_login="no" @@ -6348,6 +6368,14 @@ echo $ECHO_N "checking your AFS sysname... $ECHO_C" >&6; } AFS_PARAM_COMMON=param.nbsd20.h AFS_SYSNAME="amd64_nbsd20" ;; + x86_64-*-netbsd*3.0-8*) + AFS_PARAM_COMMON=param.nbsd30.h + AFS_SYSNAME="amd64_nbsd30" + ;; + x86_64-*-netbsd*4.0-8*) + AFS_PARAM_COMMON=param.nbsd40.h + AFS_SYSNAME="amd64_nbsd40" + ;; powerpc-*-netbsd*2.0*) AFS_PARAM_COMMON=param.nbsd20.h AFS_SYSNAME="ppc_nbsd20" @@ -6394,6 +6422,9 @@ echo $ECHO_N "checking your AFS sysname... $ECHO_C" >&6; } hppa*-hp-hpux11.11) AFS_SYSNAME="hp_ux11i" ;; + hppa*-hp-hpux11.23) + AFS_SYSNAME="hp_ux1123" + ;; ia64-hp-hpux11.22) AFS_SYSNAME="ia64_hpux1122" ;; @@ -7089,14 +7120,19 @@ echo "${ECHO_T}yes" >&6; } - { echo "$as_me:$LINENO: checking for linux kernel module build works" >&5 -echo $ECHO_N "checking for linux kernel module build works... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: checking if linux kbuild requires EXTRA_CFLAGS" >&5 +echo $ECHO_N "checking if linux kbuild requires EXTRA_CFLAGS... $ECHO_C" >&6; } + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS=-Wall if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -7117,33 +7153,30 @@ void conftest(void) MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then : + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_linux_kbuild_requires_extra_cflags=no else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - { { echo "$as_me:$LINENO: error: Fix problem or use --disable-kernel-module... -See \`config.log' for more details." >&5 -echo "$as_me: error: Fix problem or use --disable-kernel-module... -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + ac_linux_kbuild_requires_extra_cflags=yes fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include #include int @@ -7188,38 +7221,32 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - : + ac_linux_kbuild_requires_extra_cflags=no else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - { { echo "$as_me:$LINENO: error: Fix problem or use --disable-kernel-module... -See \`config.log' for more details." >&5 -echo "$as_me: error: Fix problem or use --disable-kernel-module... -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + ac_linux_kbuild_requires_extra_cflags=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="$ac_save_CPPFLAGS" fi - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - - { echo "$as_me:$LINENO: checking whether kmem_cache_t exists" >&5 -echo $ECHO_N "checking whether kmem_cache_t exists... $ECHO_C" >&6; } - if test "${ac_cv_linux_have_kmem_cache_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else + CPPFLAGS="$save_CPPFLAGS" + { echo "$as_me:$LINENO: result: $ac_linux_kbuild_requires_extra_cflags" >&5 +echo "${ECHO_T}$ac_linux_kbuild_requires_extra_cflags" >&6; } + { echo "$as_me:$LINENO: checking for linux kernel module build works" >&5 +echo $ECHO_N "checking for linux kernel module build works... $ECHO_C" >&6; } if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -7230,41 +7257,52 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include +#include void conftest(void) { -kmem_cache_t *k; + } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_have_kmem_cache_t=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then : else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_have_kmem_cache_t=no + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + { { echo "$as_me:$LINENO: error: Fix problem or use --disable-kernel-module... +See \`config.log' for more details." >&5 +echo "$as_me: error: Fix problem or use --disable-kernel-module... +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include +#include int main () { -kmem_cache_t *k; + ; return 0; } @@ -7303,34 +7341,41 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_have_kmem_cache_t=yes + : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_have_kmem_cache_t=no + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + { { echo "$as_me:$LINENO: error: Fix problem or use --disable-kernel-module... +See \`config.log' for more details." >&5 +echo "$as_me: error: Fix problem or use --disable-kernel-module... +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="$ac_save_CPPFLAGS" fi -fi - - { echo "$as_me:$LINENO: result: $ac_cv_linux_have_kmem_cache_t" >&5 -echo "${ECHO_T}$ac_cv_linux_have_kmem_cache_t" >&6; } + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } - { echo "$as_me:$LINENO: checking whether kmem_cache_create takes a destructor argument" >&5 -echo $ECHO_N "checking whether kmem_cache_create takes a destructor argument... $ECHO_C" >&6; } - if test "${ac_cv_linux_kmem_cache_create_takes_dtor+set}" = set; then + { echo "$as_me:$LINENO: checking for current_kernel_time()" >&5 +echo $ECHO_N "checking for current_kernel_time()... $ECHO_C" >&6; } + if test "${ac_cv_linux_have_current_kernel_time+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -7341,41 +7386,44 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { -kmem_cache_create(NULL, 0, 0, 0, NULL, NULL); +struct timespec s = current_kernel_time(); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_kmem_cache_create_takes_dtor=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_have_current_kernel_time=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_kmem_cache_create_takes_dtor=no + ac_cv_linux_have_current_kernel_time=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -kmem_cache_create(NULL, 0, 0, 0, NULL, NULL); +struct timespec s = current_kernel_time(); ; return 0; } @@ -7414,12 +7462,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_kmem_cache_create_takes_dtor=yes + ac_cv_linux_have_current_kernel_time=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_kmem_cache_create_takes_dtor=no + ac_cv_linux_have_current_kernel_time=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -7427,21 +7475,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_kmem_cache_create_takes_dtor" >&5 -echo "${ECHO_T}$ac_cv_linux_kmem_cache_create_takes_dtor" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_have_current_kernel_time" >&5 +echo "${ECHO_T}$ac_cv_linux_have_current_kernel_time" >&6; } - { echo "$as_me:$LINENO: checking for linux/config.h existance" >&5 -echo $ECHO_N "checking for linux/config.h existance... $ECHO_C" >&6; } - if test "${ac_cv_linux_config_h_exists+set}" = set; then + { echo "$as_me:$LINENO: checking for new kmem_cache init function parameters" >&5 +echo $ECHO_N "checking for new kmem_cache init function parameters... $ECHO_C" >&6; } + if test "${ac_cv_linux_kmem_cache_init+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -7452,40 +7503,49 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { +extern struct kmem_cache *kmem_cache_create(const char *, size_t, size_t, + unsigned long, + void (*)(struct kmem_cache *, void *)); return; } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_config_h_exists=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_kmem_cache_init=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_config_h_exists=no + ac_cv_linux_kmem_cache_init=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { +extern struct kmem_cache *kmem_cache_create(const char *, size_t, size_t, + unsigned long, + void (*)(struct kmem_cache *, void *)); return; ; return 0; @@ -7525,12 +7585,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_config_h_exists=yes + ac_cv_linux_kmem_cache_init=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_config_h_exists=no + ac_cv_linux_kmem_cache_init=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -7538,28 +7598,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_config_h_exists" >&5 -echo "${ECHO_T}$ac_cv_linux_config_h_exists" >&6; } - if test "x$ac_cv_linux_config_h_exists" = "xyes"; then - -cat >>confdefs.h <<\_ACEOF -#define CONFIG_H_EXISTS 1 -_ACEOF - - fi + { echo "$as_me:$LINENO: result: $ac_cv_linux_kmem_cache_init" >&5 +echo "${ECHO_T}$ac_cv_linux_kmem_cache_init" >&6; } - { echo "$as_me:$LINENO: checking for linux/completion.h existance" >&5 -echo $ECHO_N "checking for linux/completion.h existance... $ECHO_C" >&6; } - if test "${ac_cv_linux_completion_h_exists+set}" = set; then + { echo "$as_me:$LINENO: checking whether kmem_cache_t exists" >&5 +echo $ECHO_N "checking whether kmem_cache_t exists... $ECHO_C" >&6; } + if test "${ac_cv_linux_have_kmem_cache_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -7570,49 +7626,44 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include -#include +#include void conftest(void) { -struct completion _c; -#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,4,8) -lose -#endif +kmem_cache_t *k; } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_completion_h_exists=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_have_kmem_cache_t=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_completion_h_exists=no + ac_cv_linux_have_kmem_cache_t=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -#include + +#include +#include int main () { -struct completion _c; -#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,4,8) -lose -#endif +kmem_cache_t *k; ; return 0; } @@ -7651,12 +7702,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_completion_h_exists=yes + ac_cv_linux_have_kmem_cache_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_completion_h_exists=no + ac_cv_linux_have_kmem_cache_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -7664,21 +7715,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_completion_h_exists" >&5 -echo "${ECHO_T}$ac_cv_linux_completion_h_exists" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_have_kmem_cache_t" >&5 +echo "${ECHO_T}$ac_cv_linux_have_kmem_cache_t" >&6; } - { echo "$as_me:$LINENO: checking for defined for_each_process" >&5 -echo $ECHO_N "checking for defined for_each_process... $ECHO_C" >&6; } - if test "${ac_cv_linux_defines_for_each_process+set}" = set; then + { echo "$as_me:$LINENO: checking whether kmem_cache_create takes a destructor argument" >&5 +echo $ECHO_N "checking whether kmem_cache_create takes a destructor argument... $ECHO_C" >&6; } + if test "${ac_cv_linux_kmem_cache_create_takes_dtor+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -7689,45 +7743,44 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { -#ifndef for_each_process -#error for_each_process not defined -#endif +kmem_cache_create(NULL, 0, 0, 0, NULL, NULL); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_defines_for_each_process=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_kmem_cache_create_takes_dtor=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_defines_for_each_process=no + ac_cv_linux_kmem_cache_create_takes_dtor=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -#ifndef for_each_process -#error for_each_process not defined -#endif +kmem_cache_create(NULL, 0, 0, 0, NULL, NULL); ; return 0; } @@ -7766,12 +7819,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_defines_for_each_process=yes + ac_cv_linux_kmem_cache_create_takes_dtor=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_defines_for_each_process=no + ac_cv_linux_kmem_cache_create_takes_dtor=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -7779,21 +7832,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_defines_for_each_process" >&5 -echo "${ECHO_T}$ac_cv_linux_defines_for_each_process" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_kmem_cache_create_takes_dtor" >&5 +echo "${ECHO_T}$ac_cv_linux_kmem_cache_create_takes_dtor" >&6; } - { echo "$as_me:$LINENO: checking for defined prev_task" >&5 -echo $ECHO_N "checking for defined prev_task... $ECHO_C" >&6; } - if test "${ac_cv_linux_defines_prev_task+set}" = set; then + { echo "$as_me:$LINENO: checking for linux/config.h existance" >&5 +echo $ECHO_N "checking for linux/config.h existance... $ECHO_C" >&6; } + if test "${ac_cv_linux_config_h_exists+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -7804,45 +7860,44 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { -#ifndef prev_task -#error prev_task not defined -#endif +return; } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_defines_prev_task=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_config_h_exists=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_defines_prev_task=no + ac_cv_linux_config_h_exists=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -#ifndef prev_task -#error prev_task not defined -#endif +return; ; return 0; } @@ -7881,12 +7936,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_defines_prev_task=yes + ac_cv_linux_config_h_exists=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_defines_prev_task=no + ac_cv_linux_config_h_exists=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -7894,21 +7949,31 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_defines_prev_task" >&5 -echo "${ECHO_T}$ac_cv_linux_defines_prev_task" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_config_h_exists" >&5 +echo "${ECHO_T}$ac_cv_linux_config_h_exists" >&6; } + if test "x$ac_cv_linux_config_h_exists" = "xyes"; then - { echo "$as_me:$LINENO: checking for alloc_inode in struct super_operations" >&5 -echo $ECHO_N "checking for alloc_inode in struct super_operations... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_super_has_alloc_inode+set}" = set; then +cat >>confdefs.h <<\_ACEOF +#define CONFIG_H_EXISTS 1 +_ACEOF + + fi + + { echo "$as_me:$LINENO: checking for linux/completion.h existance" >&5 +echo $ECHO_N "checking for linux/completion.h existance... $ECHO_C" >&6; } + if test "${ac_cv_linux_completion_h_exists+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -7919,43 +7984,52 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include +#include void conftest(void) { -struct super_operations _super; -printk("%p\n", _super.alloc_inode); +struct completion _c; +#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,4,8) +lose +#endif } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_super_has_alloc_inode=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_completion_h_exists=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_super_has_alloc_inode=no + ac_cv_linux_completion_h_exists=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -int + +#include +#include +#include +int main () { -struct super_operations _super; -printk("%p\n", _super.alloc_inode); +struct completion _c; +#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,4,8) +lose +#endif ; return 0; } @@ -7994,12 +8068,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_super_has_alloc_inode=yes + ac_cv_linux_completion_h_exists=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_super_has_alloc_inode=no + ac_cv_linux_completion_h_exists=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -8007,21 +8081,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_super_has_alloc_inode" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_super_has_alloc_inode" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_completion_h_exists" >&5 +echo "${ECHO_T}$ac_cv_linux_completion_h_exists" >&6; } - { echo "$as_me:$LINENO: checking for page_lock in struct address_space" >&5 -echo $ECHO_N "checking for page_lock in struct address_space... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_address_space_has_page_lock+set}" = set; then + { echo "$as_me:$LINENO: checking for defined for_each_process" >&5 +echo $ECHO_N "checking for defined for_each_process... $ECHO_C" >&6; } + if test "${ac_cv_linux_defines_for_each_process+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -8032,43 +8109,48 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { -struct address_space _a_s; -printk("%x\n", _a_s.page_lock); +#ifndef for_each_process +#error for_each_process not defined +#endif } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_address_space_has_page_lock=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_defines_for_each_process=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_address_space_has_page_lock=no + ac_cv_linux_defines_for_each_process=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -struct address_space _a_s; -printk("%x\n", _a_s.page_lock); +#ifndef for_each_process +#error for_each_process not defined +#endif ; return 0; } @@ -8107,12 +8189,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_address_space_has_page_lock=yes + ac_cv_linux_defines_for_each_process=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_address_space_has_page_lock=no + ac_cv_linux_defines_for_each_process=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -8120,21 +8202,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_address_space_has_page_lock" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_address_space_has_page_lock" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_defines_for_each_process" >&5 +echo "${ECHO_T}$ac_cv_linux_defines_for_each_process" >&6; } - { echo "$as_me:$LINENO: checking for gfp_mask in struct address_space" >&5 -echo $ECHO_N "checking for gfp_mask in struct address_space... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_address_space_has_gfp_mask+set}" = set; then + { echo "$as_me:$LINENO: checking for defined prev_task" >&5 +echo $ECHO_N "checking for defined prev_task... $ECHO_C" >&6; } + if test "${ac_cv_linux_defines_prev_task+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -8145,43 +8230,48 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { -struct address_space _a; -printk("%d\n", _a.gfp_mask); +#ifndef prev_task +#error prev_task not defined +#endif } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_address_space_has_gfp_mask=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_defines_prev_task=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_address_space_has_gfp_mask=no + ac_cv_linux_defines_prev_task=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -struct address_space _a; -printk("%d\n", _a.gfp_mask); +#ifndef prev_task +#error prev_task not defined +#endif ; return 0; } @@ -8220,12 +8310,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_address_space_has_gfp_mask=yes + ac_cv_linux_defines_prev_task=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_address_space_has_gfp_mask=no + ac_cv_linux_defines_prev_task=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -8233,21 +8323,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_address_space_has_gfp_mask" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_address_space_has_gfp_mask" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_defines_prev_task" >&5 +echo "${ECHO_T}$ac_cv_linux_defines_prev_task" >&6; } - { echo "$as_me:$LINENO: checking for i_alloc_sem in struct inode" >&5 -echo $ECHO_N "checking for i_alloc_sem in struct inode... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_inode_has_i_alloc_sem+set}" = set; then + { echo "$as_me:$LINENO: checking for alloc_inode in struct super_operations" >&5 +echo $ECHO_N "checking for alloc_inode in struct super_operations... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_super_has_alloc_inode+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -8262,39 +8355,42 @@ _ACEOF void conftest(void) { -struct inode _i; -printk("%x\n", _i.i_alloc_sem); +struct super_operations _super; +printk("%p\n", _super.alloc_inode); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_inode_has_i_alloc_sem=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_super_has_alloc_inode=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_inode_has_i_alloc_sem=no + ac_cv_linux_fs_struct_super_has_alloc_inode=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { -struct inode _i; -printk("%x\n", _i.i_alloc_sem); +struct super_operations _super; +printk("%p\n", _super.alloc_inode); ; return 0; } @@ -8333,12 +8429,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_inode_has_i_alloc_sem=yes + ac_cv_linux_fs_struct_super_has_alloc_inode=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_inode_has_i_alloc_sem=no + ac_cv_linux_fs_struct_super_has_alloc_inode=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -8346,21 +8442,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_alloc_sem" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_alloc_sem" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_super_has_alloc_inode" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_super_has_alloc_inode" >&6; } - { echo "$as_me:$LINENO: checking for i_blkbits in struct inode" >&5 -echo $ECHO_N "checking for i_blkbits in struct inode... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_inode_has_i_blkbits+set}" = set; then + { echo "$as_me:$LINENO: checking for page_lock in struct address_space" >&5 +echo $ECHO_N "checking for page_lock in struct address_space... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_address_space_has_page_lock+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -8375,39 +8474,42 @@ _ACEOF void conftest(void) { -struct inode _inode; -printk("%d\n", _inode.i_blkbits); +struct address_space _a_s; +printk("%x\n", _a_s.page_lock); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_inode_has_i_blkbits=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_address_space_has_page_lock=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_inode_has_i_blkbits=no + ac_cv_linux_fs_struct_address_space_has_page_lock=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { -struct inode _inode; -printk("%d\n", _inode.i_blkbits); +struct address_space _a_s; +printk("%x\n", _a_s.page_lock); ; return 0; } @@ -8446,12 +8548,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_inode_has_i_blkbits=yes + ac_cv_linux_fs_struct_address_space_has_page_lock=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_inode_has_i_blkbits=no + ac_cv_linux_fs_struct_address_space_has_page_lock=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -8459,28 +8561,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_blkbits" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_blkbits" >&6; } - if test "x$ac_cv_linux_fs_struct_inode_has_i_blkbits" = "xyes"; then - -cat >>confdefs.h <<\_ACEOF -#define STRUCT_INODE_HAS_I_BLKBITS 1 -_ACEOF - - fi + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_address_space_has_page_lock" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_address_space_has_page_lock" >&6; } - { echo "$as_me:$LINENO: checking for i_blksize in struct inode" >&5 -echo $ECHO_N "checking for i_blksize in struct inode... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_inode_has_i_blksize+set}" = set; then + { echo "$as_me:$LINENO: checking for gfp_mask in struct address_space" >&5 +echo $ECHO_N "checking for gfp_mask in struct address_space... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_address_space_has_gfp_mask+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -8495,39 +8593,42 @@ _ACEOF void conftest(void) { -struct inode _inode; -printk("%d\n", _inode.i_blksize); +struct address_space _a; +printk("%d\n", _a.gfp_mask); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_inode_has_i_blksize=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_address_space_has_gfp_mask=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_inode_has_i_blksize=no + ac_cv_linux_fs_struct_address_space_has_gfp_mask=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { -struct inode _inode; -printk("%d\n", _inode.i_blksize); +struct address_space _a; +printk("%d\n", _a.gfp_mask); ; return 0; } @@ -8566,12 +8667,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_inode_has_i_blksize=yes + ac_cv_linux_fs_struct_address_space_has_gfp_mask=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_inode_has_i_blksize=no + ac_cv_linux_fs_struct_address_space_has_gfp_mask=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -8579,21 +8680,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_blksize" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_blksize" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_address_space_has_gfp_mask" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_address_space_has_gfp_mask" >&6; } - { echo "$as_me:$LINENO: checking for i_truncate_sem in struct inode" >&5 -echo $ECHO_N "checking for i_truncate_sem in struct inode... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_inode_has_i_truncate_sem+set}" = set; then + { echo "$as_me:$LINENO: checking for i_alloc_sem in struct inode" >&5 +echo $ECHO_N "checking for i_alloc_sem in struct inode... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_inode_has_i_alloc_sem+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -8609,38 +8713,41 @@ _ACEOF void conftest(void) { struct inode _i; -printk("%x\n", _i.i_truncate_sem); +printk("%x\n", _i.i_alloc_sem); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_inode_has_i_truncate_sem=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_inode_has_i_alloc_sem=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_inode_has_i_truncate_sem=no + ac_cv_linux_fs_struct_inode_has_i_alloc_sem=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct inode _i; -printk("%x\n", _i.i_truncate_sem); +printk("%x\n", _i.i_alloc_sem); ; return 0; } @@ -8679,12 +8786,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_inode_has_i_truncate_sem=yes + ac_cv_linux_fs_struct_inode_has_i_alloc_sem=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_inode_has_i_truncate_sem=no + ac_cv_linux_fs_struct_inode_has_i_alloc_sem=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -8692,21 +8799,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_truncate_sem" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_truncate_sem" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_alloc_sem" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_alloc_sem" >&6; } - { echo "$as_me:$LINENO: checking for i_dirty_data_buffers in struct inode" >&5 -echo $ECHO_N "checking for i_dirty_data_buffers in struct inode... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers+set}" = set; then + { echo "$as_me:$LINENO: checking for i_blkbits in struct inode" >&5 +echo $ECHO_N "checking for i_blkbits in struct inode... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_inode_has_i_blkbits+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -8722,38 +8832,41 @@ _ACEOF void conftest(void) { struct inode _inode; -printk("%d\n", _inode.i_dirty_data_buffers); +printk("%d\n", _inode.i_blkbits); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_inode_has_i_blkbits=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=no + ac_cv_linux_fs_struct_inode_has_i_blkbits=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct inode _inode; -printk("%d\n", _inode.i_dirty_data_buffers); +printk("%d\n", _inode.i_blkbits); ; return 0; } @@ -8792,12 +8905,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=yes + ac_cv_linux_fs_struct_inode_has_i_blkbits=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=no + ac_cv_linux_fs_struct_inode_has_i_blkbits=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -8805,21 +8918,31 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_blkbits" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_blkbits" >&6; } + if test "x$ac_cv_linux_fs_struct_inode_has_i_blkbits" = "xyes"; then - { echo "$as_me:$LINENO: checking for i_devices in struct inode" >&5 -echo $ECHO_N "checking for i_devices in struct inode... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_inode_has_i_devices+set}" = set; then +cat >>confdefs.h <<\_ACEOF +#define STRUCT_INODE_HAS_I_BLKBITS 1 +_ACEOF + + fi + + { echo "$as_me:$LINENO: checking for i_blksize in struct inode" >&5 +echo $ECHO_N "checking for i_blksize in struct inode... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_inode_has_i_blksize+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -8835,38 +8958,41 @@ _ACEOF void conftest(void) { struct inode _inode; -printk("%d\n", _inode.i_devices); +printk("%d\n", _inode.i_blksize); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_inode_has_i_devices=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_inode_has_i_blksize=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_inode_has_i_devices=no + ac_cv_linux_fs_struct_inode_has_i_blksize=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct inode _inode; -printk("%d\n", _inode.i_devices); +printk("%d\n", _inode.i_blksize); ; return 0; } @@ -8905,12 +9031,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_inode_has_i_devices=yes + ac_cv_linux_fs_struct_inode_has_i_blksize=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_inode_has_i_devices=no + ac_cv_linux_fs_struct_inode_has_i_blksize=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -8918,21 +9044,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_devices" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_devices" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_blksize" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_blksize" >&6; } - { echo "$as_me:$LINENO: checking for i_mmap_shared in struct inode" >&5 -echo $ECHO_N "checking for i_mmap_shared in struct inode... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_inode_has_i_mmap_shared+set}" = set; then + { echo "$as_me:$LINENO: checking for i_truncate_sem in struct inode" >&5 +echo $ECHO_N "checking for i_truncate_sem in struct inode... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_inode_has_i_truncate_sem+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -8947,39 +9076,42 @@ _ACEOF void conftest(void) { -struct inode _inode; -printk("%d\n", _inode.i_mmap_shared); +struct inode _i; +printk("%x\n", _i.i_truncate_sem); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_inode_has_i_mmap_shared=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_inode_has_i_truncate_sem=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_inode_has_i_mmap_shared=no + ac_cv_linux_fs_struct_inode_has_i_truncate_sem=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { -struct inode _inode; -printk("%d\n", _inode.i_mmap_shared); +struct inode _i; +printk("%x\n", _i.i_truncate_sem); ; return 0; } @@ -9018,12 +9150,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_inode_has_i_mmap_shared=yes + ac_cv_linux_fs_struct_inode_has_i_truncate_sem=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_inode_has_i_mmap_shared=no + ac_cv_linux_fs_struct_inode_has_i_truncate_sem=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -9031,21 +9163,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_mmap_shared" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_mmap_shared" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_truncate_sem" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_truncate_sem" >&6; } - { echo "$as_me:$LINENO: checking for i_mutex in struct inode" >&5 -echo $ECHO_N "checking for i_mutex in struct inode... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_inode_has_i_mutex+set}" = set; then + { echo "$as_me:$LINENO: checking for i_dirty_data_buffers in struct inode" >&5 +echo $ECHO_N "checking for i_dirty_data_buffers in struct inode... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -9061,38 +9196,41 @@ _ACEOF void conftest(void) { struct inode _inode; -printk("%d\n", _inode.i_mutex); +printk("%d\n", _inode.i_dirty_data_buffers); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_inode_has_i_mutex=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_inode_has_i_mutex=no + ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct inode _inode; -printk("%d\n", _inode.i_mutex); +printk("%d\n", _inode.i_dirty_data_buffers); ; return 0; } @@ -9131,12 +9269,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_inode_has_i_mutex=yes + ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_inode_has_i_mutex=no + ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -9144,21 +9282,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_mutex" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_mutex" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" >&6; } - { echo "$as_me:$LINENO: checking for i_sb_list in struct inode" >&5 -echo $ECHO_N "checking for i_sb_list in struct inode... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_inode_has_i_sb_list+set}" = set; then + { echo "$as_me:$LINENO: checking for i_devices in struct inode" >&5 +echo $ECHO_N "checking for i_devices in struct inode... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_inode_has_i_devices+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -9174,38 +9315,41 @@ _ACEOF void conftest(void) { struct inode _inode; -printk("%d\n", _inode.i_sb_list); +printk("%d\n", _inode.i_devices); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_inode_has_i_sb_list=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_inode_has_i_devices=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_inode_has_i_sb_list=no + ac_cv_linux_fs_struct_inode_has_i_devices=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct inode _inode; -printk("%d\n", _inode.i_sb_list); +printk("%d\n", _inode.i_devices); ; return 0; } @@ -9244,12 +9388,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_inode_has_i_sb_list=yes + ac_cv_linux_fs_struct_inode_has_i_devices=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_inode_has_i_sb_list=no + ac_cv_linux_fs_struct_inode_has_i_devices=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -9257,21 +9401,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_sb_list" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_sb_list" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_devices" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_devices" >&6; } - { echo "$as_me:$LINENO: checking for i_security in struct inode" >&5 -echo $ECHO_N "checking for i_security in struct inode... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_inode_has_i_security+set}" = set; then + { echo "$as_me:$LINENO: checking for i_mmap_shared in struct inode" >&5 +echo $ECHO_N "checking for i_mmap_shared in struct inode... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_inode_has_i_mmap_shared+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -9287,38 +9434,41 @@ _ACEOF void conftest(void) { struct inode _inode; -printk("%d\n", _inode.i_security); +printk("%d\n", _inode.i_mmap_shared); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_inode_has_i_security=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_inode_has_i_mmap_shared=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_inode_has_i_security=no + ac_cv_linux_fs_struct_inode_has_i_mmap_shared=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct inode _inode; -printk("%d\n", _inode.i_security); +printk("%d\n", _inode.i_mmap_shared); ; return 0; } @@ -9357,12 +9507,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_inode_has_i_security=yes + ac_cv_linux_fs_struct_inode_has_i_mmap_shared=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_inode_has_i_security=no + ac_cv_linux_fs_struct_inode_has_i_mmap_shared=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -9370,21 +9520,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_security" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_security" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_mmap_shared" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_mmap_shared" >&6; } - { echo "$as_me:$LINENO: checking for inotify_lock in struct inode" >&5 -echo $ECHO_N "checking for inotify_lock in struct inode... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_inode_has_inotify_lock+set}" = set; then + { echo "$as_me:$LINENO: checking for i_mutex in struct inode" >&5 +echo $ECHO_N "checking for i_mutex in struct inode... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_inode_has_i_mutex+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -9400,38 +9553,41 @@ _ACEOF void conftest(void) { struct inode _inode; -printk("%d\n", _inode.inotify_lock); +printk("%d\n", _inode.i_mutex); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_inode_has_inotify_lock=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_inode_has_i_mutex=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_inode_has_inotify_lock=no + ac_cv_linux_fs_struct_inode_has_i_mutex=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct inode _inode; -printk("%d\n", _inode.inotify_lock); +printk("%d\n", _inode.i_mutex); ; return 0; } @@ -9470,12 +9626,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_inode_has_inotify_lock=yes + ac_cv_linux_fs_struct_inode_has_i_mutex=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_inode_has_inotify_lock=no + ac_cv_linux_fs_struct_inode_has_i_mutex=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -9483,21 +9639,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_inotify_lock" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_inotify_lock" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_mutex" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_mutex" >&6; } - { echo "$as_me:$LINENO: checking for inotify_sem in struct inode" >&5 -echo $ECHO_N "checking for inotify_sem in struct inode... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_inode_has_inotify_sem+set}" = set; then + { echo "$as_me:$LINENO: checking for i_sb_list in struct inode" >&5 +echo $ECHO_N "checking for i_sb_list in struct inode... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_inode_has_i_sb_list+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -9513,38 +9672,41 @@ _ACEOF void conftest(void) { struct inode _inode; -printk("%x\n", _inode.inotify_sem); +printk("%d\n", _inode.i_sb_list); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_inode_has_inotify_sem=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_inode_has_i_sb_list=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_inode_has_inotify_sem=no + ac_cv_linux_fs_struct_inode_has_i_sb_list=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct inode _inode; -printk("%x\n", _inode.inotify_sem); +printk("%d\n", _inode.i_sb_list); ; return 0; } @@ -9583,12 +9745,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_inode_has_inotify_sem=yes + ac_cv_linux_fs_struct_inode_has_i_sb_list=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_inode_has_inotify_sem=no + ac_cv_linux_fs_struct_inode_has_i_sb_list=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -9596,21 +9758,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_inotify_sem" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_inotify_sem" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_sb_list" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_sb_list" >&6; } - { echo "$as_me:$LINENO: checking for inode_setattr return type" >&5 -echo $ECHO_N "checking for inode_setattr return type... $ECHO_C" >&6; } - if test "${ac_cv_linux_func_inode_setattr_returns_int+set}" = set; then + { echo "$as_me:$LINENO: checking for i_security in struct inode" >&5 +echo $ECHO_N "checking for i_security in struct inode... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_inode_has_i_security+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -9626,42 +9791,41 @@ _ACEOF void conftest(void) { struct inode _inode; -struct iattr _iattr; -int i; -i = inode_setattr(&_inode, &_iattr); +printk("%d\n", _inode.i_security); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_func_inode_setattr_returns_int=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_inode_has_i_security=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_func_inode_setattr_returns_int=no + ac_cv_linux_fs_struct_inode_has_i_security=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct inode _inode; -struct iattr _iattr; -int i; -i = inode_setattr(&_inode, &_iattr); +printk("%d\n", _inode.i_security); ; return 0; } @@ -9700,12 +9864,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_func_inode_setattr_returns_int=yes + ac_cv_linux_fs_struct_inode_has_i_security=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_func_inode_setattr_returns_int=no + ac_cv_linux_fs_struct_inode_has_i_security=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -9713,21 +9877,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_func_inode_setattr_returns_int" >&5 -echo "${ECHO_T}$ac_cv_linux_func_inode_setattr_returns_int" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_security" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_security" >&6; } - { echo "$as_me:$LINENO: checking for write_inode return type" >&5 -echo $ECHO_N "checking for write_inode return type... $ECHO_C" >&6; } - if test "${ac_cv_linux_func_write_inode_returns_int+set}" = set; then + { echo "$as_me:$LINENO: checking for inotify_lock in struct inode" >&5 +echo $ECHO_N "checking for inotify_lock in struct inode... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_inode_has_inotify_lock+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -9743,42 +9910,41 @@ _ACEOF void conftest(void) { struct inode _inode; -struct super_operations _sops; -int i; -i = _sops.write_inode(&_inode, 0); +printk("%d\n", _inode.inotify_lock); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_func_write_inode_returns_int=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_inode_has_inotify_lock=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_func_write_inode_returns_int=no + ac_cv_linux_fs_struct_inode_has_inotify_lock=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct inode _inode; -struct super_operations _sops; -int i; -i = _sops.write_inode(&_inode, 0); +printk("%d\n", _inode.inotify_lock); ; return 0; } @@ -9817,12 +9983,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_func_write_inode_returns_int=yes + ac_cv_linux_fs_struct_inode_has_inotify_lock=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_func_write_inode_returns_int=no + ac_cv_linux_fs_struct_inode_has_inotify_lock=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -9830,21 +9996,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_func_write_inode_returns_int" >&5 -echo "${ECHO_T}$ac_cv_linux_func_write_inode_returns_int" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_inotify_lock" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_inotify_lock" >&6; } - { echo "$as_me:$LINENO: checking whether inode_operations.create takes a nameidata" >&5 -echo $ECHO_N "checking whether inode_operations.create takes a nameidata... $ECHO_C" >&6; } - if test "${ac_cv_linux_func_i_create_takes_nameidata+set}" = set; then + { echo "$as_me:$LINENO: checking for inotify_sem in struct inode" >&5 +echo $ECHO_N "checking for inotify_sem in struct inode... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_inode_has_inotify_sem+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -9856,48 +10025,45 @@ _ACEOF /* end confdefs.h */ #include #include -#include void conftest(void) { struct inode _inode; -struct dentry _dentry; -struct nameidata _nameidata; -(void)_inode.i_op->create(&_inode, &_dentry, 0, &_nameidata); +printk("%x\n", _inode.inotify_sem); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_func_i_create_takes_nameidata=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_inode_has_inotify_sem=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_func_i_create_takes_nameidata=no + ac_cv_linux_fs_struct_inode_has_inotify_sem=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include -#include int main () { struct inode _inode; -struct dentry _dentry; -struct nameidata _nameidata; -(void)_inode.i_op->create(&_inode, &_dentry, 0, &_nameidata); +printk("%x\n", _inode.inotify_sem); ; return 0; } @@ -9936,12 +10102,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_func_i_create_takes_nameidata=yes + ac_cv_linux_fs_struct_inode_has_inotify_sem=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_func_i_create_takes_nameidata=no + ac_cv_linux_fs_struct_inode_has_inotify_sem=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -9949,21 +10115,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_create_takes_nameidata" >&5 -echo "${ECHO_T}$ac_cv_linux_func_i_create_takes_nameidata" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_inotify_sem" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_inotify_sem" >&6; } - { echo "$as_me:$LINENO: checking whether inode_operations.lookup takes a nameidata" >&5 -echo $ECHO_N "checking whether inode_operations.lookup takes a nameidata... $ECHO_C" >&6; } - if test "${ac_cv_linux_func_i_lookup_takes_nameidata+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { echo "$as_me:$LINENO: checking for inode_setattr return type" >&5 +echo $ECHO_N "checking for inode_setattr return type... $ECHO_C" >&6; } + if test "${ac_cv_linux_func_inode_setattr_returns_int+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -9975,48 +10144,49 @@ _ACEOF /* end confdefs.h */ #include #include -#include void conftest(void) { struct inode _inode; -struct dentry _dentry; -struct nameidata _nameidata; -(void)_inode.i_op->lookup(&_inode, &_dentry, &_nameidata); +struct iattr _iattr; +int i; +i = inode_setattr(&_inode, &_iattr); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_func_i_lookup_takes_nameidata=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_func_inode_setattr_returns_int=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_func_i_lookup_takes_nameidata=no + ac_cv_linux_func_inode_setattr_returns_int=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include -#include int main () { struct inode _inode; -struct dentry _dentry; -struct nameidata _nameidata; -(void)_inode.i_op->lookup(&_inode, &_dentry, &_nameidata); +struct iattr _iattr; +int i; +i = inode_setattr(&_inode, &_iattr); ; return 0; } @@ -10055,12 +10225,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_func_i_lookup_takes_nameidata=yes + ac_cv_linux_func_inode_setattr_returns_int=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_func_i_lookup_takes_nameidata=no + ac_cv_linux_func_inode_setattr_returns_int=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -10068,21 +10238,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_lookup_takes_nameidata" >&5 -echo "${ECHO_T}$ac_cv_linux_func_i_lookup_takes_nameidata" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_func_inode_setattr_returns_int" >&5 +echo "${ECHO_T}$ac_cv_linux_func_inode_setattr_returns_int" >&6; } - { echo "$as_me:$LINENO: checking whether inode_operations.permission takes a nameidata" >&5 -echo $ECHO_N "checking whether inode_operations.permission takes a nameidata... $ECHO_C" >&6; } - if test "${ac_cv_linux_func_i_permission_takes_nameidata+set}" = set; then + { echo "$as_me:$LINENO: checking for write_inode return type" >&5 +echo $ECHO_N "checking for write_inode return type... $ECHO_C" >&6; } + if test "${ac_cv_linux_func_write_inode_returns_int+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -10094,48 +10267,49 @@ _ACEOF /* end confdefs.h */ #include #include -#include void conftest(void) { struct inode _inode; -struct dentry _dentry; -struct nameidata _nameidata; -(void)_inode.i_op->permission(&_inode, 0, &_nameidata); +struct super_operations _sops; +int i; +i = _sops.write_inode(&_inode, 0); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_func_i_permission_takes_nameidata=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_func_write_inode_returns_int=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_func_i_permission_takes_nameidata=no + ac_cv_linux_func_write_inode_returns_int=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include -#include int main () { struct inode _inode; -struct dentry _dentry; -struct nameidata _nameidata; -(void)_inode.i_op->permission(&_inode, 0, &_nameidata); +struct super_operations _sops; +int i; +i = _sops.write_inode(&_inode, 0); ; return 0; } @@ -10174,12 +10348,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_func_i_permission_takes_nameidata=yes + ac_cv_linux_func_write_inode_returns_int=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_func_i_permission_takes_nameidata=no + ac_cv_linux_func_write_inode_returns_int=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -10187,21 +10361,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_permission_takes_nameidata" >&5 -echo "${ECHO_T}$ac_cv_linux_func_i_permission_takes_nameidata" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_func_write_inode_returns_int" >&5 +echo "${ECHO_T}$ac_cv_linux_func_write_inode_returns_int" >&6; } - { echo "$as_me:$LINENO: checking whether inode_operations.put_link takes an opaque cookie" >&5 -echo $ECHO_N "checking whether inode_operations.put_link takes an opaque cookie... $ECHO_C" >&6; } - if test "${ac_cv_linux_func_i_put_link_takes_cookie+set}" = set; then + { echo "$as_me:$LINENO: checking whether inode_operations.create takes a nameidata" >&5 +echo $ECHO_N "checking whether inode_operations.create takes a nameidata... $ECHO_C" >&6; } + if test "${ac_cv_linux_func_i_create_takes_nameidata+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -10220,33 +10397,35 @@ void conftest(void) struct inode _inode; struct dentry _dentry; struct nameidata _nameidata; -void *cookie; -(void)_inode.i_op->put_link(&_dentry, &_nameidata, cookie); +(void)_inode.i_op->create(&_inode, &_dentry, 0, &_nameidata); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_func_i_put_link_takes_cookie=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_func_i_create_takes_nameidata=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_func_i_put_link_takes_cookie=no + ac_cv_linux_func_i_create_takes_nameidata=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include #include int @@ -10255,8 +10434,7 @@ main () struct inode _inode; struct dentry _dentry; struct nameidata _nameidata; -void *cookie; -(void)_inode.i_op->put_link(&_dentry, &_nameidata, cookie); +(void)_inode.i_op->create(&_inode, &_dentry, 0, &_nameidata); ; return 0; } @@ -10295,12 +10473,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_func_i_put_link_takes_cookie=yes + ac_cv_linux_func_i_create_takes_nameidata=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_func_i_put_link_takes_cookie=no + ac_cv_linux_func_i_create_takes_nameidata=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -10308,21 +10486,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_put_link_takes_cookie" >&5 -echo "${ECHO_T}$ac_cv_linux_func_i_put_link_takes_cookie" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_create_takes_nameidata" >&5 +echo "${ECHO_T}$ac_cv_linux_func_i_create_takes_nameidata" >&6; } - { echo "$as_me:$LINENO: checking whether dentry_operations.d_revalidate takes a nameidata" >&5 -echo $ECHO_N "checking whether dentry_operations.d_revalidate takes a nameidata... $ECHO_C" >&6; } - if test "${ac_cv_linux_func_d_revalidate_takes_nameidata+set}" = set; then + { echo "$as_me:$LINENO: checking whether inode_operations.lookup takes a nameidata" >&5 +echo $ECHO_N "checking whether inode_operations.lookup takes a nameidata... $ECHO_C" >&6; } + if test "${ac_cv_linux_func_i_lookup_takes_nameidata+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -10338,42 +10519,47 @@ _ACEOF void conftest(void) { +struct inode _inode; struct dentry _dentry; struct nameidata _nameidata; -(void)_dentry.d_op->d_revalidate(&_dentry, &_nameidata); +(void)_inode.i_op->lookup(&_inode, &_dentry, &_nameidata); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_func_d_revalidate_takes_nameidata=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_func_i_lookup_takes_nameidata=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_func_d_revalidate_takes_nameidata=no + ac_cv_linux_func_i_lookup_takes_nameidata=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include #include int main () { +struct inode _inode; struct dentry _dentry; struct nameidata _nameidata; -(void)_dentry.d_op->d_revalidate(&_dentry, &_nameidata); +(void)_inode.i_op->lookup(&_inode, &_dentry, &_nameidata); ; return 0; } @@ -10412,12 +10598,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_func_d_revalidate_takes_nameidata=yes + ac_cv_linux_func_i_lookup_takes_nameidata=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_func_d_revalidate_takes_nameidata=no + ac_cv_linux_func_i_lookup_takes_nameidata=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -10425,21 +10611,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_func_d_revalidate_takes_nameidata" >&5 -echo "${ECHO_T}$ac_cv_linux_func_d_revalidate_takes_nameidata" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_lookup_takes_nameidata" >&5 +echo "${ECHO_T}$ac_cv_linux_func_i_lookup_takes_nameidata" >&6; } - { echo "$as_me:$LINENO: checking whether file_operations.flush takes a fl_owner_t" >&5 -echo $ECHO_N "checking whether file_operations.flush takes a fl_owner_t... $ECHO_C" >&6; } - if test "${ac_cv_linux_func_f_flush_takes_fl_owner_t+set}" = set; then + { echo "$as_me:$LINENO: checking whether inode_operations.permission takes a nameidata" >&5 +echo $ECHO_N "checking whether inode_operations.permission takes a nameidata... $ECHO_C" >&6; } + if test "${ac_cv_linux_func_i_permission_takes_nameidata+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -10451,46 +10640,51 @@ _ACEOF /* end confdefs.h */ #include #include +#include void conftest(void) { struct inode _inode; -struct file _file; -fl_owner_t id; -(void)_inode.i_fop->flush(&_file, &id); +struct dentry _dentry; +struct nameidata _nameidata; +(void)_inode.i_op->permission(&_inode, 0, &_nameidata); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_func_f_flush_takes_fl_owner_t=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_func_i_permission_takes_nameidata=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_func_f_flush_takes_fl_owner_t=no + ac_cv_linux_func_i_permission_takes_nameidata=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include +#include int main () { struct inode _inode; -struct file _file; -fl_owner_t id; -(void)_inode.i_fop->flush(&_file, &id); +struct dentry _dentry; +struct nameidata _nameidata; +(void)_inode.i_op->permission(&_inode, 0, &_nameidata); ; return 0; } @@ -10529,12 +10723,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_func_f_flush_takes_fl_owner_t=yes + ac_cv_linux_func_i_permission_takes_nameidata=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_func_f_flush_takes_fl_owner_t=no + ac_cv_linux_func_i_permission_takes_nameidata=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -10542,21 +10736,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_func_f_flush_takes_fl_owner_t" >&5 -echo "${ECHO_T}$ac_cv_linux_func_f_flush_takes_fl_owner_t" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_permission_takes_nameidata" >&5 +echo "${ECHO_T}$ac_cv_linux_func_i_permission_takes_nameidata" >&6; } - { echo "$as_me:$LINENO: checking whether address_space_operations.writepage takes a writeback_control" >&5 -echo $ECHO_N "checking whether address_space_operations.writepage takes a writeback_control... $ECHO_C" >&6; } - if test "${ac_cv_linux_func_a_writepage_takes_writeback_control+set}" = set; then + { echo "$as_me:$LINENO: checking whether inode_operations.put_link takes an opaque cookie" >&5 +echo $ECHO_N "checking whether inode_operations.put_link takes an opaque cookie... $ECHO_C" >&6; } + if test "${ac_cv_linux_func_i_put_link_takes_cookie+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -10568,50 +10765,53 @@ _ACEOF /* end confdefs.h */ #include #include -#include -#include +#include void conftest(void) { -struct address_space_operations _aops; -struct page _page; -struct writeback_control _writeback_control; -(void)_aops.writepage(&_page, &_writeback_control); +struct inode _inode; +struct dentry _dentry; +struct nameidata _nameidata; +void *cookie; +(void)_inode.i_op->put_link(&_dentry, &_nameidata, cookie); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_func_a_writepage_takes_writeback_control=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_func_i_put_link_takes_cookie=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_func_a_writepage_takes_writeback_control=no + ac_cv_linux_func_i_put_link_takes_cookie=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include -#include -#include +#include int main () { -struct address_space_operations _aops; -struct page _page; -struct writeback_control _writeback_control; -(void)_aops.writepage(&_page, &_writeback_control); +struct inode _inode; +struct dentry _dentry; +struct nameidata _nameidata; +void *cookie; +(void)_inode.i_op->put_link(&_dentry, &_nameidata, cookie); ; return 0; } @@ -10650,12 +10850,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_func_a_writepage_takes_writeback_control=yes + ac_cv_linux_func_i_put_link_takes_cookie=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_func_a_writepage_takes_writeback_control=no + ac_cv_linux_func_i_put_link_takes_cookie=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -10663,21 +10863,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_func_a_writepage_takes_writeback_control" >&5 -echo "${ECHO_T}$ac_cv_linux_func_a_writepage_takes_writeback_control" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_put_link_takes_cookie" >&5 +echo "${ECHO_T}$ac_cv_linux_func_i_put_link_takes_cookie" >&6; } - { echo "$as_me:$LINENO: checking for flock in struct file_operations" >&5 -echo $ECHO_N "checking for flock in struct file_operations... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_fop_has_flock+set}" = set; then + { echo "$as_me:$LINENO: checking whether dentry_operations.d_revalidate takes a nameidata" >&5 +echo $ECHO_N "checking whether dentry_operations.d_revalidate takes a nameidata... $ECHO_C" >&6; } + if test "${ac_cv_linux_func_d_revalidate_takes_nameidata+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -10689,42 +10892,49 @@ _ACEOF /* end confdefs.h */ #include #include +#include void conftest(void) { -struct file_operations _fop; -_fop.flock(NULL, 0, NULL); +struct dentry _dentry; +struct nameidata _nameidata; +(void)_dentry.d_op->d_revalidate(&_dentry, &_nameidata); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_fop_has_flock=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_func_d_revalidate_takes_nameidata=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_fop_has_flock=no + ac_cv_linux_func_d_revalidate_takes_nameidata=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include +#include int main () { -struct file_operations _fop; -_fop.flock(NULL, 0, NULL); +struct dentry _dentry; +struct nameidata _nameidata; +(void)_dentry.d_op->d_revalidate(&_dentry, &_nameidata); ; return 0; } @@ -10763,12 +10973,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_fop_has_flock=yes + ac_cv_linux_func_d_revalidate_takes_nameidata=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_fop_has_flock=no + ac_cv_linux_func_d_revalidate_takes_nameidata=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -10776,21 +10986,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_fop_has_flock" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_fop_has_flock" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_func_d_revalidate_takes_nameidata" >&5 +echo "${ECHO_T}$ac_cv_linux_func_d_revalidate_takes_nameidata" >&6; } - { echo "$as_me:$LINENO: checking for sendfile in struct file_operations" >&5 -echo $ECHO_N "checking for sendfile in struct file_operations... $ECHO_C" >&6; } - if test "${ac_cv_linux_fs_struct_fop_has_sendfile+set}" = set; then + { echo "$as_me:$LINENO: checking whether file_operations.flush takes a fl_owner_t" >&5 +echo $ECHO_N "checking whether file_operations.flush takes a fl_owner_t... $ECHO_C" >&6; } + if test "${ac_cv_linux_func_f_flush_takes_fl_owner_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -10805,39 +11018,46 @@ _ACEOF void conftest(void) { -struct file_operations _fop; -_fop.sendfile(NULL, NULL, 0, 0, NULL); +struct inode _inode; +struct file _file; +fl_owner_t id; +(void)_inode.i_fop->flush(&_file, &id); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_fs_struct_fop_has_sendfile=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_func_f_flush_takes_fl_owner_t=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_fs_struct_fop_has_sendfile=no + ac_cv_linux_func_f_flush_takes_fl_owner_t=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { -struct file_operations _fop; -_fop.sendfile(NULL, NULL, 0, 0, NULL); +struct inode _inode; +struct file _file; +fl_owner_t id; +(void)_inode.i_fop->flush(&_file, &id); ; return 0; } @@ -10876,12 +11096,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_fs_struct_fop_has_sendfile=yes + ac_cv_linux_func_f_flush_takes_fl_owner_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_fs_struct_fop_has_sendfile=no + ac_cv_linux_func_f_flush_takes_fl_owner_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -10889,47 +11109,151 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_fop_has_sendfile" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_fop_has_sendfile" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_func_f_flush_takes_fl_owner_t" >&5 +echo "${ECHO_T}$ac_cv_linux_func_f_flush_takes_fl_owner_t" >&6; } - { echo "$as_me:$LINENO: checking for linux/syscall.h in kernel" >&5 -echo $ECHO_N "checking for linux/syscall.h in kernel... $ECHO_C" >&6; } - if test -f "${LINUX_KERNEL_PATH}/include/linux/syscall.h"; then - ac_linux_syscall=yes - { echo "$as_me:$LINENO: result: $ac_linux_syscall" >&5 -echo "${ECHO_T}$ac_linux_syscall" >&6; } - else - ac_linux_syscall=no - { echo "$as_me:$LINENO: result: $ac_linux_syscall" >&5 -echo "${ECHO_T}$ac_linux_syscall" >&6; } + { echo "$as_me:$LINENO: checking whether address_space_operations.writepage takes a writeback_control" >&5 +echo $ECHO_N "checking whether address_space_operations.writepage takes a writeback_control... $ECHO_C" >&6; } + if test "${ac_cv_linux_func_a_writepage_takes_writeback_control+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + + if test $AFS_SYSKVERS -ge 26 ; then + rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' fi + if mkdir conftest.dir && + cat >conftest.dir/Makefile <<_ACEOF && +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS +obj-m += conftest.o +_ACEOF + cat >conftest.dir/conftest.c <<\_ACEOF && +/* confdefs.h */ +_ACEOF + cat confdefs.h >>conftest.dir/conftest.c && + cat >>conftest.dir/conftest.c <<\_ACEOF && +/* end confdefs.h */ +#include +#include +#include +#include - { echo "$as_me:$LINENO: checking for linux/seq_file.h in kernel" >&5 -echo $ECHO_N "checking for linux/seq_file.h in kernel... $ECHO_C" >&6; } - if test -f "${LINUX_KERNEL_PATH}/include/linux/seq_file.h"; then - ac_linux_seq_file=yes - { echo "$as_me:$LINENO: result: $ac_linux_seq_file" >&5 -echo "${ECHO_T}$ac_linux_seq_file" >&6; } +void conftest(void) +{ +struct address_space_operations _aops; +struct page _page; +struct writeback_control _writeback_control; +(void)_aops.writepage(&_page, &_writeback_control); +} + +MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); +_ACEOF + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_func_a_writepage_takes_writeback_control=yes + else + sed '/^ *+/d' conftest.err >&5 + echo "$as_me: failed using Makefile:" >&5 + sed 's/^/| /' conftest.dir/Makefile >&5 + echo "$as_me: and program was:" >&5 + sed 's/^/| /' conftest.dir/conftest.c >&5 + ac_cv_linux_func_a_writepage_takes_writeback_control=no + fi; rm -fr conftest.err conftest.dir else - ac_linux_seq_file=no - { echo "$as_me:$LINENO: result: $ac_linux_seq_file" >&5 -echo "${ECHO_T}$ac_linux_seq_file" >&6; } + + ac_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include +#include +#include +int +main () +{ +struct address_space_operations _aops; +struct page _page; +struct writeback_control _writeback_control; +(void)_aops.writepage(&_page, &_writeback_control); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_linux_func_a_writepage_takes_writeback_control=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_linux_func_a_writepage_takes_writeback_control=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="$ac_save_CPPFLAGS" fi +fi + { echo "$as_me:$LINENO: result: $ac_cv_linux_func_a_writepage_takes_writeback_control" >&5 +echo "${ECHO_T}$ac_cv_linux_func_a_writepage_takes_writeback_control" >&6; } - { echo "$as_me:$LINENO: checking for 3rd argument in posix_lock_file found in new kernels" >&5 -echo $ECHO_N "checking for 3rd argument in posix_lock_file found in new kernels... $ECHO_C" >&6; } - if test "${ac_cv_linux_kernel_posix_lock_file_wait_arg+set}" = set; then + { echo "$as_me:$LINENO: checking for flock in struct file_operations" >&5 +echo $ECHO_N "checking for flock in struct file_operations... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_fop_has_flock+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -10944,37 +11268,42 @@ _ACEOF void conftest(void) { -posix_lock_file(0,0,0); +struct file_operations _fop; +_fop.flock(NULL, 0, NULL); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_kernel_posix_lock_file_wait_arg=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_fop_has_flock=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_kernel_posix_lock_file_wait_arg=no + ac_cv_linux_fs_struct_fop_has_flock=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { -posix_lock_file(0,0,0); +struct file_operations _fop; +_fop.flock(NULL, 0, NULL); ; return 0; } @@ -11013,12 +11342,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_kernel_posix_lock_file_wait_arg=yes + ac_cv_linux_fs_struct_fop_has_flock=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_kernel_posix_lock_file_wait_arg=no + ac_cv_linux_fs_struct_fop_has_flock=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -11026,30 +11355,918 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_posix_lock_file_wait_arg" >&5 -echo "${ECHO_T}$ac_cv_linux_kernel_posix_lock_file_wait_arg" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_fop_has_flock" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_fop_has_flock" >&6; } -{ echo "$as_me:$LINENO: checking for SELinux kernel" >&5 -echo $ECHO_N "checking for SELinux kernel... $ECHO_C" >&6; } -save_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="-I${LINUX_KERNEL_PATH}/include $CPPFLAGS" -if test "${ac_cv_linux_kernel_is_selinux+set}" = set; then + { echo "$as_me:$LINENO: checking for sendfile in struct file_operations" >&5 +echo $ECHO_N "checking for sendfile in struct file_operations... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_fop_has_sendfile+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else -cat >conftest.$ac_ext <<_ACEOF + + if test $AFS_SYSKVERS -ge 26 ; then + rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi + if mkdir conftest.dir && + cat >conftest.dir/Makefile <<_ACEOF && +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS + +obj-m += conftest.o +_ACEOF + cat >conftest.dir/conftest.c <<\_ACEOF && +/* confdefs.h */ +_ACEOF + cat confdefs.h >>conftest.dir/conftest.c && + cat >>conftest.dir/conftest.c <<\_ACEOF && +/* end confdefs.h */ +#include +#include + +void conftest(void) +{ +struct file_operations _fop; +_fop.sendfile(NULL, NULL, 0, 0, NULL); +} + +MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); +_ACEOF + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_fop_has_sendfile=yes + else + sed '/^ *+/d' conftest.err >&5 + echo "$as_me: failed using Makefile:" >&5 + sed 's/^/| /' conftest.dir/Makefile >&5 + echo "$as_me: and program was:" >&5 + sed 's/^/| /' conftest.dir/conftest.c >&5 + ac_cv_linux_fs_struct_fop_has_sendfile=no + fi; rm -fr conftest.err conftest.dir + else + + ac_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include +int +main () +{ +struct file_operations _fop; +_fop.sendfile(NULL, NULL, 0, 0, NULL); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_linux_fs_struct_fop_has_sendfile=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_linux_fs_struct_fop_has_sendfile=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="$ac_save_CPPFLAGS" + fi +fi + + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_fop_has_sendfile" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_fop_has_sendfile" >&6; } + + { echo "$as_me:$LINENO: checking for splice_write and splice_read in struct file_operations" >&5 +echo $ECHO_N "checking for splice_write and splice_read in struct file_operations... $ECHO_C" >&6; } + if test "${ac_cv_linux_fs_struct_fop_has_splice+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + + if test $AFS_SYSKVERS -ge 26 ; then + rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi + if mkdir conftest.dir && + cat >conftest.dir/Makefile <<_ACEOF && +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS + +obj-m += conftest.o +_ACEOF + cat >conftest.dir/conftest.c <<\_ACEOF && +/* confdefs.h */ +_ACEOF + cat confdefs.h >>conftest.dir/conftest.c && + cat >>conftest.dir/conftest.c <<\_ACEOF && +/* end confdefs.h */ +#include +#include + +void conftest(void) +{ +struct file_operations _fop; +_fop.splice_write(NULL, NULL, NULL, 0, 0); +_fop.splice_read(NULL, NULL, NULL, 0, 0); +} + +MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); +_ACEOF + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_fs_struct_fop_has_splice=yes + else + sed '/^ *+/d' conftest.err >&5 + echo "$as_me: failed using Makefile:" >&5 + sed 's/^/| /' conftest.dir/Makefile >&5 + echo "$as_me: and program was:" >&5 + sed 's/^/| /' conftest.dir/conftest.c >&5 + ac_cv_linux_fs_struct_fop_has_splice=no + fi; rm -fr conftest.err conftest.dir + else + + ac_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include +int +main () +{ +struct file_operations _fop; +_fop.splice_write(NULL, NULL, NULL, 0, 0); +_fop.splice_read(NULL, NULL, NULL, 0, 0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_linux_fs_struct_fop_has_splice=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_linux_fs_struct_fop_has_splice=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="$ac_save_CPPFLAGS" + fi +fi + + { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_fop_has_splice" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_fop_has_splice" >&6; } + + { echo "$as_me:$LINENO: checking for linux/syscall.h in kernel" >&5 +echo $ECHO_N "checking for linux/syscall.h in kernel... $ECHO_C" >&6; } + if test -f "${LINUX_KERNEL_PATH}/include/linux/syscall.h"; then + ac_linux_syscall=yes + { echo "$as_me:$LINENO: result: $ac_linux_syscall" >&5 +echo "${ECHO_T}$ac_linux_syscall" >&6; } + else + ac_linux_syscall=no + { echo "$as_me:$LINENO: result: $ac_linux_syscall" >&5 +echo "${ECHO_T}$ac_linux_syscall" >&6; } + fi + + + { echo "$as_me:$LINENO: checking for linux/seq_file.h in kernel" >&5 +echo $ECHO_N "checking for linux/seq_file.h in kernel... $ECHO_C" >&6; } + if test -f "${LINUX_KERNEL_PATH}/include/linux/seq_file.h"; then + ac_linux_seq_file=yes + { echo "$as_me:$LINENO: result: $ac_linux_seq_file" >&5 +echo "${ECHO_T}$ac_linux_seq_file" >&6; } + else + ac_linux_seq_file=no + { echo "$as_me:$LINENO: result: $ac_linux_seq_file" >&5 +echo "${ECHO_T}$ac_linux_seq_file" >&6; } + fi + + + { echo "$as_me:$LINENO: checking for 3rd argument in posix_lock_file found in new kernels" >&5 +echo $ECHO_N "checking for 3rd argument in posix_lock_file found in new kernels... $ECHO_C" >&6; } + if test "${ac_cv_linux_kernel_posix_lock_file_wait_arg+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + + if test $AFS_SYSKVERS -ge 26 ; then + rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi + if mkdir conftest.dir && + cat >conftest.dir/Makefile <<_ACEOF && +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS + +obj-m += conftest.o +_ACEOF + cat >conftest.dir/conftest.c <<\_ACEOF && +/* confdefs.h */ +_ACEOF + cat confdefs.h >>conftest.dir/conftest.c && + cat >>conftest.dir/conftest.c <<\_ACEOF && +/* end confdefs.h */ +#include +#include + +void conftest(void) +{ +posix_lock_file(0,0,0); +} + +MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); +_ACEOF + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_kernel_posix_lock_file_wait_arg=yes + else + sed '/^ *+/d' conftest.err >&5 + echo "$as_me: failed using Makefile:" >&5 + sed 's/^/| /' conftest.dir/Makefile >&5 + echo "$as_me: and program was:" >&5 + sed 's/^/| /' conftest.dir/conftest.c >&5 + ac_cv_linux_kernel_posix_lock_file_wait_arg=no + fi; rm -fr conftest.err conftest.dir + else + + ac_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include +int +main () +{ +posix_lock_file(0,0,0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_linux_kernel_posix_lock_file_wait_arg=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_linux_kernel_posix_lock_file_wait_arg=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="$ac_save_CPPFLAGS" + fi +fi + + { echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_posix_lock_file_wait_arg" >&5 +echo "${ECHO_T}$ac_cv_linux_kernel_posix_lock_file_wait_arg" >&6; } + +{ echo "$as_me:$LINENO: checking for SELinux kernel" >&5 +echo $ECHO_N "checking for SELinux kernel... $ECHO_C" >&6; } +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include $CPPFLAGS" +if test "${ac_cv_linux_kernel_is_selinux+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +#ifndef CONFIG_SECURITY_SELINUX + #error not SELINUX + #endif + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_linux_kernel_is_selinux=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_linux_kernel_is_selinux=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +{ echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_is_selinux" >&5 +echo "${ECHO_T}$ac_cv_linux_kernel_is_selinux" >&6; } +CPPFLAGS="$save_CPPFLAGS" + + { echo "$as_me:$LINENO: checking for 5th argument in sock_create found in some SELinux kernels" >&5 +echo $ECHO_N "checking for 5th argument in sock_create found in some SELinux kernels... $ECHO_C" >&6; } + if test "${ac_cv_linux_kernel_sock_create_v+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + + if test $AFS_SYSKVERS -ge 26 ; then + rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi + if mkdir conftest.dir && + cat >conftest.dir/Makefile <<_ACEOF && +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS + +obj-m += conftest.o +_ACEOF + cat >conftest.dir/conftest.c <<\_ACEOF && +/* confdefs.h */ +_ACEOF + cat confdefs.h >>conftest.dir/conftest.c && + cat >>conftest.dir/conftest.c <<\_ACEOF && +/* end confdefs.h */ +#include +#include + +void conftest(void) +{ +sock_create(0,0,0,0,0); +} + +MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); +_ACEOF + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_kernel_sock_create_v=yes + else + sed '/^ *+/d' conftest.err >&5 + echo "$as_me: failed using Makefile:" >&5 + sed 's/^/| /' conftest.dir/Makefile >&5 + echo "$as_me: and program was:" >&5 + sed 's/^/| /' conftest.dir/conftest.c >&5 + ac_cv_linux_kernel_sock_create_v=no + fi; rm -fr conftest.err conftest.dir + else + + ac_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include +int +main () +{ +sock_create(0,0,0,0,0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_linux_kernel_sock_create_v=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_linux_kernel_sock_create_v=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="$ac_save_CPPFLAGS" + fi +fi + + { echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_sock_create_v" >&5 +echo "${ECHO_T}$ac_cv_linux_kernel_sock_create_v" >&6; } + + { echo "$as_me:$LINENO: checking for page_follow_link_light vs page_follow_link" >&5 +echo $ECHO_N "checking for page_follow_link_light vs page_follow_link... $ECHO_C" >&6; } + if test "${ac_cv_linux_kernel_page_follow_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration" + + if test $AFS_SYSKVERS -ge 26 ; then + rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi + if mkdir conftest.dir && + cat >conftest.dir/Makefile <<_ACEOF && +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS + +obj-m += conftest.o +_ACEOF + cat >conftest.dir/conftest.c <<\_ACEOF && +/* confdefs.h */ +_ACEOF + cat confdefs.h >>conftest.dir/conftest.c && + cat >>conftest.dir/conftest.c <<\_ACEOF && +/* end confdefs.h */ +#include +#include + +void conftest(void) +{ +page_follow_link(0,0); +} + +MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); +_ACEOF + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_kernel_page_follow_link=yes + else + sed '/^ *+/d' conftest.err >&5 + echo "$as_me: failed using Makefile:" >&5 + sed 's/^/| /' conftest.dir/Makefile >&5 + echo "$as_me: and program was:" >&5 + sed 's/^/| /' conftest.dir/conftest.c >&5 + ac_cv_linux_kernel_page_follow_link=no + fi; rm -fr conftest.err conftest.dir + else + + ac_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include +int +main () +{ +page_follow_link(0,0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_linux_kernel_page_follow_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_linux_kernel_page_follow_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="$ac_save_CPPFLAGS" + fi + CPPFLAGS="$save_CPPFLAGS" +fi + + { echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_page_follow_link" >&5 +echo "${ECHO_T}$ac_cv_linux_kernel_page_follow_link" >&6; } + + { echo "$as_me:$LINENO: checking for linux/key-type.h existance" >&5 +echo $ECHO_N "checking for linux/key-type.h existance... $ECHO_C" >&6; } + if test "${ac_cv_linux_key_type_h_exists+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + + if test $AFS_SYSKVERS -ge 26 ; then + rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi + if mkdir conftest.dir && + cat >conftest.dir/Makefile <<_ACEOF && +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS + +obj-m += conftest.o +_ACEOF + cat >conftest.dir/conftest.c <<\_ACEOF && +/* confdefs.h */ +_ACEOF + cat confdefs.h >>conftest.dir/conftest.c && + cat >>conftest.dir/conftest.c <<\_ACEOF && +/* end confdefs.h */ +#include +#include + +void conftest(void) +{ +return; +} + +MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); +_ACEOF + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_key_type_h_exists=yes + else + sed '/^ *+/d' conftest.err >&5 + echo "$as_me: failed using Makefile:" >&5 + sed 's/^/| /' conftest.dir/Makefile >&5 + echo "$as_me: and program was:" >&5 + sed 's/^/| /' conftest.dir/conftest.c >&5 + ac_cv_linux_key_type_h_exists=no + fi; rm -fr conftest.err conftest.dir + else + + ac_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include +int +main () +{ +return; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_linux_key_type_h_exists=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_linux_key_type_h_exists=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="$ac_save_CPPFLAGS" + fi +fi + + { echo "$as_me:$LINENO: result: $ac_cv_linux_key_type_h_exists" >&5 +echo "${ECHO_T}$ac_cv_linux_key_type_h_exists" >&6; } + if test "x$ac_cv_linux_key_type_h_exists" = "xyes"; then + +cat >>confdefs.h <<\_ACEOF +#define KEY_TYPE_H_EXISTS 1 +_ACEOF + + fi + +RHCONFIG_SP="" +RHCONFIG_MP="" +if test "x$enable_redhat_buildsys" = "xyes"; then + { echo "$as_me:$LINENO: WARNING: Configured to build from a Red Hat SPEC file" >&5 +echo "$as_me: WARNING: Configured to build from a Red Hat SPEC file" >&2;} +else + { echo "$as_me:$LINENO: checking for redhat kernel configuration" >&5 +echo $ECHO_N "checking for redhat kernel configuration... $ECHO_C" >&6; } + if test -f "${LINUX_KERNEL_PATH}/include/linux/rhconfig.h"; then + ac_linux_rhconfig=yes + RHCONFIG_SP="-D__BOOT_KERNEL_UP=1 -D__BOOT_KERNEL_SMP=0" + RHCONFIG_MP="-D__BOOT_KERNEL_UP=0 -D__BOOT_KERNEL_SMP=1" + { echo "$as_me:$LINENO: result: $ac_linux_rhconfig" >&5 +echo "${ECHO_T}$ac_linux_rhconfig" >&6; } + if test ! -f "/boot/kernel.h"; then + { echo "$as_me:$LINENO: WARNING: /boot/kernel.h does not exist. build may fail" >&5 +echo "$as_me: WARNING: /boot/kernel.h does not exist. build may fail" >&2;} + fi + else + ac_linux_rhconfig=no + { echo "$as_me:$LINENO: result: $ac_linux_rhconfig" >&5 +echo "${ECHO_T}$ac_linux_rhconfig" >&6; } + fi +fi + + + + + { echo "$as_me:$LINENO: checking for recalc_sigpending arg type" >&5 +echo $ECHO_N "checking for recalc_sigpending arg type... $ECHO_C" >&6; } + if test "${ac_cv_linux_func_recalc_sigpending_takes_void+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + + if test $AFS_SYSKVERS -ge 26 ; then + rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi + if mkdir conftest.dir && + cat >conftest.dir/Makefile <<_ACEOF && +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS + +obj-m += conftest.o +_ACEOF + cat >conftest.dir/conftest.c <<\_ACEOF && +/* confdefs.h */ +_ACEOF + cat confdefs.h >>conftest.dir/conftest.c && + cat >>conftest.dir/conftest.c <<\_ACEOF && +/* end confdefs.h */ +#include +#include + +void conftest(void) +{ +recalc_sigpending(); +} + +MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); +_ACEOF + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_func_recalc_sigpending_takes_void=yes + else + sed '/^ *+/d' conftest.err >&5 + echo "$as_me: failed using Makefile:" >&5 + sed 's/^/| /' conftest.dir/Makefile >&5 + echo "$as_me: and program was:" >&5 + sed 's/^/| /' conftest.dir/conftest.c >&5 + ac_cv_linux_func_recalc_sigpending_takes_void=no + fi; rm -fr conftest.err conftest.dir + else + + ac_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -#ifndef CONFIG_SECURITY_SELINUX - #error not SELINUX - #endif +recalc_sigpending(); ; return 0; } @@ -11088,33 +12305,37 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_kernel_is_selinux=yes + ac_cv_linux_func_recalc_sigpending_takes_void=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_kernel_is_selinux=no + ac_cv_linux_func_recalc_sigpending_takes_void=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="$ac_save_CPPFLAGS" + fi fi -{ echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_is_selinux" >&5 -echo "${ECHO_T}$ac_cv_linux_kernel_is_selinux" >&6; } -CPPFLAGS="$save_CPPFLAGS" + { echo "$as_me:$LINENO: result: $ac_cv_linux_func_recalc_sigpending_takes_void" >&5 +echo "${ECHO_T}$ac_cv_linux_func_recalc_sigpending_takes_void" >&6; } - { echo "$as_me:$LINENO: checking for 5th argument in sock_create found in some SELinux kernels" >&5 -echo $ECHO_N "checking for 5th argument in sock_create found in some SELinux kernels... $ECHO_C" >&6; } - if test "${ac_cv_linux_kernel_sock_create_v+set}" = set; then + { echo "$as_me:$LINENO: checking for parent in struct task_struct" >&5 +echo $ECHO_N "checking for parent in struct task_struct... $ECHO_C" >&6; } + if test "${ac_cv_linux_sched_struct_task_struct_has_parent+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -11125,41 +12346,46 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { -sock_create(0,0,0,0,0); +struct task_struct _tsk; +printk("%d\n", _tsk.parent); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_kernel_sock_create_v=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_sched_struct_task_struct_has_parent=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_kernel_sock_create_v=no + ac_cv_linux_sched_struct_task_struct_has_parent=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -sock_create(0,0,0,0,0); +struct task_struct _tsk; +printk("%d\n", _tsk.parent); ; return 0; } @@ -11198,12 +12424,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_kernel_sock_create_v=yes + ac_cv_linux_sched_struct_task_struct_has_parent=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_kernel_sock_create_v=no + ac_cv_linux_sched_struct_task_struct_has_parent=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -11211,23 +12437,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_sock_create_v" >&5 -echo "${ECHO_T}$ac_cv_linux_kernel_sock_create_v" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_parent" >&5 +echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_parent" >&6; } - { echo "$as_me:$LINENO: checking for page_follow_link_light vs page_follow_link" >&5 -echo $ECHO_N "checking for page_follow_link_light vs page_follow_link... $ECHO_C" >&6; } - if test "${ac_cv_linux_kernel_page_follow_link+set}" = set; then + { echo "$as_me:$LINENO: checking for real_parent in struct task_struct" >&5 +echo $ECHO_N "checking for real_parent in struct task_struct... $ECHO_C" >&6; } + if test "${ac_cv_linux_sched_struct_task_struct_has_real_parent+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration" if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -11238,41 +12465,46 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { -page_follow_link(0,0); +struct task_struct _tsk; +printk("%d\n", _tsk.real_parent); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_kernel_page_follow_link=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_sched_struct_task_struct_has_real_parent=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_kernel_page_follow_link=no + ac_cv_linux_sched_struct_task_struct_has_real_parent=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -page_follow_link(0,0); +struct task_struct _tsk; +printk("%d\n", _tsk.real_parent); ; return 0; } @@ -11311,63 +12543,37 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_kernel_page_follow_link=yes + ac_cv_linux_sched_struct_task_struct_has_real_parent=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_kernel_page_follow_link=no + ac_cv_linux_sched_struct_task_struct_has_real_parent=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="$ac_save_CPPFLAGS" - fi - CPPFLAGS="$save_CPPFLAGS" -fi - - { echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_page_follow_link" >&5 -echo "${ECHO_T}$ac_cv_linux_kernel_page_follow_link" >&6; } - -RHCONFIG_SP="" -RHCONFIG_MP="" -if test "x$enable_redhat_buildsys" = "xyes"; then - { echo "$as_me:$LINENO: WARNING: Configured to build from a Red Hat SPEC file" >&5 -echo "$as_me: WARNING: Configured to build from a Red Hat SPEC file" >&2;} -else - { echo "$as_me:$LINENO: checking for redhat kernel configuration" >&5 -echo $ECHO_N "checking for redhat kernel configuration... $ECHO_C" >&6; } - if test -f "${LINUX_KERNEL_PATH}/include/linux/rhconfig.h"; then - ac_linux_rhconfig=yes - RHCONFIG_SP="-D__BOOT_KERNEL_UP=1 -D__BOOT_KERNEL_SMP=0" - RHCONFIG_MP="-D__BOOT_KERNEL_UP=0 -D__BOOT_KERNEL_SMP=1" - { echo "$as_me:$LINENO: result: $ac_linux_rhconfig" >&5 -echo "${ECHO_T}$ac_linux_rhconfig" >&6; } - if test ! -f "/boot/kernel.h"; then - { echo "$as_me:$LINENO: WARNING: /boot/kernel.h does not exist. build may fail" >&5 -echo "$as_me: WARNING: /boot/kernel.h does not exist. build may fail" >&2;} - fi - else - ac_linux_rhconfig=no - { echo "$as_me:$LINENO: result: $ac_linux_rhconfig" >&5 -echo "${ECHO_T}$ac_linux_rhconfig" >&6; } fi fi + { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_real_parent" >&5 +echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_real_parent" >&6; } - - - { echo "$as_me:$LINENO: checking for recalc_sigpending arg type" >&5 -echo $ECHO_N "checking for recalc_sigpending arg type... $ECHO_C" >&6; } - if test "${ac_cv_linux_func_recalc_sigpending_takes_void+set}" = set; then + { echo "$as_me:$LINENO: checking for sig in struct task_struct" >&5 +echo $ECHO_N "checking for sig in struct task_struct... $ECHO_C" >&6; } + if test "${ac_cv_linux_sched_struct_task_struct_has_sig+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -11382,37 +12588,42 @@ _ACEOF void conftest(void) { -recalc_sigpending(); +struct task_struct _tsk; +printk("%d\n", _tsk.sig); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_func_recalc_sigpending_takes_void=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_sched_struct_task_struct_has_sig=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_func_recalc_sigpending_takes_void=no + ac_cv_linux_sched_struct_task_struct_has_sig=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { -recalc_sigpending(); +struct task_struct _tsk; +printk("%d\n", _tsk.sig); ; return 0; } @@ -11451,12 +12662,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_func_recalc_sigpending_takes_void=yes + ac_cv_linux_sched_struct_task_struct_has_sig=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_func_recalc_sigpending_takes_void=no + ac_cv_linux_sched_struct_task_struct_has_sig=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -11464,21 +12675,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_func_recalc_sigpending_takes_void" >&5 -echo "${ECHO_T}$ac_cv_linux_func_recalc_sigpending_takes_void" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sig" >&5 +echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sig" >&6; } - { echo "$as_me:$LINENO: checking for parent in struct task_struct" >&5 -echo $ECHO_N "checking for parent in struct task_struct... $ECHO_C" >&6; } - if test "${ac_cv_linux_sched_struct_task_struct_has_parent+set}" = set; then + { echo "$as_me:$LINENO: checking for sighand in struct task_struct" >&5 +echo $ECHO_N "checking for sighand in struct task_struct... $ECHO_C" >&6; } + if test "${ac_cv_linux_sched_struct_task_struct_has_sighand+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -11494,38 +12708,41 @@ _ACEOF void conftest(void) { struct task_struct _tsk; -printk("%d\n", _tsk.parent); +printk("%d\n", _tsk.sighand); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_sched_struct_task_struct_has_parent=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_sched_struct_task_struct_has_sighand=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_sched_struct_task_struct_has_parent=no + ac_cv_linux_sched_struct_task_struct_has_sighand=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct task_struct _tsk; -printk("%d\n", _tsk.parent); +printk("%d\n", _tsk.sighand); ; return 0; } @@ -11564,12 +12781,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_sched_struct_task_struct_has_parent=yes + ac_cv_linux_sched_struct_task_struct_has_sighand=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_sched_struct_task_struct_has_parent=no + ac_cv_linux_sched_struct_task_struct_has_sighand=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -11577,21 +12794,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_parent" >&5 -echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_parent" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sighand" >&5 +echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sighand" >&6; } - { echo "$as_me:$LINENO: checking for real_parent in struct task_struct" >&5 -echo $ECHO_N "checking for real_parent in struct task_struct... $ECHO_C" >&6; } - if test "${ac_cv_linux_sched_struct_task_struct_has_real_parent+set}" = set; then + { echo "$as_me:$LINENO: checking for sigmask_lock in struct task_struct" >&5 +echo $ECHO_N "checking for sigmask_lock in struct task_struct... $ECHO_C" >&6; } + if test "${ac_cv_linux_sched_struct_task_struct_has_sigmask_lock+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -11607,38 +12827,41 @@ _ACEOF void conftest(void) { struct task_struct _tsk; -printk("%d\n", _tsk.real_parent); +printk("%d\n", _tsk.sigmask_lock); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_sched_struct_task_struct_has_real_parent=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_sched_struct_task_struct_has_real_parent=no + ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct task_struct _tsk; -printk("%d\n", _tsk.real_parent); +printk("%d\n", _tsk.sigmask_lock); ; return 0; } @@ -11677,12 +12900,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_sched_struct_task_struct_has_real_parent=yes + ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_sched_struct_task_struct_has_real_parent=no + ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -11690,21 +12913,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_real_parent" >&5 -echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_real_parent" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" >&5 +echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" >&6; } - { echo "$as_me:$LINENO: checking for sig in struct task_struct" >&5 -echo $ECHO_N "checking for sig in struct task_struct... $ECHO_C" >&6; } - if test "${ac_cv_linux_sched_struct_task_struct_has_sig+set}" = set; then + { echo "$as_me:$LINENO: checking for rlim in struct task_struct" >&5 +echo $ECHO_N "checking for rlim in struct task_struct... $ECHO_C" >&6; } + if test "${ac_cv_linux_sched_struct_task_struct_has_rlim+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -11720,38 +12946,41 @@ _ACEOF void conftest(void) { struct task_struct _tsk; -printk("%d\n", _tsk.sig); +printk("%d\n", _tsk.rlim); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_sched_struct_task_struct_has_sig=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_sched_struct_task_struct_has_rlim=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_sched_struct_task_struct_has_sig=no + ac_cv_linux_sched_struct_task_struct_has_rlim=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct task_struct _tsk; -printk("%d\n", _tsk.sig); +printk("%d\n", _tsk.rlim); ; return 0; } @@ -11790,12 +13019,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_sched_struct_task_struct_has_sig=yes + ac_cv_linux_sched_struct_task_struct_has_rlim=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_sched_struct_task_struct_has_sig=no + ac_cv_linux_sched_struct_task_struct_has_rlim=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -11803,21 +13032,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sig" >&5 -echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sig" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_rlim" >&5 +echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_rlim" >&6; } - { echo "$as_me:$LINENO: checking for sighand in struct task_struct" >&5 -echo $ECHO_N "checking for sighand in struct task_struct... $ECHO_C" >&6; } - if test "${ac_cv_linux_sched_struct_task_struct_has_sighand+set}" = set; then + { echo "$as_me:$LINENO: checking for signal->rlim in struct task_struct" >&5 +echo $ECHO_N "checking for signal->rlim in struct task_struct... $ECHO_C" >&6; } + if test "${ac_cv_linux_sched_struct_task_struct_has_signal_rlim+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -11833,38 +13065,41 @@ _ACEOF void conftest(void) { struct task_struct _tsk; -printk("%d\n", _tsk.sighand); +printk("%d\n", _tsk.signal->rlim); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_sched_struct_task_struct_has_sighand=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_sched_struct_task_struct_has_signal_rlim=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_sched_struct_task_struct_has_sighand=no + ac_cv_linux_sched_struct_task_struct_has_signal_rlim=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct task_struct _tsk; -printk("%d\n", _tsk.sighand); +printk("%d\n", _tsk.signal->rlim); ; return 0; } @@ -11903,12 +13138,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_sched_struct_task_struct_has_sighand=yes + ac_cv_linux_sched_struct_task_struct_has_signal_rlim=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_sched_struct_task_struct_has_sighand=no + ac_cv_linux_sched_struct_task_struct_has_signal_rlim=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -11916,21 +13151,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sighand" >&5 -echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sighand" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_signal_rlim" >&5 +echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_signal_rlim" >&6; } - { echo "$as_me:$LINENO: checking for sigmask_lock in struct task_struct" >&5 -echo $ECHO_N "checking for sigmask_lock in struct task_struct... $ECHO_C" >&6; } - if test "${ac_cv_linux_sched_struct_task_struct_has_sigmask_lock+set}" = set; then + { echo "$as_me:$LINENO: checking for exit_state in struct task_struct" >&5 +echo $ECHO_N "checking for exit_state in struct task_struct... $ECHO_C" >&6; } + if test "${ac_cv_linux_sched_struct_task_struct_has_exit_state+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -11946,38 +13184,41 @@ _ACEOF void conftest(void) { struct task_struct _tsk; -printk("%d\n", _tsk.sigmask_lock); +printk("%d\n", _tsk.exit_state); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_sched_struct_task_struct_has_exit_state=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=no + ac_cv_linux_sched_struct_task_struct_has_exit_state=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct task_struct _tsk; -printk("%d\n", _tsk.sigmask_lock); +printk("%d\n", _tsk.exit_state); ; return 0; } @@ -12016,12 +13257,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=yes + ac_cv_linux_sched_struct_task_struct_has_exit_state=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=no + ac_cv_linux_sched_struct_task_struct_has_exit_state=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -12029,21 +13270,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" >&5 -echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_exit_state" >&5 +echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_exit_state" >&6; } - { echo "$as_me:$LINENO: checking for rlim in struct task_struct" >&5 -echo $ECHO_N "checking for rlim in struct task_struct... $ECHO_C" >&6; } - if test "${ac_cv_linux_sched_struct_task_struct_has_rlim+set}" = set; then + { echo "$as_me:$LINENO: checking for tgid in struct task_struct" >&5 +echo $ECHO_N "checking for tgid in struct task_struct... $ECHO_C" >&6; } + if test "${ac_cv_linux_sched_struct_task_struct_has_tgid+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -12059,38 +13303,41 @@ _ACEOF void conftest(void) { struct task_struct _tsk; -printk("%d\n", _tsk.rlim); +printk("%d\n", _tsk.tgid); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_sched_struct_task_struct_has_rlim=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_sched_struct_task_struct_has_tgid=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_sched_struct_task_struct_has_rlim=no + ac_cv_linux_sched_struct_task_struct_has_tgid=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct task_struct _tsk; -printk("%d\n", _tsk.rlim); +printk("%d\n", _tsk.tgid); ; return 0; } @@ -12129,12 +13376,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_sched_struct_task_struct_has_rlim=yes + ac_cv_linux_sched_struct_task_struct_has_tgid=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_sched_struct_task_struct_has_rlim=no + ac_cv_linux_sched_struct_task_struct_has_tgid=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -12142,21 +13389,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_rlim" >&5 -echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_rlim" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_tgid" >&5 +echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_tgid" >&6; } - { echo "$as_me:$LINENO: checking for signal->rlim in struct task_struct" >&5 -echo $ECHO_N "checking for signal->rlim in struct task_struct... $ECHO_C" >&6; } - if test "${ac_cv_linux_sched_struct_task_struct_has_signal_rlim+set}" = set; then + { echo "$as_me:$LINENO: checking for todo in struct task_struct" >&5 +echo $ECHO_N "checking for todo in struct task_struct... $ECHO_C" >&6; } + if test "${ac_cv_linux_sched_struct_task_struct_has_todo+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -12172,38 +13422,41 @@ _ACEOF void conftest(void) { struct task_struct _tsk; -printk("%d\n", _tsk.signal->rlim); +printk("%d\n", _tsk.todo); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_sched_struct_task_struct_has_signal_rlim=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_sched_struct_task_struct_has_todo=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_sched_struct_task_struct_has_signal_rlim=no + ac_cv_linux_sched_struct_task_struct_has_todo=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct task_struct _tsk; -printk("%d\n", _tsk.signal->rlim); +printk("%d\n", _tsk.todo); ; return 0; } @@ -12242,12 +13495,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_sched_struct_task_struct_has_signal_rlim=yes + ac_cv_linux_sched_struct_task_struct_has_todo=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_sched_struct_task_struct_has_signal_rlim=no + ac_cv_linux_sched_struct_task_struct_has_todo=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -12255,21 +13508,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_signal_rlim" >&5 -echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_signal_rlim" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_todo" >&5 +echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_todo" >&6; } - { echo "$as_me:$LINENO: checking for exit_state in struct task_struct" >&5 -echo $ECHO_N "checking for exit_state in struct task_struct... $ECHO_C" >&6; } - if test "${ac_cv_linux_sched_struct_task_struct_has_exit_state+set}" = set; then + { echo "$as_me:$LINENO: checking for thread_info in struct task_struct" >&5 +echo $ECHO_N "checking for thread_info in struct task_struct... $ECHO_C" >&6; } + if test "${ac_cv_linux_sched_struct_task_struct_has_thread_info+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -12285,38 +13541,41 @@ _ACEOF void conftest(void) { struct task_struct _tsk; -printk("%d\n", _tsk.exit_state); +printk("%d\n", _tsk.thread_info); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_sched_struct_task_struct_has_exit_state=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_sched_struct_task_struct_has_thread_info=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_sched_struct_task_struct_has_exit_state=no + ac_cv_linux_sched_struct_task_struct_has_thread_info=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () { struct task_struct _tsk; -printk("%d\n", _tsk.exit_state); +printk("%d\n", _tsk.thread_info); ; return 0; } @@ -12355,12 +13614,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_sched_struct_task_struct_has_exit_state=yes + ac_cv_linux_sched_struct_task_struct_has_thread_info=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_sched_struct_task_struct_has_exit_state=no + ac_cv_linux_sched_struct_task_struct_has_thread_info=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -12368,21 +13627,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_exit_state" >&5 -echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_exit_state" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_thread_info" >&5 +echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_thread_info" >&6; } - { echo "$as_me:$LINENO: checking for tgid in struct task_struct" >&5 -echo $ECHO_N "checking for tgid in struct task_struct... $ECHO_C" >&6; } - if test "${ac_cv_linux_sched_struct_task_struct_has_tgid+set}" = set; then + { echo "$as_me:$LINENO: checking for exported tasklist_lock" >&5 +echo $ECHO_N "checking for exported tasklist_lock... $ECHO_C" >&6; } + if test "${ac_cv_linux_exports_tasklist_lock+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -12393,43 +13655,52 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include + #include void conftest(void) { -struct task_struct _tsk; -printk("%d\n", _tsk.tgid); + +extern rwlock_t tasklist_lock __attribute__((weak)); +read_lock(&tasklist_lock); + } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_sched_struct_task_struct_has_tgid=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_exports_tasklist_lock=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_sched_struct_task_struct_has_tgid=no + ac_cv_linux_exports_tasklist_lock=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include + #include int main () { -struct task_struct _tsk; -printk("%d\n", _tsk.tgid); + +extern rwlock_t tasklist_lock __attribute__((weak)); +read_lock(&tasklist_lock); + ; return 0; } @@ -12468,12 +13739,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_sched_struct_task_struct_has_tgid=yes + ac_cv_linux_exports_tasklist_lock=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_sched_struct_task_struct_has_tgid=no + ac_cv_linux_exports_tasklist_lock=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -12481,21 +13752,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_tgid" >&5 -echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_tgid" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_tasklist_lock" >&5 +echo "${ECHO_T}$ac_cv_linux_exports_tasklist_lock" >&6; } - { echo "$as_me:$LINENO: checking for todo in struct task_struct" >&5 -echo $ECHO_N "checking for todo in struct task_struct... $ECHO_C" >&6; } - if test "${ac_cv_linux_sched_struct_task_struct_has_todo+set}" = set; then + { echo "$as_me:$LINENO: checking for struct vfsmount * in get_sb_nodev()" >&5 +echo $ECHO_N "checking for struct vfsmount * in get_sb_nodev()... $ECHO_C" >&6; } + if test "${ac_cv_linux_get_sb_has_struct_vfsmount+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -12506,43 +13780,44 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { -struct task_struct _tsk; -printk("%d\n", _tsk.todo); +get_sb_nodev(0,0,0,0,0); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_sched_struct_task_struct_has_todo=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_get_sb_has_struct_vfsmount=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_sched_struct_task_struct_has_todo=no + ac_cv_linux_get_sb_has_struct_vfsmount=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -struct task_struct _tsk; -printk("%d\n", _tsk.todo); +get_sb_nodev(0,0,0,0,0); ; return 0; } @@ -12581,12 +13856,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_sched_struct_task_struct_has_todo=yes + ac_cv_linux_get_sb_has_struct_vfsmount=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_sched_struct_task_struct_has_todo=no + ac_cv_linux_get_sb_has_struct_vfsmount=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -12594,21 +13869,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_todo" >&5 -echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_todo" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_get_sb_has_struct_vfsmount" >&5 +echo "${ECHO_T}$ac_cv_linux_get_sb_has_struct_vfsmount" >&6; } - { echo "$as_me:$LINENO: checking for thread_info in struct task_struct" >&5 -echo $ECHO_N "checking for thread_info in struct task_struct... $ECHO_C" >&6; } - if test "${ac_cv_linux_sched_struct_task_struct_has_thread_info+set}" = set; then + { echo "$as_me:$LINENO: checking for dentry in statfs" >&5 +echo $ECHO_N "checking for dentry in statfs... $ECHO_C" >&6; } + if test "${ac_cv_linux_statfs_takes_dentry+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -12619,43 +13897,50 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include +#include void conftest(void) { -struct task_struct _tsk; -printk("%d\n", _tsk.thread_info); + +extern int vfs_statfs(struct dentry *, struct kstatfs *); + } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_sched_struct_task_struct_has_thread_info=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_statfs_takes_dentry=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_sched_struct_task_struct_has_thread_info=no + ac_cv_linux_statfs_takes_dentry=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include +#include int main () { -struct task_struct _tsk; -printk("%d\n", _tsk.thread_info); + +extern int vfs_statfs(struct dentry *, struct kstatfs *); + ; return 0; } @@ -12694,12 +13979,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_sched_struct_task_struct_has_thread_info=yes + ac_cv_linux_statfs_takes_dentry=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_sched_struct_task_struct_has_thread_info=no + ac_cv_linux_statfs_takes_dentry=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -12707,21 +13992,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_thread_info" >&5 -echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_thread_info" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_statfs_takes_dentry" >&5 +echo "${ECHO_T}$ac_cv_linux_statfs_takes_dentry" >&6; } - { echo "$as_me:$LINENO: checking for exported tasklist_lock" >&5 -echo $ECHO_N "checking for exported tasklist_lock... $ECHO_C" >&6; } - if test "${ac_cv_linux_exports_tasklist_lock+set}" = set; then + { echo "$as_me:$LINENO: checking for linux/freezer.h existance" >&5 +echo $ECHO_N "checking for linux/freezer.h existance... $ECHO_C" >&6; } + if test "${ac_cv_linux_freezer_h_exists+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -12732,34 +14020,31 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include - -#include +#include void conftest(void) { - -extern rwlock_t tasklist_lock __attribute__((weak)); -read_lock(&tasklist_lock); - +return; } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_exports_tasklist_lock=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_freezer_h_exists=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_exports_tasklist_lock=no + ac_cv_linux_freezer_h_exists=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -12767,14 +14052,12 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +#include +#include int main () { - -extern rwlock_t tasklist_lock __attribute__((weak)); -read_lock(&tasklist_lock); - +return; ; return 0; } @@ -12813,12 +14096,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_exports_tasklist_lock=yes + ac_cv_linux_freezer_h_exists=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_exports_tasklist_lock=no + ac_cv_linux_freezer_h_exists=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -12826,21 +14109,38 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_tasklist_lock" >&5 -echo "${ECHO_T}$ac_cv_linux_exports_tasklist_lock" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_freezer_h_exists" >&5 +echo "${ECHO_T}$ac_cv_linux_freezer_h_exists" >&6; } + if test "x$ac_cv_linux_freezer_h_exists" = "xyes"; then - { echo "$as_me:$LINENO: checking for struct vfsmount * in get_sb_nodev()" >&5 -echo $ECHO_N "checking for struct vfsmount * in get_sb_nodev()... $ECHO_C" >&6; } - if test "${ac_cv_linux_get_sb_has_struct_vfsmount+set}" = set; then +cat >>confdefs.h <<\_ACEOF +#define FREEZER_H_EXISTS 1 +_ACEOF + + fi + if test "x$ac_cv_linux_freezer_h_exists" = "xyes" ; then + +cat >>confdefs.h <<\_ACEOF +#define FREEZER_H_EXISTS 1 +_ACEOF + + fi + + { echo "$as_me:$LINENO: checking whether refrigerator takes PF_FREEZE" >&5 +echo $ECHO_N "checking whether refrigerator takes PF_FREEZE... $ECHO_C" >&6; } + if test "${ac_cv_linux_func_refrigerator_takes_pf_freeze+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -12851,41 +14151,50 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include +#ifdef FREEZER_H_EXISTS +#include +#endif void conftest(void) { -get_sb_nodev(0,0,0,0,0); +refrigerator(PF_FREEZE); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_get_sb_has_struct_vfsmount=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_func_refrigerator_takes_pf_freeze=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_get_sb_has_struct_vfsmount=no + ac_cv_linux_func_refrigerator_takes_pf_freeze=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include +#ifdef FREEZER_H_EXISTS +#include +#endif int main () { -get_sb_nodev(0,0,0,0,0); +refrigerator(PF_FREEZE); ; return 0; } @@ -12924,12 +14233,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_get_sb_has_struct_vfsmount=yes + ac_cv_linux_func_refrigerator_takes_pf_freeze=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_get_sb_has_struct_vfsmount=no + ac_cv_linux_func_refrigerator_takes_pf_freeze=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -12937,21 +14246,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_get_sb_has_struct_vfsmount" >&5 -echo "${ECHO_T}$ac_cv_linux_get_sb_has_struct_vfsmount" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_func_refrigerator_takes_pf_freeze" >&5 +echo "${ECHO_T}$ac_cv_linux_func_refrigerator_takes_pf_freeze" >&6; } - { echo "$as_me:$LINENO: checking for dentry in statfs" >&5 -echo $ECHO_N "checking for dentry in statfs... $ECHO_C" >&6; } - if test "${ac_cv_linux_statfs_takes_dentry+set}" = set; then + { echo "$as_me:$LINENO: checking for linux kernel keyring support" >&5 +echo $ECHO_N "checking for linux kernel keyring support... $ECHO_C" >&6; } + if test "${ac_cv_linux_keyring_support+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -12962,47 +14274,68 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include -#include +#include +#ifdef KEY_TYPE_H_EXISTS +#include +#endif +#include +#include void conftest(void) { - -extern int vfs_statfs(struct dentry *, struct kstatfs *); - +#ifdef CONFIG_KEYS +request_key(NULL, NULL, NULL); +#if !defined(KEY_POS_VIEW) || !defined(KEY_POS_SEARCH) || !defined(KEY_POS_SETATTR) +#error "Your linux/key.h does not contain KEY_POS_VIEW or KEY_POS_SEARCH or KEY_POS_SETATTR" +#endif +#else +#error rebuild your kernel with CONFIG_KEYS +#endif } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_statfs_takes_dentry=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_keyring_support=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_statfs_takes_dentry=no + ac_cv_linux_keyring_support=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -#include + +#include +#include +#ifdef KEY_TYPE_H_EXISTS +#include +#endif +#include +#include int main () { - -extern int vfs_statfs(struct dentry *, struct kstatfs *); - +#ifdef CONFIG_KEYS +request_key(NULL, NULL, NULL); +#if !defined(KEY_POS_VIEW) || !defined(KEY_POS_SEARCH) || !defined(KEY_POS_SETATTR) +#error "Your linux/key.h does not contain KEY_POS_VIEW or KEY_POS_SEARCH or KEY_POS_SETATTR" +#endif +#else +#error rebuild your kernel with CONFIG_KEYS +#endif ; return 0; } @@ -13041,12 +14374,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_statfs_takes_dentry=yes + ac_cv_linux_keyring_support=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_statfs_takes_dentry=no + ac_cv_linux_keyring_support=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -13054,21 +14387,31 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_statfs_takes_dentry" >&5 -echo "${ECHO_T}$ac_cv_linux_statfs_takes_dentry" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_keyring_support" >&5 +echo "${ECHO_T}$ac_cv_linux_keyring_support" >&6; } + if test "x$ac_cv_linux_keyring_support" = "xyes"; then - { echo "$as_me:$LINENO: checking for linux/freezer.h existance" >&5 -echo $ECHO_N "checking for linux/freezer.h existance... $ECHO_C" >&6; } - if test "${ac_cv_linux_freezer_h_exists+set}" = set; then +cat >>confdefs.h <<\_ACEOF +#define LINUX_KEYRING_SUPPORT 1 +_ACEOF + + fi + + { echo "$as_me:$LINENO: checking if key_alloc() takes a struct task *" >&5 +echo $ECHO_N "checking if key_alloc() takes a struct task *... $ECHO_C" >&6; } + if test "${ac_cv_key_alloc_needs_struct_task+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -13079,41 +14422,48 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include +#include + void conftest(void) { -return; +(void) key_alloc(NULL, NULL, 0, 0, NULL, 0, 0); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_freezer_h_exists=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_key_alloc_needs_struct_task=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_freezer_h_exists=no + ac_cv_key_alloc_needs_struct_task=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include +#include + int main () { -return; +(void) key_alloc(NULL, NULL, 0, 0, NULL, 0, 0); ; return 0; } @@ -13152,12 +14502,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_freezer_h_exists=yes + ac_cv_key_alloc_needs_struct_task=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_freezer_h_exists=no + ac_cv_key_alloc_needs_struct_task=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -13165,35 +14515,33 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_freezer_h_exists" >&5 -echo "${ECHO_T}$ac_cv_linux_freezer_h_exists" >&6; } - if test "x$ac_cv_linux_freezer_h_exists" = "xyes"; then + { echo "$as_me:$LINENO: result: $ac_cv_key_alloc_needs_struct_task" >&5 +echo "${ECHO_T}$ac_cv_key_alloc_needs_struct_task" >&6; } + if test "x$ac_cv_key_alloc_needs_struct_task" = "xyes"; then cat >>confdefs.h <<\_ACEOF -#define FREEZER_H_EXISTS 1 +#define KEY_ALLOC_NEEDS_STRUCT_TASK 1 _ACEOF fi - if test "x$ac_cv_linux_freezer_h_exists" = "xyes" ; then - -cat >>confdefs.h <<\_ACEOF -#define FREEZER_H_EXISTS 1 -_ACEOF - - fi - { echo "$as_me:$LINENO: checking whether refrigerator takes PF_FREEZE" >&5 -echo $ECHO_N "checking whether refrigerator takes PF_FREEZE... $ECHO_C" >&6; } - if test "${ac_cv_linux_func_refrigerator_takes_pf_freeze+set}" = set; then + { echo "$as_me:$LINENO: checking for linux do_sync_read()" >&5 +echo $ECHO_N "checking for linux do_sync_read()... $ECHO_C" >&6; } + if test "${ac_cv_linux_do_sync_read+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration" if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -13204,47 +14552,44 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include -#ifdef FREEZER_H_EXISTS -#include -#endif +#include void conftest(void) { -refrigerator(PF_FREEZE); +do_sync_read(NULL, NULL, 0, NULL); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_func_refrigerator_takes_pf_freeze=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_do_sync_read=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_func_refrigerator_takes_pf_freeze=no + ac_cv_linux_do_sync_read=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -#ifdef FREEZER_H_EXISTS -#include -#endif + +#include +#include int main () { -refrigerator(PF_FREEZE); +do_sync_read(NULL, NULL, 0, NULL); ; return 0; } @@ -13283,34 +14628,47 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_func_refrigerator_takes_pf_freeze=yes + ac_cv_linux_do_sync_read=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_func_refrigerator_takes_pf_freeze=no + ac_cv_linux_do_sync_read=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="$ac_save_CPPFLAGS" fi + CPPFLAGS="$save_CPPFLAGS" fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_func_refrigerator_takes_pf_freeze" >&5 -echo "${ECHO_T}$ac_cv_linux_func_refrigerator_takes_pf_freeze" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_do_sync_read" >&5 +echo "${ECHO_T}$ac_cv_linux_do_sync_read" >&6; } + if test "x$ac_cv_linux_do_sync_read" = "xyes"; then - { echo "$as_me:$LINENO: checking for linux kernel keyring support" >&5 -echo $ECHO_N "checking for linux kernel keyring support... $ECHO_C" >&6; } - if test "${ac_cv_linux_keyring_support+set}" = set; then +cat >>confdefs.h <<\_ACEOF +#define DO_SYNC_READ 1 +_ACEOF + + fi + + { echo "$as_me:$LINENO: checking for linux generic_file_aio_read()" >&5 +echo $ECHO_N "checking for linux generic_file_aio_read()... $ECHO_C" >&6; } + if test "${ac_cv_linux_generic_file_aio_read+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration" if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -13321,59 +14679,44 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include -#include -#include +#include void conftest(void) { -#ifdef CONFIG_KEYS -request_key(NULL, NULL, NULL); -#if !defined(KEY_POS_VIEW) || !defined(KEY_POS_SEARCH) || !defined(KEY_POS_SETATTR) -#error "Your linux/key.h does not contain KEY_POS_VIEW or KEY_POS_SEARCH or KEY_POS_SETATTR" -#endif -#else -#error rebuild your kernel with CONFIG_KEYS -#endif +generic_file_aio_read(NULL, NULL, 0, 0); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_keyring_support=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_generic_file_aio_read=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_keyring_support=no + ac_cv_linux_generic_file_aio_read=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -#include -#include + +#include +#include int main () { -#ifdef CONFIG_KEYS -request_key(NULL, NULL, NULL); -#if !defined(KEY_POS_VIEW) || !defined(KEY_POS_SEARCH) || !defined(KEY_POS_SETATTR) -#error "Your linux/key.h does not contain KEY_POS_VIEW or KEY_POS_SEARCH or KEY_POS_SETATTR" -#endif -#else -#error rebuild your kernel with CONFIG_KEYS -#endif +generic_file_aio_read(NULL, NULL, 0, 0); ; return 0; } @@ -13412,41 +14755,45 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_keyring_support=yes + ac_cv_linux_generic_file_aio_read=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_keyring_support=no + ac_cv_linux_generic_file_aio_read=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="$ac_save_CPPFLAGS" fi + CPPFLAGS="$save_CPPFLAGS" fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_keyring_support" >&5 -echo "${ECHO_T}$ac_cv_linux_keyring_support" >&6; } - if test "x$ac_cv_linux_keyring_support" = "xyes"; then + { echo "$as_me:$LINENO: result: $ac_cv_linux_generic_file_aio_read" >&5 +echo "${ECHO_T}$ac_cv_linux_generic_file_aio_read" >&6; } + if test "x$ac_cv_linux_generic_file_aio_read" = "xyes"; then cat >>confdefs.h <<\_ACEOF -#define LINUX_KEYRING_SUPPORT 1 +#define GENERIC_FILE_AIO_READ 1 _ACEOF fi - { echo "$as_me:$LINENO: checking if key_alloc() takes a struct task *" >&5 -echo $ECHO_N "checking if key_alloc() takes a struct task *... $ECHO_C" >&6; } - if test "${ac_cv_key_alloc_needs_struct_task+set}" = set; then + { echo "$as_me:$LINENO: checking whether INIT_WORK has a _data argument" >&5 +echo $ECHO_N "checking whether INIT_WORK has a _data argument... $ECHO_C" >&6; } + if test "${ac_cv_linux_init_work_has_data+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -13457,45 +14804,54 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include -#include - +#include +#include void conftest(void) { -(void) key_alloc(NULL, NULL, 0, 0, NULL, 0, 0); + +void f(struct work_struct *w) {} +struct work_struct *w; +int *i; +INIT_WORK(w,f,i); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_key_alloc_needs_struct_task=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_init_work_has_data=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_key_alloc_needs_struct_task=no + ac_cv_linux_init_work_has_data=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -#include +#include +#include +#include int main () { -(void) key_alloc(NULL, NULL, 0, 0, NULL, 0, 0); + +void f(struct work_struct *w) {} +struct work_struct *w; +int *i; +INIT_WORK(w,f,i); ; return 0; } @@ -13534,12 +14890,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_key_alloc_needs_struct_task=yes + ac_cv_linux_init_work_has_data=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_key_alloc_needs_struct_task=no + ac_cv_linux_init_work_has_data=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -13547,30 +14903,24 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_key_alloc_needs_struct_task" >&5 -echo "${ECHO_T}$ac_cv_key_alloc_needs_struct_task" >&6; } - if test "x$ac_cv_key_alloc_needs_struct_task" = "xyes"; then - -cat >>confdefs.h <<\_ACEOF -#define KEY_ALLOC_NEEDS_STRUCT_TASK 1 -_ACEOF - - fi + { echo "$as_me:$LINENO: result: $ac_cv_linux_init_work_has_data" >&5 +echo "${ECHO_T}$ac_cv_linux_init_work_has_data" >&6; } - { echo "$as_me:$LINENO: checking for linux do_sync_read()" >&5 -echo $ECHO_N "checking for linux do_sync_read()... $ECHO_C" >&6; } - if test "${ac_cv_linux_do_sync_read+set}" = set; then + { echo "$as_me:$LINENO: checking whether register_sysctl_table has an insert_at_head flag argument" >&5 +echo $ECHO_N "checking whether register_sysctl_table has an insert_at_head flag argument... $ECHO_C" >&6; } + if test "${ac_cv_linux_register_sysctl_table_noflag+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration" if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -13581,41 +14931,46 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { -do_sync_read(NULL, NULL, 0, NULL); +ctl_table *t; +register_sysctl_table (t); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_do_sync_read=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_register_sysctl_table_noflag=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_do_sync_read=no + ac_cv_linux_register_sysctl_table_noflag=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -do_sync_read(NULL, NULL, 0, NULL); +ctl_table *t; +register_sysctl_table (t); ; return 0; } @@ -13654,44 +15009,37 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_do_sync_read=yes + ac_cv_linux_register_sysctl_table_noflag=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_do_sync_read=no + ac_cv_linux_register_sysctl_table_noflag=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="$ac_save_CPPFLAGS" fi - CPPFLAGS="$save_CPPFLAGS" fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_do_sync_read" >&5 -echo "${ECHO_T}$ac_cv_linux_do_sync_read" >&6; } - if test "x$ac_cv_linux_do_sync_read" = "xyes"; then - -cat >>confdefs.h <<\_ACEOF -#define DO_SYNC_READ 1 -_ACEOF - - fi + { echo "$as_me:$LINENO: result: $ac_cv_linux_register_sysctl_table_noflag" >&5 +echo "${ECHO_T}$ac_cv_linux_register_sysctl_table_noflag" >&6; } - { echo "$as_me:$LINENO: checking for linux generic_file_aio_read()" >&5 -echo $ECHO_N "checking for linux generic_file_aio_read()... $ECHO_C" >&6; } - if test "${ac_cv_linux_generic_file_aio_read+set}" = set; then + { echo "$as_me:$LINENO: checking for sysctl table checking" >&5 +echo $ECHO_N "checking for sysctl table checking... $ECHO_C" >&6; } + if test "${ac_cv_linux_sysctl_table_checking+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration" if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -13702,41 +15050,46 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { -generic_file_aio_read(NULL, NULL, 0, 0); + extern int sysctl_check_table(int) __attribute__((weak)); +sysctl_check_table(NULL); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_generic_file_aio_read=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_sysctl_table_checking=no else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_generic_file_aio_read=no + ac_cv_linux_sysctl_table_checking=yes fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -generic_file_aio_read(NULL, NULL, 0, 0); + extern int sysctl_check_table(int) __attribute__((weak)); +sysctl_check_table(NULL); ; return 0; } @@ -13775,42 +15128,39 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_generic_file_aio_read=yes + ac_cv_linux_sysctl_table_checking=no else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_generic_file_aio_read=no + ac_cv_linux_sysctl_table_checking=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="$ac_save_CPPFLAGS" fi - CPPFLAGS="$save_CPPFLAGS" fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_generic_file_aio_read" >&5 -echo "${ECHO_T}$ac_cv_linux_generic_file_aio_read" >&6; } - if test "x$ac_cv_linux_generic_file_aio_read" = "xyes"; then - -cat >>confdefs.h <<\_ACEOF -#define GENERIC_FILE_AIO_READ 1 -_ACEOF - - fi +{ echo "$as_me:$LINENO: result: $ac_cv_linux_sysctl_table_checking" >&5 +echo "${ECHO_T}$ac_cv_linux_sysctl_table_checking" >&6; } - { echo "$as_me:$LINENO: checking whether INIT_WORK has a _data argument" >&5 -echo $ECHO_N "checking whether INIT_WORK has a _data argument... $ECHO_C" >&6; } - if test "${ac_cv_linux_init_work_has_data+set}" = set; then + { echo "$as_me:$LINENO: checking for linux iget()" >&5 +echo $ECHO_N "checking for linux iget()... $ECHO_C" >&6; } + if test "${ac_cv_linux_have_iget+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration" if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -13821,51 +15171,44 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include -#include +#include void conftest(void) { - -void f(struct work_struct *w) {} -struct work_struct *w; -int *i; -INIT_WORK(w,f,i); +iget(NULL, NULL); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_init_work_has_data=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_have_iget=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_init_work_has_data=no + ac_cv_linux_have_iget=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + #include -#include +#include int main () { - -void f(struct work_struct *w) {} -struct work_struct *w; -int *i; -INIT_WORK(w,f,i); +iget(NULL, NULL); ; return 0; } @@ -13904,34 +15247,38 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_init_work_has_data=yes + ac_cv_linux_have_iget=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_init_work_has_data=no + ac_cv_linux_have_iget=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="$ac_save_CPPFLAGS" fi + CPPFLAGS="$save_CPPFLAGS" fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_init_work_has_data" >&5 -echo "${ECHO_T}$ac_cv_linux_init_work_has_data" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_have_iget" >&5 +echo "${ECHO_T}$ac_cv_linux_have_iget" >&6; } - { echo "$as_me:$LINENO: checking whether register_sysctl_table has an insert_at_head flag argument" >&5 -echo $ECHO_N "checking whether register_sysctl_table has an insert_at_head flag argument... $ECHO_C" >&6; } - if test "${ac_cv_linux_register_sysctl_table_noflag+set}" = set; then + { echo "$as_me:$LINENO: checking for path in struct nameidata" >&5 +echo $ECHO_N "checking for path in struct nameidata... $ECHO_C" >&6; } + if test "${ac_cv_linux_struct_nameidata_has_path+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -13942,43 +15289,46 @@ _ACEOF cat >>conftest.dir/conftest.c <<\_ACEOF && /* end confdefs.h */ #include -#include +#include void conftest(void) { -ctl_table *t; -register_sysctl_table (t); +struct nameidata _nd; +printk("%x\n", _nd.path); } MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err - then ac_cv_linux_register_sysctl_table_noflag=yes + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 + then ac_cv_linux_struct_nameidata_has_path=yes else sed '/^ *+/d' conftest.err >&5 echo "$as_me: failed using Makefile:" >&5 sed 's/^/| /' conftest.dir/Makefile >&5 echo "$as_me: and program was:" >&5 sed 's/^/| /' conftest.dir/conftest.c >&5 - ac_cv_linux_register_sysctl_table_noflag=no + ac_cv_linux_struct_nameidata_has_path=no fi; rm -fr conftest.err conftest.dir else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +#include +#include int main () { -ctl_table *t; -register_sysctl_table (t); +struct nameidata _nd; +printk("%x\n", _nd.path); ; return 0; } @@ -14017,12 +15367,12 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_linux_register_sysctl_table_noflag=yes + ac_cv_linux_struct_nameidata_has_path=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_linux_register_sysctl_table_noflag=no + ac_cv_linux_struct_nameidata_has_path=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext @@ -14030,8 +15380,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi - { echo "$as_me:$LINENO: result: $ac_cv_linux_register_sysctl_table_noflag" >&5 -echo "${ECHO_T}$ac_cv_linux_register_sysctl_table_noflag" >&6; } + { echo "$as_me:$LINENO: result: $ac_cv_linux_struct_nameidata_has_path" >&5 +echo "${ECHO_T}$ac_cv_linux_struct_nameidata_has_path" >&6; } { echo "$as_me:$LINENO: checking for exported sys_chdir" >&5 echo $ECHO_N "checking for exported sys_chdir... $ECHO_C" >&6; } @@ -14042,9 +15392,12 @@ else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -14065,8 +15418,9 @@ printk("%p\n", address); MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 then ac_cv_linux_exports_sys_chdir=yes else sed '/^ *+/d' conftest.err >&5 @@ -14079,13 +15433,15 @@ _ACEOF else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include extern asmlinkage long sys_chdir(void) __attribute__((weak)); int main () @@ -14155,9 +15511,12 @@ else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -14178,8 +15537,9 @@ printk("%p\n", address); MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 then ac_cv_linux_exports_sys_close=yes else sed '/^ *+/d' conftest.err >&5 @@ -14192,13 +15552,15 @@ _ACEOF else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include extern asmlinkage long sys_close(void) __attribute__((weak)); int main () @@ -14268,9 +15630,12 @@ else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -14291,8 +15656,9 @@ printk("%p\n", address); MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 then ac_cv_linux_exports_sys_open=yes else sed '/^ *+/d' conftest.err >&5 @@ -14305,13 +15671,15 @@ _ACEOF else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include extern asmlinkage long sys_open(void) __attribute__((weak)); int main () @@ -14381,9 +15749,12 @@ else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -14404,8 +15775,9 @@ printk("%p\n", address); MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 then ac_cv_linux_exports_sys_wait4=yes else sed '/^ *+/d' conftest.err >&5 @@ -14418,13 +15790,15 @@ _ACEOF else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include extern asmlinkage long sys_wait4(void) __attribute__((weak)); int main () @@ -14505,9 +15879,12 @@ else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -14533,8 +15910,9 @@ lose; MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 then ac_cv_linux_config_smp=yes else sed '/^ *+/d' conftest.err >&5 @@ -14547,13 +15925,15 @@ _ACEOF else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #ifdef CONFIG_H_EXISTS #include #endif @@ -14646,9 +16026,12 @@ else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -14670,8 +16053,9 @@ void conftest(void) MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 then ac_cv_linux_exports_init_mm=yes else sed '/^ *+/d' conftest.err >&5 @@ -14684,13 +16068,15 @@ _ACEOF else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () @@ -14761,9 +16147,12 @@ else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -14785,8 +16174,9 @@ void conftest(void) MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 then ac_cv_linux_exports_kallsyms_address=yes else sed '/^ *+/d' conftest.err >&5 @@ -14799,13 +16189,15 @@ _ACEOF else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () @@ -14876,9 +16268,12 @@ else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -14900,8 +16295,9 @@ void conftest(void) MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 then ac_cv_linux_exports_kallsyms_symbol=yes else sed '/^ *+/d' conftest.err >&5 @@ -14914,13 +16310,15 @@ _ACEOF else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () @@ -14991,9 +16389,12 @@ else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -15015,8 +16416,9 @@ void conftest(void) MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 then ac_cv_linux_exports_sys_call_table=yes else sed '/^ *+/d' conftest.err >&5 @@ -15029,13 +16431,15 @@ _ACEOF else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () @@ -15106,9 +16510,12 @@ else if test $AFS_SYSKVERS -ge 26 ; then rm -fr conftest.dir + if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then + CFLAGS_PREFIX='EXTRA_' + fi if mkdir conftest.dir && cat >conftest.dir/Makefile <<_ACEOF && -CFLAGS += $CPPFLAGS +${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF @@ -15130,8 +16537,9 @@ void conftest(void) MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 - make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 && + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err && + ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1 then ac_cv_linux_exports_ia32_sys_call_table=yes else sed '/^ *+/d' conftest.err >&5 @@ -15144,13 +16552,15 @@ _ACEOF else ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + +#include #include int main () @@ -15313,6 +16723,13 @@ _ACEOF cat >>confdefs.h <<\_ACEOF #define CONFIG_H_EXISTS 1 +_ACEOF + + fi + if test "x$ac_cv_linux_key_type_h_exists" = "xyes" ; then + +cat >>confdefs.h <<\_ACEOF +#define KEY_TYPE_H_EXISTS 1 _ACEOF fi @@ -15638,6 +17055,13 @@ _ACEOF cat >>confdefs.h <<\_ACEOF #define STRUCT_FILE_OPERATIONS_HAS_SENDFILE 1 +_ACEOF + + fi + if test "x$ac_cv_linux_fs_struct_fop_has_splice" = "xyes" ; then + +cat >>confdefs.h <<\_ACEOF +#define STRUCT_FILE_OPERATIONS_HAS_SPLICE 1 _ACEOF fi @@ -15645,6 +17069,27 @@ _ACEOF cat >>confdefs.h <<\_ACEOF #define REGISTER_SYSCTL_TABLE_NOFLAG 1 +_ACEOF + + fi + if test "x$ac_cv_linux_sysctl_table_checking" = "xyes" ; then + +cat >>confdefs.h <<\_ACEOF +#define SYSCTL_TABLE_CHECKING 1 +_ACEOF + + fi + if test "x$ac_cv_linux_have_iget" = "xyes" ; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_IGET 1 +_ACEOF + + fi + if test "x$ac_cv_linux_struct_nameidata_has_path" = "xyes" ; then + +cat >>confdefs.h <<\_ACEOF +#define STRUCT_NAMEIDATA_HAS_PATH 1 _ACEOF fi @@ -15659,6 +17104,20 @@ _ACEOF cat >>confdefs.h <<\_ACEOF #define HAVE_KMEM_CACHE_T 1 +_ACEOF + + fi + if test "x$ac_cv_linux_kmem_cache_init" = "xyes" ; then + +cat >>confdefs.h <<\_ACEOF +#define KMEM_CACHE_INIT 1 +_ACEOF + + fi + if test "x$ac_cv_linux_have_current_kernel_time" = "xyes" ; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_CURRENT_KERNEL_TIME 1 _ACEOF fi @@ -18392,7 +19851,8 @@ done -for ac_header in sys/mount.h strings.h termios.h signal.h + +for ac_header in sys/mount.h strings.h termios.h signal.h poll.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then @@ -19143,7 +20603,8 @@ fi done -for ac_func in setvbuf + +for ac_func in setvbuf vsyslog do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 @@ -20528,6 +21989,8 @@ DBG=-g OPTMZ=-O LWP_DBG=-g LWP_OPTMZ=-O +NO_STRIP_BIN=-ns +NO_STRIP_KRB=-ns if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. @@ -21050,6 +22513,38 @@ case $AFS_SYSNAME in SHLIB_LINKER="${MT_CC} -shared" ;; + arm_linux24) + CCOBJ="${CC} -fPIC" + KERN_OPTMZ=-O2 + LEX="flex -l" + MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' + MT_LIBS="-lpthread" + PAM_OPTMZ=-O2 + PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" + SHLIB_LDFLAGS="-shared -Xlinker -x" + TXLIBS="-lncurses" + XCFLAGS="-D_LARGEFILE64_SOURCE" + YACC="bison -y" + SHLIB_LINKER="${MT_CC} -shared" + ;; + + arm_linux26) + CCOBJ="${CC} -fPIC" + KERN_OPTMZ=-O2 + LEX="flex -l" + MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' + MT_LIBS="-lpthread" + PAM_OPTMZ=-O2 + PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" + SHLIB_LDFLAGS="-shared -Xlinker -x" + TXLIBS="-lncurses" + XCFLAGS="-D_LARGEFILE64_SOURCE" + YACC="bison -y" + SHLIB_LINKER="${MT_CC} -shared" + ;; + hp_ux102) AS="/usr/ccs/bin/as" CC="/opt/ansic/bin/cc -Ae" @@ -21183,6 +22678,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE -G0" @@ -21209,6 +22705,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="/usr/lib64/libncurses.so" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE" @@ -21238,6 +22735,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" @@ -21259,6 +22757,7 @@ case $AFS_SYSNAME in LWP_OPTMZ=-O2 OPTMZ=-O2 PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE" @@ -21279,6 +22778,7 @@ case $AFS_SYSNAME in LWP_OPTMZ=-O2 OPTMZ=-O2 PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE" @@ -21299,6 +22799,7 @@ case $AFS_SYSNAME in LWP_OPTMZ=-O2 OPTMZ=-O2 PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE" @@ -21306,6 +22807,8 @@ case $AFS_SYSNAME in ;; *_obsd*) + KRB5CFLAGS="-I/usr/include/kerberosV" + KRB5LIBS="-lkrb5 -lcrypto" LEX="flex -l" MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-pthread" @@ -21324,6 +22827,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" @@ -21427,6 +22931,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" @@ -21505,6 +23010,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O -g -D_LARGEFILE64_SOURCE" @@ -21522,6 +23028,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O -g -D_LARGEFILE64_SOURCE" @@ -21539,6 +23046,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x -Xlinker -Bsymbolic" TXLIBS="-lncurses" XCFLAGS="-O -g -D_LARGEFILE64_SOURCE -D__s390x__" @@ -21614,6 +23122,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" @@ -21629,6 +23138,7 @@ case $AFS_SYSNAME in MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" + SHLIB_CFLAGS="-fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="-lncurses" XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" @@ -21790,7 +23300,7 @@ case $AFS_SYSNAME in SHLIB_CFLAGS="-KPIC" SHLIB_LDFLAGS="-G -Bsymbolic" TXLIBS="-lcurses" - XCFLAGS64='${XCFLAGS} -xarch=v9' + XCFLAGS64='${XCFLAGS} -m64' XCFLAGS="-dy -Bdynamic" XLIBELFA="-lelf" XLIBKVM="-lkvm" @@ -21896,7 +23406,7 @@ case $AFS_SYSNAME in SHLIB_CFLAGS="-KPIC" SHLIB_LDFLAGS="-G -Bsymbolic" TXLIBS="-lcurses" - XCFLAGS64='${XCFLAGS} -xarch=amd64' + XCFLAGS64='${XCFLAGS} -m64' XCFLAGS="-dy -Bdynamic" XLIBELFA="-lelf" XLIBKVM="-lkvm" @@ -22033,6 +23543,8 @@ fi if test "x$enable_debug" = "xno"; then DBG= + NO_STRIP_BIN= + NO_STRIP_KRB=-s fi if test "x$enable_optimize" = "xno"; then @@ -22047,6 +23559,27 @@ if test "x$enable_optimize_lwp" = "xno"; then LWP_OPTMZ= fi +if test "x$enable_strip_binaries" != "xno"; then + if test "x$enable_strip_binaries" = "xmaybe" -a "x$enable_debug" = "xyes"; then + NO_STRIP_BIN=-ns + NO_STRIP_KRB=-ns + else + NO_STRIP_BIN= + NO_STRIP_KRB=-s + fi +else + NO_STRIP_BIN=-ns + NO_STRIP_KRB=-ns +fi + +if test "x$enable_warnings" = "xyes"; then + if test "x$GCC" = "xyes"; then + XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition" + fi +fi + + + @@ -22211,7 +23744,11 @@ echo "${ECHO_T}Configuring support for Kerberos 5 utilities" >&6; } -for ac_func in add_to_error_table add_error_table krb5_princ_size krb5_principal_get_comp_string encode_krb5_enc_tkt_part encode_krb5_ticket + + + + +for ac_func in add_to_error_table add_error_table krb5_princ_size krb5_principal_get_comp_string encode_krb5_enc_tkt_part encode_krb5_ticket krb5_c_encrypt krb5_c_encrypt_length krb5_cc_register krb5_decode_ticket do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 @@ -23117,6 +24654,14 @@ fi LIBS="$save_LIBS" fi +if test "x$ac_cv_krb5_cc_register_exists" = "xyes"; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_KRB5_CC_REGISTER 1 +_ACEOF + +fi + @@ -23985,6 +25530,8 @@ LWP_OPTMZ!$LWP_OPTMZ$ac_delim MT_CC!$MT_CC$ac_delim MT_CFLAGS!$MT_CFLAGS$ac_delim MT_LIBS!$MT_LIBS$ac_delim +NO_STRIP_BIN!$NO_STRIP_BIN$ac_delim +NO_STRIP_KRB!$NO_STRIP_KRB$ac_delim OPTMZ!$OPTMZ$ac_delim PAM_CFLAGS!$PAM_CFLAGS$ac_delim PAM_LIBS!$PAM_LIBS$ac_delim @@ -24013,7 +25560,7 @@ LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 91; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 93; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 diff --git a/configure-libafs.in b/configure-libafs.in index 7c24361aa..a606297c9 100644 --- a/configure-libafs.in +++ b/configure-libafs.in @@ -1,7 +1,7 @@ AC_INIT(src/libafs/Makefile.common.in) -AM_INIT_AUTOMAKE(openafs-libafs,1.4.6) +AM_INIT_AUTOMAKE(openafs-libafs,1.4.7pre1) AC_CONFIG_HEADER(src/config/afsconfig.h) -MACOS_VERSION=1.4.6 +MACOS_VERSION=1.4.7fc1 AC_SUBST(MACOS_VERSION) diff --git a/configure.in b/configure.in index ba72e0a37..a9e7e35d9 100644 --- a/configure.in +++ b/configure.in @@ -1,11 +1,12 @@ AC_INIT(src/config/stds.h) -AM_INIT_AUTOMAKE(openafs,1.4.6) +AM_INIT_AUTOMAKE(openafs,1.4.7pre1) AC_CONFIG_HEADER(src/config/afsconfig.h) -MACOS_VERSION=1.4.6 +MACOS_VERSION=1.4.7fc1 AC_SUBST(MACOS_VERSION) AC_PROG_CC +AC_CHECK_PROGS(CPP,[/lib/cpp /usr/bin/cpp /usr/ccs/lib/cpp cpp],,[$PATH:/]) OPENAFS_CONFIGURE_COMMON if test -d 'doc/man-pages' ; then @@ -84,6 +85,7 @@ src/null/Makefile \ src/package/Makefile \ src/packaging/MacOS/OpenAFS.Info.plist \ src/packaging/MacOS/OpenAFS.info \ +src/packaging/MacOS/buildpkg.sh \ src/packaging/RedHat/openafs.spec \ src/pam/Makefile \ src/pinstall/Makefile \ @@ -113,7 +115,6 @@ src/sys/Makefile \ src/tbutc/Makefile \ src/tests/Makefile \ src/tests/run-tests \ -src/tests/OpenAFS/Dirpath.pm \ src/tsm41/Makefile \ src/tviced/Makefile \ src/tvolser/Makefile \ diff --git a/debian/changelog b/debian/changelog index e9d671bb0..c421005a8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,6 @@ -openafs (1.4.6.dfsg1-4) UNRELEASED; urgency=low +openafs (1.4.7~pre1.dfsg1-1) UNRELEASED; urgency=low + * New upstream release candidate. * Update doc-base control file sections for the new categorization. -- Russ Allbery Mon, 03 Mar 2008 18:49:17 -0800 diff --git a/debian/rules b/debian/rules index 2f0beace2..48a9fda66 100755 --- a/debian/rules +++ b/debian/rules @@ -46,9 +46,9 @@ DOC_PACKAGES = libpam-openafs-kaserver openafs-dbserver openafs-fileserver \ # These variable is used only by get-orig-source, which will normally only be # run by maintainers. -VERSION = 1.4.6 -DEBVERS = 1.4.6.dfsg1 -UPSTREAM = /afs/grand.central.org/software/openafs/$(VERSION) +VERSION = 1.4.7pre1 +DEBVERS = 1.4.7~pre1.dfsg1 +UPSTREAM = /afs/grand.central.org/software/openafs/candidate/$(VERSION) # Download the upstream source, merge in the doc tarball, and do the # repackaging that we have to do for DFSG reasons. This assumes AFS is diff --git a/doc/LICENSE b/doc/LICENSE index ce8ad3f00..e5a55fea9 100644 --- a/doc/LICENSE +++ b/doc/LICENSE @@ -692,3 +692,46 @@ Some portions of Rx are subject to the following license: */ src/afs/LINUX/osi_flush.s included code under IBM Public License with permission of the author, Paul MacKerras. + +=========================================================== + +Personal contributions made by Jason Edgecombe + that refer to the "BSD license" are subject +to the following license: + + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + * Neither the name of OpenAFS nor the names of its + contributors may be used to endorse or promote products + derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +==================================================== \ No newline at end of file diff --git a/doc/man-pages/README b/doc/man-pages/README index 7c8c5b209..022cc2fc5 100644 --- a/doc/man-pages/README +++ b/doc/man-pages/README @@ -78,7 +78,10 @@ Formatting Standards documents common options, and discusses the general use of the suite. Then, each operation code in the suite should have a separate man page, named after the command with the space between the command suite and the - operation code replaced with an underscore. + operation code replaced with an underscore. The NAME section of the + operation man page must also use an underscore (fs_listacl, not fs + listacl) for compatibility with some man programs. The SYNOPSIS section + should, of course, use a space, since that's what the user must type. All man pages must follow the standard layout for man page sections and formatting. The best general reference is the pod2man man page, @@ -199,17 +202,17 @@ Known Problems * The following installed commands have no man pages: copyauth + fs cscpolicy + fs memdump + fs monitor fs rxstatpeer fs rxstatproc fs setcbaddr - kseal - read_tape restorevol rmtsysd vldb_convert vos clone - vos convertROtoRW - vos copy + vos setfields vos shadow vsys @@ -221,9 +224,6 @@ Known Problems * Some of the documentation in fs getserverprefs needs minor updates to reflect what happens in the dynroot case. - * fs sysname documentation needs to include the possibility of setting - multiple sysnames and the resulting behavior. - * bos listkeys and the KeyFile man page assume that you're using the kaserver. diff --git a/doc/man-pages/man1/cmdebug.1 b/doc/man-pages/man1/cmdebug.1 index bf8744f67..b73a472c8 100644 --- a/doc/man-pages/man1/cmdebug.1 +++ b/doc/man-pages/man1/cmdebug.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH CMDEBUG 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH CMDEBUG 1 "OpenAFS" "14/Jan/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -191,37 +191,51 @@ cmdebug \- Reports the status of a host Cache Manager .SH "SYNOPSIS" \fBcmdebug\fR <<\ \fB\-servers\fR\ <\fImachine\fR >>> <<\ [\fB\-port\fR\ <\fIIP\ port\fR] >>> - [\fB\-long\fR] [\fB\-refcounts\fR] [\fB\-callbacks\fR] [\fB\-addrs\fR] [\fB\-cache\fR] + [\fB\-long\fR] [\fB\-refcounts\fR] [\fB\-callbacks\fR] [\fB\-ctime\fR] [\fB\-addrs\fR] + [\fB\-cache\fR] [\fB\-cellservdb\fR] [\fB\-help\fR] .PP -\fBcmdebug\fR <<\ \fB\-s\fR\ <\fImachine\fR >>> <<\ [\fB\-p\fR\ <\fIIP\ port\fR] >>> [\fB\-l\fR] [\fB\-r\fR] [\fB\-c\fR] - [\fB\-a\fR] [\fB\-h\fR] +\fBcmdebug\fR <<\ \fB\-s\fR\ <\fImachine\fR >>> <<\ [\fB\-p\fR\ <\fIIP\ port\fR] >>> [\fB\-l\fR] [\fB\-r\fR] [\fB\-cal\fR] + [\fB\-ct\fR] [\fB\-a\fR] [\fB\-cac\fR] \fB\-ce\fR] [\fB\-h\fR] .SH "DESCRIPTION" -The \fBcmdebug\fR command displays information about the Cache Manager and -client cache status on an AFS client machine. By default, it displays all -locked cache entries, but other information can be requested via various -options. +The \fBcmdebug\fR command displays information about the Cache Manager +and client cache status on a local or remote AFS client machine. By +default, it displays all locked cache entries, but other information +can be requested via various options. +.SH "CAUTIONS" +The \fB\-ctime\fR option is only available with OpenAFS version 1.4.7 and +later or version 1.5.28 or later. This option can be used to gather +information from any version of the Unix OpenAFS client, but can only +query Windows clients running OpenAFS version 1.5.28 or later. +.PP +The \fB\-cellservdb\fR option is only available with OpenAFS version 1.4.7 +and later or version 1.5.31 or later. This option can be used to gather +information from any version of the Unix OpenAFS client, but can only +query Windows clients running OpenAFS version 1.5.31 or later. .SH "OPTIONS" .Ip "\fB\-servers\fR <\fImachine\fR>" 4 Names the client machine for which to display Cache Manager status. Provide the machine's \s-1IP\s0 address in dotted decimal format, its fully -qualified host name (for example, \fBfs1.abc.com\fR), or the shortest +qualified host name (for example, \fBfs1.example.com\fR), or the shortest abbreviated form of its host name that distinguishes it from other machines. Successful use of an abbreviated form depends on the -availability of a name resolution service (such as the Domain Name Service -or a local host table) at the time the command is issued. +availability of a name resolution service (such as the Domain Name +Service or a local host table) at the time the command is issued. .Ip "\fB\-port\fR <\fI\s-1IP\s0 port\fR>" 4 Identifies the port on which to contact the Cache Manager. By default, the standard port 7001 is used, so this option is very rarely needed. .Ip "\fB\-long\fR" 4 Reports on all lock statuses and all cache entries, rather than only locked cache entries. Do not use this option with \fB\-refcounts\fR, -\fB\-callbacks\fR, \fB\-addrs\fR, or \fB\-cache\fR. +\fB\-callbacks\fR, \fB\-addrs\fR, \fB\-cache\fR, or \fB\-cellservdb\fR. .Ip "\fB\-refcounts\fR" 4 Reports only those cache entries with non-zero reference counts. Do not use this option with \fB\-long\fR, \fB\-callbacks\fR, \fB\-addrs\fR, or \fB\-cache\fR. .Ip "\fB\-callbacks\fR" 4 Reports only those cache entries with callbacks. Do not use this option with \fB\-long\fR, \fB\-refcounts\fR, \fB\-addrs\fR, or \fB\-cache\fR. +.Ip "\fB\-ctime\fR" 4 +Causes entry expiration times to be shown in human-readable format. Do +not use this option with \fB\-addrs\fR or \fB\-cache\fR. .Ip "\fB\-addrs\fR" 4 Rather than showing any cache entries, displays the interfaces the Cache Manager answers on, including their netmasks and MTUs. This is useful for @@ -233,6 +247,13 @@ Rather than showing any cache entries, displays the cache configuration for the client machine. The information displayed is essentially the information that can be configured via parameters to \fBafsd\fR. Do not use this option with \fB\-long\fR, \fB\-refcounts\fR, \fB\-callbacks\fR, or \fB\-addrs\fR. +.Ip "\fB\-cellservdb\fR" 4 +Lists all known volume location database records in a +CellServDB\-compatible format. This includes all records in memory, +including those from the CellServDB file, \s-1AFSDB\s0 \s-1DNS\s0 records, and the +\fBfs newcell\fR command. This option could be used to see if a client +has the latest copy of the CellServDB file. Do not use this option +with \fB\-long\fR, \fB\-refcounts\fR, \fB\-callbacks\fR, or \fB\-cache\fR. .Ip "\fB\-help\fR" 4 Prints the online help for this command. All other valid options are ignored. @@ -242,20 +263,22 @@ Displays all of the locked cache entries on \f(CWclient1\fR: .Vb 1 \& % cmdebug client1 .Ve -Displays the cache configuration for \f(CWclient1.abc.com\fR: +Displays the cache configuration for \f(CWclient1.example.com\fR: .PP .Vb 1 -\& % cmdebug client1.abc.com -cache +\& % cmdebug client1.example.com -cache .Ve -Displays all cache entries for \f(CWclient2.abc.com\fR: +Displays all cache entries for \f(CWclient2.example.com\fR: .PP .Vb 1 -\& % cmdebug client2.abc.com -long +\& % cmdebug client2.example.com -long .Ve .SH "PRIVILEGE REQUIRED" None .SH "SEE ALSO" -the \fIafsd(8)\fR manpage +the \fIafsd(8)\fR manpage, +the \fICellServDB(5)\fR manpage, +the \fIfs_newcell(1)\fR manpage .SH "COPYRIGHT" Copyright 2005 Russ Allbery .PP @@ -272,6 +295,8 @@ man page was written by Russ Allbery for OpenAFS. .IX Header "DESCRIPTION" +.IX Header "CAUTIONS" + .IX Header "OPTIONS" .IX Item "\fB\-servers\fR <\fImachine\fR>" @@ -284,10 +309,14 @@ man page was written by Russ Allbery for OpenAFS. .IX Item "\fB\-callbacks\fR" +.IX Item "\fB\-ctime\fR" + .IX Item "\fB\-addrs\fR" .IX Item "\fB\-cache\fR" +.IX Item "\fB\-cellservdb\fR" + .IX Item "\fB\-help\fR" .IX Header "EXAMPLES" diff --git a/doc/man-pages/man1/fs.1 b/doc/man-pages/man1/fs.1 index 213510a0d..9fc1f5590 100644 --- a/doc/man-pages/man1/fs.1 +++ b/doc/man-pages/man1/fs.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS 1 "OpenAFS" "17/Aug/2007" "AFS Command Reference" +.TH FS 1 "OpenAFS" "25/Dec/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -209,6 +209,7 @@ machines: \fBfs setcrypt\fR, \fBfs setserverprefs\fR, \fBfs sysname\fR, +\fBfs uuid\fR, and \fBfs wscell\fR. .Ip "\(bu" 4 Commands to administer access control lists (ACLs): diff --git a/doc/man-pages/man1/fs_apropos.1 b/doc/man-pages/man1/fs_apropos.1 index 1bc39ab7c..415f9a30f 100644 --- a/doc/man-pages/man1/fs_apropos.1 +++ b/doc/man-pages/man1/fs_apropos.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_APROPOS 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_APROPOS 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs apropos \- Displays each help entry containing a keyword string +fs_apropos \- Displays each help entry containing a keyword string .SH "SYNOPSIS" \fBfs apropos\fR <<\ \fB\-topic\fR\ <\fIhelp\ string\fR >>> [\fB\-help\fR] .PP @@ -237,7 +237,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_APROPOS 1" -.IX Name "fs apropos - Displays each help entry containing a keyword string" +.IX Name "fs_apropos - Displays each help entry containing a keyword string" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_checkservers.1 b/doc/man-pages/man1/fs_checkservers.1 index 2cf4d0430..b15d427ee 100644 --- a/doc/man-pages/man1/fs_checkservers.1 +++ b/doc/man-pages/man1/fs_checkservers.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_CHECKSERVERS 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_CHECKSERVERS 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs checkservers \- Displays the status of server machines +fs_checkservers \- Displays the status of server machines .SH "SYNOPSIS" \fBfs checkservers\fR <<\ [\fB\-cell\fR\ <\fIcell\ to\ check\fR] >>> [\fB\-all\fR] [\fB\-fast\fR] <<\ [\fB\-interval\fR\ <\fIseconds\ between\ probes\fR] >>> [\fB\-help\fR] @@ -365,7 +365,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_CHECKSERVERS 1" -.IX Name "fs checkservers - Displays the status of server machines" +.IX Name "fs_checkservers - Displays the status of server machines" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_checkvolumes.1 b/doc/man-pages/man1/fs_checkvolumes.1 index 652c49cda..5ae78baf5 100644 --- a/doc/man-pages/man1/fs_checkvolumes.1 +++ b/doc/man-pages/man1/fs_checkvolumes.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_CHECKVOLUMES 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_CHECKVOLUMES 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs checkvolumes \- Forces the Cache Manager to update volume information +fs_checkvolumes \- Forces the Cache Manager to update volume information .SH "SYNOPSIS" \fBfs checkvolumes\fR [\fB\-help\fR] .PP @@ -227,7 +227,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_CHECKVOLUMES 1" -.IX Name "fs checkvolumes - Forces the Cache Manager to update volume information" +.IX Name "fs_checkvolumes - Forces the Cache Manager to update volume information" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_cleanacl.1 b/doc/man-pages/man1/fs_cleanacl.1 index 3cf98528c..649b3bb26 100644 --- a/doc/man-pages/man1/fs_cleanacl.1 +++ b/doc/man-pages/man1/fs_cleanacl.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_CLEANACL 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_CLEANACL 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs cleanacl \- Remove obsolete entries from an ACL +fs_cleanacl \- Remove obsolete entries from an ACL .SH "SYNOPSIS" \fBfs cleanacl\fR <<\ [\fB\-path\fR\ <\fIdir/file\ path\fR+] >>> [\fB\-help\fR] .PP @@ -271,7 +271,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_CLEANACL 1" -.IX Name "fs cleanacl - Remove obsolete entries from an ACL" +.IX Name "fs_cleanacl - Remove obsolete entries from an ACL" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_copyacl.1 b/doc/man-pages/man1/fs_copyacl.1 index 0dac9d19c..bff0fe4f2 100644 --- a/doc/man-pages/man1/fs_copyacl.1 +++ b/doc/man-pages/man1/fs_copyacl.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_COPYACL 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_COPYACL 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs copyacl \- Copies an ACL from a directory to one or more other directories +fs_copyacl \- Copies an ACL from a directory to one or more other directories .SH "SYNOPSIS" \fBfs copyacl\fR <<\ \fB\-fromdir\fR\ <\fIsource\ directory\ (or\ DFS\ file)\fR >>> <<\ \fB\-todir\fR\ <\fIdestination\ directory\ (or\ DFS\ file)\fR+ >>> @@ -322,7 +322,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_COPYACL 1" -.IX Name "fs copyacl - Copies an ACL from a directory to one or more other directories" +.IX Name "fs_copyacl - Copies an ACL from a directory to one or more other directories" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_diskfree.1 b/doc/man-pages/man1/fs_diskfree.1 index 1ea8a6c4f..951333b51 100644 --- a/doc/man-pages/man1/fs_diskfree.1 +++ b/doc/man-pages/man1/fs_diskfree.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_DISKFREE 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_DISKFREE 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs diskfree \- Shows data about the partition housing a directory or file +fs_diskfree \- Shows data about the partition housing a directory or file .SH "SYNOPSIS" \fBfs diskfree\fR <<\ [\fB\-path\fR\ <\fIdir/file\ path\fR+] >>> [\fB\-help\fR] .PP @@ -270,7 +270,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_DISKFREE 1" -.IX Name "fs diskfree - Shows data about the partition housing a directory or file" +.IX Name "fs_diskfree - Shows data about the partition housing a directory or file" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_examine.1 b/doc/man-pages/man1/fs_examine.1 index 37d1e6d49..68e2ed395 100644 --- a/doc/man-pages/man1/fs_examine.1 +++ b/doc/man-pages/man1/fs_examine.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_EXAMINE 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_EXAMINE 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs examine \- Shows data about the volume containing a directory or file +fs_examine \- Shows data about the volume containing a directory or file .SH "SYNOPSIS" \fBfs examine\fR <<\ [\fB\-path\fR\ <\fIdir/file\ path\fR+] >>> [\fB\-help\fR] .PP @@ -280,7 +280,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_EXAMINE 1" -.IX Name "fs examine - Shows data about the volume containing a directory or file" +.IX Name "fs_examine - Shows data about the volume containing a directory or file" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_exportafs.1 b/doc/man-pages/man1/fs_exportafs.1 index c49cac6e2..7eed8cb24 100644 --- a/doc/man-pages/man1/fs_exportafs.1 +++ b/doc/man-pages/man1/fs_exportafs.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_EXPORTAFS 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_EXPORTAFS 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs exportafs \- Configures export of AFS to clients of other file systems +fs_exportafs \- Configures export of AFS to clients of other file systems .SH "SYNOPSIS" \fBfs exportafs\fR <<\ \fB\-type\fR\ <\fIexporter\ name\fR >>> <<\ [\fB\-start\fR\ <\fIstart/stop\ translator\ (on\ |\ off)\fR] >>> @@ -358,7 +358,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_EXPORTAFS 1" -.IX Name "fs exportafs - Configures export of AFS to clients of other file systems" +.IX Name "fs_exportafs - Configures export of AFS to clients of other file systems" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_flush.1 b/doc/man-pages/man1/fs_flush.1 index 252912f51..8b6e6bca2 100644 --- a/doc/man-pages/man1/fs_flush.1 +++ b/doc/man-pages/man1/fs_flush.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_FLUSH 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_FLUSH 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs flush \- Forces the Cache Manager to discard a cached file or directory +fs_flush \- Forces the Cache Manager to discard a cached file or directory .SH "SYNOPSIS" \fBfs flush\fR <<\ [\fB\-path\fR\ <\fIdir/file\ path\fR+] >>> [\fB\-help\fR] .PP @@ -243,7 +243,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_FLUSH 1" -.IX Name "fs flush - Forces the Cache Manager to discard a cached file or directory" +.IX Name "fs_flush - Forces the Cache Manager to discard a cached file or directory" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_flushall.1 b/doc/man-pages/man1/fs_flushall.1 index 252d1aba8..ac929e754 100644 --- a/doc/man-pages/man1/fs_flushall.1 +++ b/doc/man-pages/man1/fs_flushall.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_FLUSHALL 1 "OpenAFS" "17/Aug/2007" "AFS Command Reference" +.TH FS_FLUSHALL 1 "OpenAFS" "25/Dec/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs flushall \- Force the AFS Cache Manager to discard all data +fs_flushall \- Force the AFS Cache Manager to discard all data .SH "SYNOPSIS" \fBfs flushall\fR [\fB\-help\fR] .PP @@ -219,12 +219,13 @@ the \fIfs_flushvolume(1)\fR manpage .SH "COPYRIGHT" Copyright 2007 Jason Edgecombe .PP -This documentation is covered by the IBM Public License Version 1.0. This -man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. .rn }` '' .IX Title "FS_FLUSHALL 1" -.IX Name "fs flushall - Force the AFS Cache Manager to discard all data" +.IX Name "fs_flushall - Force the AFS Cache Manager to discard all data" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_flushmount.1 b/doc/man-pages/man1/fs_flushmount.1 index 0cedb5b3c..94023b41e 100644 --- a/doc/man-pages/man1/fs_flushmount.1 +++ b/doc/man-pages/man1/fs_flushmount.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_FLUSHMOUNT 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_FLUSHMOUNT 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs flushmount \- Forces the Cache Manager to discard a mount point +fs_flushmount \- Forces the Cache Manager to discard a mount point .SH "SYNOPSIS" \fBfs flushmount\fR <<\ [\fB\-path\fR\ <\fIdir/file\ path\fR+] >>> [\fB\-help\fR] .PP @@ -243,7 +243,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_FLUSHMOUNT 1" -.IX Name "fs flushmount - Forces the Cache Manager to discard a mount point" +.IX Name "fs_flushmount - Forces the Cache Manager to discard a mount point" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_flushvolume.1 b/doc/man-pages/man1/fs_flushvolume.1 index c5dda5b3d..cd1a466d2 100644 --- a/doc/man-pages/man1/fs_flushvolume.1 +++ b/doc/man-pages/man1/fs_flushvolume.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_FLUSHVOLUME 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_FLUSHVOLUME 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs flushvolume \- Forces the Cache Manager to discard cached data from a volume +fs_flushvolume \- Forces the Cache Manager to discard cached data from a volume .SH "SYNOPSIS" \fBfs flushvolume\fR <<\ [\fB\-path\fR\ <\fIdir/file\ path\fR+] >>> [\fB\-help\fR] .PP @@ -242,7 +242,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_FLUSHVOLUME 1" -.IX Name "fs flushvolume - Forces the Cache Manager to discard cached data from a volume" +.IX Name "fs_flushvolume - Forces the Cache Manager to discard cached data from a volume" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_getcacheparms.1 b/doc/man-pages/man1/fs_getcacheparms.1 index 87990ae7f..e8aaebff0 100644 --- a/doc/man-pages/man1/fs_getcacheparms.1 +++ b/doc/man-pages/man1/fs_getcacheparms.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_GETCACHEPARMS 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_GETCACHEPARMS 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs getcacheparms \- Displays the current size and usage of the cache +fs_getcacheparms \- Displays the current size and usage of the cache .SH "SYNOPSIS" \fBfs getcacheparms\fR [\fB\-help\fR] .PP @@ -234,7 +234,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_GETCACHEPARMS 1" -.IX Name "fs getcacheparms - Displays the current size and usage of the cache" +.IX Name "fs_getcacheparms - Displays the current size and usage of the cache" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_getcalleraccess.1 b/doc/man-pages/man1/fs_getcalleraccess.1 index 5912f277a..7f149306d 100644 --- a/doc/man-pages/man1/fs_getcalleraccess.1 +++ b/doc/man-pages/man1/fs_getcalleraccess.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_GETCALLERACCESS 1 "OpenAFS" "17/Aug/2007" "AFS Command Reference" +.TH FS_GETCALLERACCESS 1 "OpenAFS" "25/Dec/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs getcalleraccess \- Show the current user's access to a file or directory +fs_getcalleraccess \- Show the current user's access to a file or directory .SH "SYNOPSIS" \fBfs getcalleraccess\fR <<\ [\fB\-path\fR\ <\fIpath\fR+] >>> [\fB\-help\fR] .PP @@ -231,12 +231,13 @@ the \fIfs_setacl(1)\fR manpage .SH "COPYRIGHT" Copyright 2007 Jason Edgecombe .PP -This documentation is covered by the IBM Public License Version 1.0. This -man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. .rn }` '' .IX Title "FS_GETCALLERACCESS 1" -.IX Name "fs getcalleraccess - Show the current user's access to a file or directory" +.IX Name "fs_getcalleraccess - Show the current user's access to a file or directory" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_getcellstatus.1 b/doc/man-pages/man1/fs_getcellstatus.1 index 37f669b68..23c1e38af 100644 --- a/doc/man-pages/man1/fs_getcellstatus.1 +++ b/doc/man-pages/man1/fs_getcellstatus.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_GETCELLSTATUS 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_GETCELLSTATUS 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs getcellstatus \- Reports whether setuid programs are honored in a cell +fs_getcellstatus \- Reports whether setuid programs are honored in a cell .SH "SYNOPSIS" \fBfs getcellstatus\fR <<\ \fB\-cell\fR\ <\fIcell\ name\fR+ >>> [\fB\-help\fR] .PP @@ -235,7 +235,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_GETCELLSTATUS 1" -.IX Name "fs getcellstatus - Reports whether setuid programs are honored in a cell" +.IX Name "fs_getcellstatus - Reports whether setuid programs are honored in a cell" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_getclientaddrs.1 b/doc/man-pages/man1/fs_getclientaddrs.1 index 561d08ca3..4e435e4a6 100644 --- a/doc/man-pages/man1/fs_getclientaddrs.1 +++ b/doc/man-pages/man1/fs_getclientaddrs.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_GETCLIENTADDRS 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_GETCLIENTADDRS 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs getclientaddrs \- Displays the client interfaces to register +fs_getclientaddrs \- Displays the client interfaces to register .SH "SYNOPSIS" \fBfs getclientaddrs\fR [\fB\-help\fR] .PP @@ -271,7 +271,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_GETCLIENTADDRS 1" -.IX Name "fs getclientaddrs - Displays the client interfaces to register" +.IX Name "fs_getclientaddrs - Displays the client interfaces to register" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_getcrypt.1 b/doc/man-pages/man1/fs_getcrypt.1 index b1ea6b5ca..558f29f4d 100644 --- a/doc/man-pages/man1/fs_getcrypt.1 +++ b/doc/man-pages/man1/fs_getcrypt.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_GETCRYPT 1 "OpenAFS" "17/Aug/2007" "AFS Command Reference" +.TH FS_GETCRYPT 1 "OpenAFS" "25/Dec/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs getcrypt \- Displays the state of encryption for AFS file transfers +fs_getcrypt \- Displays the state of encryption for AFS file transfers .SH "SYNOPSIS" \fBfs getcrypt\fR [\fB\-help\fR] .SH "DESCRIPTION" @@ -237,12 +237,13 @@ the section on \fI/surfvi.com/~ota/fcrypt-paper.txt\fR in the \fIhttp:\fR manpag .SH "COPYRIGHT" Copyright 2007 Jason Edgecombe .PP -This documentation is covered by the IBM Public License Version 1.0. This -man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. .rn }` '' .IX Title "FS_GETCRYPT 1" -.IX Name "fs getcrypt - Displays the state of encryption for AFS file transfers" +.IX Name "fs_getcrypt - Displays the state of encryption for AFS file transfers" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_getserverprefs.1 b/doc/man-pages/man1/fs_getserverprefs.1 index a4383a0e7..42a1298e4 100644 --- a/doc/man-pages/man1/fs_getserverprefs.1 +++ b/doc/man-pages/man1/fs_getserverprefs.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_GETSERVERPREFS 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_GETSERVERPREFS 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs getserverprefs \- Displays preference ranks for file servers or VL servers +fs_getserverprefs \- Displays preference ranks for file servers or VL servers .SH "SYNOPSIS" \fBfs getserverprefs\fR <<\ [\fB\-file\fR\ <\fIoutput\ to\ named\ file\fR] >>> [\fB\-numeric\fR] [\fB\-vlservers\fR] [\fB\-help\fR] @@ -336,7 +336,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_GETSERVERPREFS 1" -.IX Name "fs getserverprefs - Displays preference ranks for file servers or VL servers" +.IX Name "fs_getserverprefs - Displays preference ranks for file servers or VL servers" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_help.1 b/doc/man-pages/man1/fs_help.1 index 1f41e5d78..0b04f3e95 100644 --- a/doc/man-pages/man1/fs_help.1 +++ b/doc/man-pages/man1/fs_help.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_HELP 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_HELP 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs help \- Displays help for fs commands +fs_help \- Displays help for fs commands .SH "SYNOPSIS" \fBfs help\fR <<\ [\fB\-topic\fR\ <\fIhelp\ string\fR+] >>> [\fB\-help\fR] .PP @@ -247,7 +247,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_HELP 1" -.IX Name "fs help - Displays help for fs commands" +.IX Name "fs_help - Displays help for fs commands" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_listacl.1 b/doc/man-pages/man1/fs_listacl.1 index c77fa720a..1fc320b5e 100644 --- a/doc/man-pages/man1/fs_listacl.1 +++ b/doc/man-pages/man1/fs_listacl.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_LISTACL 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_LISTACL 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs listacl \- Displays ACLs +fs_listacl \- Displays ACLs .SH "SYNOPSIS" \fBfs listacl\fR <<\ [\fB\-path\fR\ <\fIdir/file\ path\fR+] >>> [\fB\-id\fR] [\fB\-if\fR] [\fB\-help\fR] .PP @@ -335,7 +335,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_LISTACL 1" -.IX Name "fs listacl - Displays ACLs" +.IX Name "fs_listacl - Displays ACLs" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_listaliases.1 b/doc/man-pages/man1/fs_listaliases.1 index 7aa461083..ab15bafd0 100644 --- a/doc/man-pages/man1/fs_listaliases.1 +++ b/doc/man-pages/man1/fs_listaliases.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_LISTALIASES 1 "OpenAFS" "17/Aug/2007" "AFS Command Reference" +.TH FS_LISTALIASES 1 "OpenAFS" "25/Dec/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs listaliases \- Displays the current list of aliases for AFS cells +fs_listaliases \- Displays the current list of aliases for AFS cells .SH "SYNOPSIS" \fBfs listaliases\fR [\fB\-help\fR] .SH "DESCRIPTION" @@ -222,12 +222,13 @@ the \fIfs_newalias(1)\fR manpage .SH "COPYRIGHT" Copyright 2007 Jason Edgecombe .PP -This documentation is covered by the IBM Public License Version 1.0. This -man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. .rn }` '' .IX Title "FS_LISTALIASES 1" -.IX Name "fs listaliases - Displays the current list of aliases for AFS cells" +.IX Name "fs_listaliases - Displays the current list of aliases for AFS cells" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_listcells.1 b/doc/man-pages/man1/fs_listcells.1 index e6d2c7679..d54996127 100644 --- a/doc/man-pages/man1/fs_listcells.1 +++ b/doc/man-pages/man1/fs_listcells.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_LISTCELLS 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_LISTCELLS 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs listcells \- Displays the database server machines known to the Cache Manager +fs_listcells \- Displays the database server machines known to the Cache Manager .SH "SYNOPSIS" \fBfs listcells\fR [\fB\-numeric\fR] [\fB\-help\fR] .PP @@ -248,7 +248,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_LISTCELLS 1" -.IX Name "fs listcells - Displays the database server machines known to the Cache Manager" +.IX Name "fs_listcells - Displays the database server machines known to the Cache Manager" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_listquota.1 b/doc/man-pages/man1/fs_listquota.1 index a8ed6d601..328ee179b 100644 --- a/doc/man-pages/man1/fs_listquota.1 +++ b/doc/man-pages/man1/fs_listquota.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_LISTQUOTA 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_LISTQUOTA 1 "OpenAFS" "19/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs listquota \- Displays quota information for a volume +fs_listquota \- Displays quota information for a volume .SH "SYNOPSIS" \fBfs listquota\fR <<\ [\fB\-path\fR\ <\fIdir/file\ path\fR+] >>> [\fB\-help\fR] .PP @@ -205,6 +205,15 @@ To display more information about the host partition, use the \fBfs examine\fR command. .PP To set volume quota, use the \fBfs setquota\fR or \fBfs setvol\fR command. +.SH "CAUTIONS" +Currently, the maximum size of a volume is 2 terabytes (2^31 bytes) +and the maximum size of a /vicepX partition on a fileserver is also 2 +terabytes. The fileserver will not report an error when it has access +to a partition larger than 2 terabytes, but it will probably fail if +the administrator attempts to use more than 2 terabytes of space. In +addition, there are reports of erroneous disk usage numbers when +\fBvos partinfo\fR or other OpenAFS disk reporting tools are used with +partitions larger than 2 terabytes. .SH "OPTIONS" .Ip "\fB\-path\fR <\fIdir/file path\fR>+" 4 Names a file or directory that resides in the volume about which to @@ -261,7 +270,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_LISTQUOTA 1" -.IX Name "fs listquota - Displays quota information for a volume" +.IX Name "fs_listquota - Displays quota information for a volume" .IX Header "NAME" @@ -269,6 +278,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Header "DESCRIPTION" +.IX Header "CAUTIONS" + .IX Header "OPTIONS" .IX Item "\fB\-path\fR <\fIdir/file path\fR>+" diff --git a/doc/man-pages/man1/fs_lsmount.1 b/doc/man-pages/man1/fs_lsmount.1 index e4045c3da..59b3e8ef5 100644 --- a/doc/man-pages/man1/fs_lsmount.1 +++ b/doc/man-pages/man1/fs_lsmount.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_LSMOUNT 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_LSMOUNT 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs lsmount \- Reports the volume for which a directory is the mount point. +fs_lsmount \- Reports the volume for which a directory is the mount point. .SH "SYNOPSIS" \fBfs lsmount\fR <<\ \fB\-dir\fR\ <\fIdirectory\fR+ >>> [\fB\-help\fR] .PP @@ -288,7 +288,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_LSMOUNT 1" -.IX Name "fs lsmount - Reports the volume for which a directory is the mount point." +.IX Name "fs_lsmount - Reports the volume for which a directory is the mount point." .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_messages.1 b/doc/man-pages/man1/fs_messages.1 index 2ba416cf9..a709b5f0f 100644 --- a/doc/man-pages/man1/fs_messages.1 +++ b/doc/man-pages/man1/fs_messages.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_MESSAGES 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_MESSAGES 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs messages \- Sets whether the Cache Manager writes log messages +fs_messages \- Sets whether the Cache Manager writes log messages .SH "SYNOPSIS" \fBfs messages\fR <<\ [\fB\-show\fR\ (user|console|all|none)]\ >> [\fB\-help\fR] .PP @@ -244,7 +244,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_MESSAGES 1" -.IX Name "fs messages - Sets whether the Cache Manager writes log messages" +.IX Name "fs_messages - Sets whether the Cache Manager writes log messages" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_minidump.1 b/doc/man-pages/man1/fs_minidump.1 new file mode 100644 index 000000000..899cc6872 --- /dev/null +++ b/doc/man-pages/man1/fs_minidump.1 @@ -0,0 +1,233 @@ +.rn '' }` +''' $RCSfile$$Revision$$Date$ +''' +''' $Log$ +''' +.de Sh +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp +.if t .sp .5v +.if n .sp +.. +.de Ip +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.de Vb +.ft CW +.nf +.ne \\$1 +.. +.de Ve +.ft R + +.fi +.. +''' +''' +''' Set up \*(-- to give an unbreakable dash; +''' string Tr holds user defined translation string. +''' Bell System Logo is used as a dummy character. +''' +.tr \(*W-|\(bv\*(Tr +.ie n \{\ +.ds -- \(*W- +.ds PI pi +.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +.ds L" "" +.ds R" "" +''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of +''' \*(L" and \*(R", except that they are used on ".xx" lines, +''' such as .IP and .SH, which do another additional levels of +''' double-quote interpretation +.ds M" """ +.ds S" """ +.ds N" """"" +.ds T" """"" +.ds L' ' +.ds R' ' +.ds M' ' +.ds S' ' +.ds N' ' +.ds T' ' +'br\} +.el\{\ +.ds -- \(em\| +.tr \*(Tr +.ds L" `` +.ds R" '' +.ds M" `` +.ds S" '' +.ds N" `` +.ds T" '' +.ds L' ` +.ds R' ' +.ds M' ` +.ds S' ' +.ds N' ` +.ds T' ' +.ds PI \(*p +'br\} +.\" If the F register is turned on, we'll generate +.\" index entries out stderr for the following things: +.\" TH Title +.\" SH Header +.\" Sh Subsection +.\" Ip Item +.\" X<> Xref (embedded +.\" Of course, you have to process the output yourself +.\" in some meaninful fashion. +.if \nF \{ +.de IX +.tm Index:\\$1\t\\n%\t"\\$2" +.. +.nr % 0 +.rr F +.\} +.TH FS_MINIDUMP 1 "OpenAFS" "19/Feb/2008" "AFS Command Reference" +.UC +.if n .hy 0 +.if n .na +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.de CQ \" put $1 in typewriter font +.ft CW +'if n "\c +'if t \\&\\$1\c +'if n \\&\\$1\c +'if n \&" +\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 +'.ft R +.. +.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 +. \" AM - accent mark definitions +.bd B 3 +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds ? ? +. ds ! ! +. ds / +. ds q +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' +. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] +.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' +.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' +.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +.ds oe o\h'-(\w'o'u*4/10)'e +.ds Oe O\h'-(\w'O'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds v \h'-1'\o'\(aa\(ga' +. ds _ \h'-1'^ +. ds . \h'-1'. +. ds 3 3 +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +. ds oe oe +. ds Oe OE +.\} +.rm #[ #] #H #V #F C +.SH "NAME" +fs_minidump \- Generate a minidump from the current afsd service +.SH "SYNOPSIS" +\fBfs minidump\fR [\fB\-help\fR] +.SH "DESCRIPTION" +\fBfs minidump\fR generates a mini dump file containing the current stack +of the afsd_service.exe process. This output can be very helpful when +debugging the AFS Client Service when it is unresponsive to SMB/CIFS +requests. +.SH "CAUTIONS" +This command is only available in OpenAFS for Windows version 1.4 and later. +.SH "OPTIONS" +.Ip "\fB\-help\fR" 4 +Prints the online help for this command. All other valid options are +ignored. +.SH "SEE ALSO" +the \fIfs(1)\fR manpage +.SH "COPYRIGHT" +Copyright 2007 Jason Edgecombe +.PP +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. + +.rn }` '' +.IX Title "FS_MINIDUMP 1" +.IX Name "fs_minidump - Generate a minidump from the current afsd service" + +.IX Header "NAME" + +.IX Header "SYNOPSIS" + +.IX Header "DESCRIPTION" + +.IX Header "CAUTIONS" + +.IX Header "OPTIONS" + +.IX Item "\fB\-help\fR" + +.IX Header "SEE ALSO" + +.IX Header "COPYRIGHT" + diff --git a/doc/man-pages/man1/fs_mkmount.1 b/doc/man-pages/man1/fs_mkmount.1 index d7120fc1d..a34b9f3bf 100644 --- a/doc/man-pages/man1/fs_mkmount.1 +++ b/doc/man-pages/man1/fs_mkmount.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_MKMOUNT 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_MKMOUNT 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs mkmount \- Creates a mount point for a volume +fs_mkmount \- Creates a mount point for a volume .SH "SYNOPSIS" \fBfs mkmount\fR <<\ \fB\-dir\fR\ <\fIdirectory\fR >>> <<\ \fB\-vol\fR\ <\fIvolume\ name\fR >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-rw\fR] [\fB\-fast\fR] [\fB\-help\fR] @@ -382,7 +382,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_MKMOUNT 1" -.IX Name "fs mkmount - Creates a mount point for a volume" +.IX Name "fs_mkmount - Creates a mount point for a volume" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_newalias.1 b/doc/man-pages/man1/fs_newalias.1 index c8af3796f..a69ecd1e8 100644 --- a/doc/man-pages/man1/fs_newalias.1 +++ b/doc/man-pages/man1/fs_newalias.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_NEWALIAS 1 "OpenAFS" "5/Aug/2007" "AFS Command Reference" +.TH FS_NEWALIAS 1 "OpenAFS" "25/Dec/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs newalias \- Creates a new alias for a cell +fs_newalias \- Creates a new alias for a cell .SH "SYNOPSIS" \fBfs newalias\fR <<\ [\fB\-alias\fR]\ <\fIalias\ name\fR >>> <<\ [\fB\-name\fR]\ <\fIcell\ name\fR >>> [\fB\-help\fR] @@ -250,12 +250,13 @@ the \fIfs_listaliases(1)\fR manpage .SH "COPYRIGHT" Copyright 2007 Jason Edgecombe .PP -This documentation is covered by the IBM Public License Version 1.0. This -man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. .rn }` '' .IX Title "FS_NEWALIAS 1" -.IX Name "fs newalias - Creates a new alias for a cell" +.IX Name "fs_newalias - Creates a new alias for a cell" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_newcell.1 b/doc/man-pages/man1/fs_newcell.1 index f60f985ab..cef33fa1d 100644 --- a/doc/man-pages/man1/fs_newcell.1 +++ b/doc/man-pages/man1/fs_newcell.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_NEWCELL 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_NEWCELL 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs newcell \- Changes the kernel-resident list of a cell's database servers +fs_newcell \- Changes the kernel-resident list of a cell's database servers .SH "SYNOPSIS" \fBfs newcell\fR <<\ \fB\-name\fR\ <\fIcell\ name\fR >>> \-servers <\fIprimary servers\fR>+ <<\ [\fB\-linkedcell\fR\ <\fIlinked\ cell\ name\fR] >>> [\fB\-help\fR] @@ -278,7 +278,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_NEWCELL 1" -.IX Name "fs newcell - Changes the kernel-resident list of a cell's database servers" +.IX Name "fs_newcell - Changes the kernel-resident list of a cell's database servers" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_quota.1 b/doc/man-pages/man1/fs_quota.1 index 7a9b4d881..627c853f5 100644 --- a/doc/man-pages/man1/fs_quota.1 +++ b/doc/man-pages/man1/fs_quota.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_QUOTA 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_QUOTA 1 "OpenAFS" "19/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs quota \- Displays the quota used in the volume containing a directory or file +fs_quota \- Displays the quota used in the volume containing a directory or file .SH "SYNOPSIS" \fBfs quota\fR <<\ [\fB\-path\fR\ <\fIdir/file\ path\fR+] >>> [\fB\-help\fR] .PP @@ -201,6 +201,15 @@ To display more detailed information about the volume and the partition it resides on, use the \fBfs examine\fR and \fBfs listquota\fR commands. .PP To set volume quota, use the \fBfs setquota\fR or \fBfs setvol\fR command. +.SH "CAUTIONS" +Currently, the maximum size of a volume is 2 terabytes (2^31 bytes) +and the maximum size of a /vicepX partition on a fileserver is also 2 +terabytes. The fileserver will not report an error when it has access +to a partition larger than 2 terabytes, but it will probably fail if +the administrator attempts to use more than 2 terabytes of space. In +addition, there are reports of erroneous disk usage numbers when +\fBvos partinfo\fR or other OpenAFS disk reporting tools are used with +partitions larger than 2 terabytes. .SH "OPTIONS" .Ip "\fB\-path\fR <\fIdir/file path\fR>" 4 Names each file or directory for which to display the quota consumed in @@ -253,7 +262,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_QUOTA 1" -.IX Name "fs quota - Displays the quota used in the volume containing a directory or file" +.IX Name "fs_quota - Displays the quota used in the volume containing a directory or file" .IX Header "NAME" @@ -261,6 +270,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Header "DESCRIPTION" +.IX Header "CAUTIONS" + .IX Header "OPTIONS" .IX Item "\fB\-path\fR <\fIdir/file path\fR>" diff --git a/doc/man-pages/man1/fs_rmmount.1 b/doc/man-pages/man1/fs_rmmount.1 index af71a36ec..60b68530d 100644 --- a/doc/man-pages/man1/fs_rmmount.1 +++ b/doc/man-pages/man1/fs_rmmount.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_RMMOUNT 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_RMMOUNT 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs rmmount \- Removes a mount point +fs_rmmount \- Removes a mount point .SH "SYNOPSIS" \fBfs rmmount\fR <<\ \fB\-dir\fR\ <\fIdirectory\fR+ >>> [\fB\-help\fR] .PP @@ -236,7 +236,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_RMMOUNT 1" -.IX Name "fs rmmount - Removes a mount point" +.IX Name "fs_rmmount - Removes a mount point" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_rxstatpeer.1 b/doc/man-pages/man1/fs_rxstatpeer.1 new file mode 100644 index 000000000..6352d5a93 --- /dev/null +++ b/doc/man-pages/man1/fs_rxstatpeer.1 @@ -0,0 +1,256 @@ +.rn '' }` +''' $RCSfile$$Revision$$Date$ +''' +''' $Log$ +''' +.de Sh +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp +.if t .sp .5v +.if n .sp +.. +.de Ip +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.de Vb +.ft CW +.nf +.ne \\$1 +.. +.de Ve +.ft R + +.fi +.. +''' +''' +''' Set up \*(-- to give an unbreakable dash; +''' string Tr holds user defined translation string. +''' Bell System Logo is used as a dummy character. +''' +.tr \(*W-|\(bv\*(Tr +.ie n \{\ +.ds -- \(*W- +.ds PI pi +.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +.ds L" "" +.ds R" "" +''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of +''' \*(L" and \*(R", except that they are used on ".xx" lines, +''' such as .IP and .SH, which do another additional levels of +''' double-quote interpretation +.ds M" """ +.ds S" """ +.ds N" """"" +.ds T" """"" +.ds L' ' +.ds R' ' +.ds M' ' +.ds S' ' +.ds N' ' +.ds T' ' +'br\} +.el\{\ +.ds -- \(em\| +.tr \*(Tr +.ds L" `` +.ds R" '' +.ds M" `` +.ds S" '' +.ds N" `` +.ds T" '' +.ds L' ` +.ds R' ' +.ds M' ` +.ds S' ' +.ds N' ` +.ds T' ' +.ds PI \(*p +'br\} +.\" If the F register is turned on, we'll generate +.\" index entries out stderr for the following things: +.\" TH Title +.\" SH Header +.\" Sh Subsection +.\" Ip Item +.\" X<> Xref (embedded +.\" Of course, you have to process the output yourself +.\" in some meaninful fashion. +.if \nF \{ +.de IX +.tm Index:\\$1\t\\n%\t"\\$2" +.. +.nr % 0 +.rr F +.\} +.TH FS_RXSTATPEER 1 "OpenAFS" "25/Dec/2007" "AFS Command Reference" +.UC +.if n .hy 0 +.if n .na +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.de CQ \" put $1 in typewriter font +.ft CW +'if n "\c +'if t \\&\\$1\c +'if n \\&\\$1\c +'if n \&" +\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 +'.ft R +.. +.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 +. \" AM - accent mark definitions +.bd B 3 +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds ? ? +. ds ! ! +. ds / +. ds q +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' +. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] +.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' +.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' +.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +.ds oe o\h'-(\w'o'u*4/10)'e +.ds Oe O\h'-(\w'O'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds v \h'-1'\o'\(aa\(ga' +. ds _ \h'-1'^ +. ds . \h'-1'. +. ds 3 3 +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +. ds oe oe +. ds Oe OE +.\} +.rm #[ #] #H #V #F C +.SH "NAME" +fs_rxstatpeer \- Enables Rx packet logging in the OpenAFS kernel module +.SH "SYNOPSIS" +\fBfs rxstatpeer\fR [\fB\-clear\fR] [\fB\-disable\fR] [\fB\-enable\fR] [\fB\-help\fR] +.SH "DESCRIPTION" +\fBfs rxstatpeer\fR manipulates some of the Rx protocol counters in the +OpenAFS kernel interface. +.SH "OPTIONS" +.Ip "\fB\-clear\fR" 4 +Clear the Rx stats for peers in the kernel module. +.Ip "\fB\-disable\fR" 4 +Disable logging of Rx stats for peers in the kernel module. +.Ip "\fB\-enable\fR" 4 +Enable logging of Rx stats for peers in the kernel module. +.Ip "\fB\-help\fR" 4 +Prints the online help for this command. All other valid options are +ignored. +.SH "OUTPUT" +This command produces no output other than error messages. +.SH "EXAMPLES" +Enable Rx Stats for peers: +.PP +.Vb 1 +\& % fs rxstatpeer -enable +.Ve +.SH "PRIVILEGE REQUIRED" +The issuer must be logged in as the local superuser root. +.SH "SEE ALSO" +the \fIfs(1)\fR manpage, +the \fIrxdebug(1)\fR manpage +.SH "COPYRIGHT" +Copyright 2007 Jason Edgecombe +.PP +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. + +.rn }` '' +.IX Title "FS_RXSTATPEER 1" +.IX Name "fs_rxstatpeer - Enables Rx packet logging in the OpenAFS kernel module" + +.IX Header "NAME" + +.IX Header "SYNOPSIS" + +.IX Header "DESCRIPTION" + +.IX Header "OPTIONS" + +.IX Item "\fB\-clear\fR" + +.IX Item "\fB\-disable\fR" + +.IX Item "\fB\-enable\fR" + +.IX Item "\fB\-help\fR" + +.IX Header "OUTPUT" + +.IX Header "EXAMPLES" + +.IX Header "PRIVILEGE REQUIRED" + +.IX Header "SEE ALSO" + +.IX Header "COPYRIGHT" + diff --git a/doc/man-pages/man1/fs_setacl.1 b/doc/man-pages/man1/fs_setacl.1 index 411e06bf7..0be99e411 100644 --- a/doc/man-pages/man1/fs_setacl.1 +++ b/doc/man-pages/man1/fs_setacl.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_SETACL 1 "OpenAFS" "29/Jan/2007" "AFS Command Reference" +.TH FS_SETACL 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs setacl \- Sets the ACL for a directory +fs_setacl \- Sets the ACL for a directory .SH "SYNOPSIS" \fBfs setacl\fR <<\ \fB\-dir\fR\ <\fIdirectory\fR+ >>> <<\ \fB\-acl\fR\ <\fIaccess\ list\ entries\fR+ >>> [\fB\-clear\fR] [\fB\-negative\fR] [\fB\-id\fR] [\fB\-if\fR] [\fB\-help\fR] @@ -413,7 +413,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_SETACL 1" -.IX Name "fs setacl - Sets the ACL for a directory" +.IX Name "fs_setacl - Sets the ACL for a directory" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_setcachesize.1 b/doc/man-pages/man1/fs_setcachesize.1 index b0e6d2c7c..8f7dada42 100644 --- a/doc/man-pages/man1/fs_setcachesize.1 +++ b/doc/man-pages/man1/fs_setcachesize.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_SETCACHESIZE 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_SETCACHESIZE 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs setcachesize \- Sets the size of the disk cache +fs_setcachesize \- Sets the size of the disk cache .SH "SYNOPSIS" \fBfs setcachesize\fR [\fB\-blocks\fR <\fIsize in 1K byte blocks (0 =\fR reset)>>] [\fB\-reset\fR] [\fB\-help\fR] @@ -269,7 +269,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_SETCACHESIZE 1" -.IX Name "fs setcachesize - Sets the size of the disk cache" +.IX Name "fs_setcachesize - Sets the size of the disk cache" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_setcell.1 b/doc/man-pages/man1/fs_setcell.1 index d2b0f2215..1cd3afdbc 100644 --- a/doc/man-pages/man1/fs_setcell.1 +++ b/doc/man-pages/man1/fs_setcell.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_SETCELL 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_SETCELL 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs setcell \- Configures permissions for setuid programs from specified cells +fs_setcell \- Configures permissions for setuid programs from specified cells .SH "SYNOPSIS" \fBfs setcell\fR <<\ \fB\-cell\fR\ <\fIcell\ name\fR+ >>> [\fB\-suid\fR] [\fB\-nosuid\fR] [\fB\-help\fR] .PP @@ -264,7 +264,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_SETCELL 1" -.IX Name "fs setcell - Configures permissions for setuid programs from specified cells" +.IX Name "fs_setcell - Configures permissions for setuid programs from specified cells" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_setclientaddrs.1 b/doc/man-pages/man1/fs_setclientaddrs.1 index d82602963..bb489ec1b 100644 --- a/doc/man-pages/man1/fs_setclientaddrs.1 +++ b/doc/man-pages/man1/fs_setclientaddrs.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_SETCLIENTADDRS 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_SETCLIENTADDRS 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs setclientaddrs \- Sets the client interfaces to register with the File Server +fs_setclientaddrs \- Sets the client interfaces to register with the File Server .SH "SYNOPSIS" \fBfs setclientaddrs\fR <<\ [\fB\-address\fR\ <\fIclient\ network\ interfaces\fR+] >>> [\fB\-help\fR] .PP @@ -284,7 +284,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_SETCLIENTADDRS 1" -.IX Name "fs setclientaddrs - Sets the client interfaces to register with the File Server" +.IX Name "fs_setclientaddrs - Sets the client interfaces to register with the File Server" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_setcrypt.1 b/doc/man-pages/man1/fs_setcrypt.1 index e69d30b7b..79f243eea 100644 --- a/doc/man-pages/man1/fs_setcrypt.1 +++ b/doc/man-pages/man1/fs_setcrypt.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_SETCRYPT 1 "OpenAFS" "5/Aug/2007" "AFS Command Reference" +.TH FS_SETCRYPT 1 "OpenAFS" "25/Dec/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs setcrypt \- Enables of disables the encryption of AFS file transfers +fs_setcrypt \- Enables of disables the encryption of AFS file transfers .SH "SYNOPSIS" \fBfs setcrypt\fR <<\ [\fB\-crypt\fR]\ <\fIon/off\fR >>> [\fB\-help\fR] .SH "DESCRIPTION" @@ -253,12 +253,13 @@ the section on \fI/surfvi.com/~ota/fcrypt-paper.txt\fR in the \fIhttp:\fR manpag .SH "COPYRIGHT" Copyright 2007 Jason Edgecombe .PP -This documentation is covered by the IBM Public License Version 1.0. This -man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. .rn }` '' .IX Title "FS_SETCRYPT 1" -.IX Name "fs setcrypt - Enables of disables the encryption of AFS file transfers" +.IX Name "fs_setcrypt - Enables of disables the encryption of AFS file transfers" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_setquota.1 b/doc/man-pages/man1/fs_setquota.1 index b4283b371..daa7b53cf 100644 --- a/doc/man-pages/man1/fs_setquota.1 +++ b/doc/man-pages/man1/fs_setquota.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_SETQUOTA 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_SETQUOTA 1 "OpenAFS" "19/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs setquota \- Sets the quota for the volume containing a file or directory +fs_setquota \- Sets the quota for the volume containing a file or directory .SH "SYNOPSIS" \fBfs setquota\fR <<\ [\fB\-path\fR\ <\fIdir/file\ path\fR] >>> <<\ \fB\-max\fR\ <\fImax\ quota\ in\ kbytes\fR >>> [\fB\-help\fR] @@ -206,6 +206,15 @@ setvol\fR command. .PP To display a volume's quota, use the \fBfs examine\fR, \fBfs listquota\fR, or \fBfs quota\fR command. +.SH "CAUTIONS" +Currently, the maximum size of a volume is 2 terabytes (2^31 bytes) +and the maximum size of a /vicepX partition on a fileserver is also 2 +terabytes. The fileserver will not report an error when it has access +to a partition larger than 2 terabytes, but it will probably fail if +the administrator attempts to use more than 2 terabytes of space. In +addition, there are reports of erroneous disk usage numbers when +\fBvos partinfo\fR or other OpenAFS disk reporting tools are used with +partitions larger than 2 terabytes. .SH "OPTIONS" .Ip "\fB\-path\fR <\fIdir/file path\fR>" 4 Names the directory or file for which to set the host volume's @@ -255,7 +264,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_SETQUOTA 1" -.IX Name "fs setquota - Sets the quota for the volume containing a file or directory" +.IX Name "fs_setquota - Sets the quota for the volume containing a file or directory" .IX Header "NAME" @@ -263,6 +272,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Header "DESCRIPTION" +.IX Header "CAUTIONS" + .IX Header "OPTIONS" .IX Item "\fB\-path\fR <\fIdir/file path\fR>" diff --git a/doc/man-pages/man1/fs_setserverprefs.1 b/doc/man-pages/man1/fs_setserverprefs.1 index 39806fcdf..c53c6295c 100644 --- a/doc/man-pages/man1/fs_setserverprefs.1 +++ b/doc/man-pages/man1/fs_setserverprefs.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_SETSERVERPREFS 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_SETSERVERPREFS 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs setserverprefs \- Sets the preference ranks for file servers or VL servers +fs_setserverprefs \- Sets the preference ranks for file servers or VL servers .SH "SYNOPSIS" \fBfs setserverprefs\fR <<\ [\fB\-servers\fR\ <\fIfileserver\ names\ and\ ranks\fR+] >>> <<\ [\fB\-vlservers\fR\ <\fIVL\ server\ names\ and\ ranks\fR+] >>> @@ -440,7 +440,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_SETSERVERPREFS 1" -.IX Name "fs setserverprefs - Sets the preference ranks for file servers or VL servers" +.IX Name "fs_setserverprefs - Sets the preference ranks for file servers or VL servers" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_setvol.1 b/doc/man-pages/man1/fs_setvol.1 index 5de08ca81..a89db7915 100644 --- a/doc/man-pages/man1/fs_setvol.1 +++ b/doc/man-pages/man1/fs_setvol.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_SETVOL 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_SETVOL 1 "OpenAFS" "19/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs setvol \- Set quota and messages for a volume containing a file or directory +fs_setvol \- Set quota and messages for a volume containing a file or directory .SH "SYNOPSIS" \fBfs setvol\fR <<\ [\fB\-path\fR\ <\fIdir/file\ path\fR+] >>> <<\ [\fB\-max\fR\ <\fIdisk\ space\ quota\ in\ 1K\ units\fR] >>> @@ -213,6 +213,15 @@ examine\fR command. The \fBfs listquota\fR command reports a fileset's quota, and the \fBfs quota\fR command the percent of quota used. .PP To set quota on one volume at a time, use the \fBfs setquota\fR command. +.SH "CAUTIONS" +Currently, the maximum size of a volume is 2 terabytes (2^31 bytes) +and the maximum size of a /vicepX partition on a fileserver is also 2 +terabytes. The fileserver will not report an error when it has access +to a partition larger than 2 terabytes, but it will probably fail if +the administrator attempts to use more than 2 terabytes of space. In +addition, there are reports of erroneous disk usage numbers when +\fBvos partinfo\fR or other OpenAFS disk reporting tools are used with +partitions larger than 2 terabytes. .SH "OPTIONS" .Ip "\fB\-path\fR <\fIdir/file path\fR>+" 4 Names each file or directory for which to set the host volume's quota and @@ -269,7 +278,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_SETVOL 1" -.IX Name "fs setvol - Set quota and messages for a volume containing a file or directory" +.IX Name "fs_setvol - Set quota and messages for a volume containing a file or directory" .IX Header "NAME" @@ -277,6 +286,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Header "DESCRIPTION" +.IX Header "CAUTIONS" + .IX Header "OPTIONS" .IX Item "\fB\-path\fR <\fIdir/file path\fR>+" diff --git a/doc/man-pages/man1/fs_storebehind.1 b/doc/man-pages/man1/fs_storebehind.1 index 104ff5829..f676c12f9 100644 --- a/doc/man-pages/man1/fs_storebehind.1 +++ b/doc/man-pages/man1/fs_storebehind.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_STOREBEHIND 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_STOREBEHIND 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs storebehind \- Enables asynchronous writes to the file server +fs_storebehind \- Enables asynchronous writes to the file server .SH "SYNOPSIS" \fBfs storebehind\fR <<\ [\fB\-kbytes\fR\ <\fIasynchrony\ for\ specified\ names\fR] >>> <<\ [\fB\-files\fR\ <\fIspecific\ pathnames\fR+] >>> @@ -382,7 +382,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_STOREBEHIND 1" -.IX Name "fs storebehind - Enables asynchronous writes to the file server" +.IX Name "fs_storebehind - Enables asynchronous writes to the file server" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_sysname.1 b/doc/man-pages/man1/fs_sysname.1 index 63788ca30..a60ffe63d 100644 --- a/doc/man-pages/man1/fs_sysname.1 +++ b/doc/man-pages/man1/fs_sysname.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_SYSNAME 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_SYSNAME 1 "OpenAFS" "29/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,16 +188,16 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs sysname \- Reports or sets the CPU/operating system type +fs_sysname \- Reports or sets the CPU/operating system type .SH "SYNOPSIS" -\fBfs sysname\fR <<\ [\fB\-newsys\fR\ <\fInew\ sysname\fR] >>> [\fB\-help\fR] +\fBfs sysname\fR <<\ [\fB\-newsys\fR\ <\fInew\ sysname\fR]+ >>> [\fB\-help\fR] .PP -\fBfs sy\fR <<\ [\fB\-n\fR\ <\fInew\ sysname\fR] >>> [\fB\-h\fR] +\fBfs sy\fR <<\ [\fB\-n\fR\ <\fInew\ sysname\fR]+ >>> [\fB\-h\fR] .SH "DESCRIPTION" The \fBfs sysname\fR command sets or displays the local machine's CPU/operating system type as recorded in kernel memory. The Cache Manager substitutes the string for the \fI@sys\fR variable which can occur in AFS -pathnames; the \fIIBM AFS Quick Beginnings\fR and \fIIBM AFS Administration +pathnames; the \fIOpenAFS Quick Beginnings\fR and \fIOpenAFS Administration Guide\fR explain how using \fI@sys\fR can simplify cell configuration. It is best to use it sparingly, however, because it can make the effect of changing directories unpredictable. @@ -215,10 +215,14 @@ the NFS client -- perhaps by using the UNIX \fBsu\fR command -- he or she must verify that the correct string is set for the new identity also. .SH "OPTIONS" .Ip "\fB\-newsys\fR <\fInew sysname\fR>" 4 -Sets the \s-1CPU/\s0operating system indicator string for the local machine. If -this argument is omitted, the output displays the current setting -instead. \s-1AFS\s0 uses a standardized set of strings; consult the \fI\s-1IBM\s0 \s-1AFS\s0 -Quick Beginnings\fR or \fI\s-1AFS\s0 Release Notes\fR. +Sets the \s-1CPU/\s0operating system indicator string for the local machine. This +option may be used multiple times in the same invocation, which sets \fI@sys\fR +to an array of values. When \fI@sys\fR contains an array of values, the first +value that matches a path is used. +.Sp +If this argument is omitted, the output displays the current setting +instead. \s-1AFS\s0 uses a standardized set of strings; consult the \fIOpenAFS Quick +Beginnings\fR or \fIOpenAFS Release Notes\fR. .Ip "\fB\-help\fR" 4 Prints the online help for this command. All other valid options are ignored. @@ -229,6 +233,11 @@ system type in the following format: .Vb 1 \& Current sysname is '' .Ve +When the \fB\-newsys\fR argument is included, the output is the following: +.PP +.Vb 1 +\& fs: new sysname list set. +.Ve .SH "EXAMPLES" The following example shows the output produced on a Sun SPARCStation running Solaris 5.7: @@ -243,6 +252,18 @@ The following command defines a machine to be a IBM RS/6000 running AIX .Vb 1 \& % fs sysname -newsys rs_aix42 .Ve +The following command defines a machine to be Mac OS X PPC and a +custom type \*(L'foo\*(R'. The second command queries the new sysname: +.PP +.Vb 4 +\& % fs sysname -newsys ppc_darwin_80 -newsys foo +\& fs: new sysname list set. +\& % fs sysname +\& Current sysname list is 'ppc_darwin_80' 'foo' +.Ve +If \fI@sys\fR is \f(CWppc_darwin_80 foo\fR, then \f(CWcd @sys\fR will try to change +to the \f(CWppc_darwin_80\fR directory. If the \f(CWppc_darwin_80\fR directory +doesn't exist, then the \f(CWfoo\fR directory is tried. .SH "PRIVILEGE REQUIRED" To display the current setting, no privilege is required. To include the \fB\-newsys\fR argument on an AFS client machine, the issuer must be logged in @@ -251,9 +272,14 @@ as the local superuser \f(CWroot\fR. the \fIfs_exportafs(1)\fR manpage, the \fIsys(1)\fR manpage .PP -\fIIBM AFS Quick Beginnings\fR +\fIOpenAFS Quick Beginnings\fR +the section on \fI/www.openafs.org/pages/doc/QuickStartUnix/auqbg000.htm\fR in the \fIhttp:\fR manpage +.PP +\fIOpenAFS Administration Guide\fR +the section on \fI/www.openafs.org/pages/doc/AdminGuide/auagd000.htm\fR in the \fIhttp:\fR manpage .PP -\fIIBM AFS Administration Guide\fR +For the list of assigned standard sysname values, see +the section on \fI/grand.central.org/numbers/systypes.html\fR in the \fIhttp:\fR manpage .SH "COPYRIGHT" IBM Corporation 2000. All Rights Reserved. .PP @@ -263,7 +289,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_SYSNAME 1" -.IX Name "fs sysname - Reports or sets the CPU/operating system type" +.IX Name "fs_sysname - Reports or sets the CPU/operating system type" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_uuid.1 b/doc/man-pages/man1/fs_uuid.1 index f8cb093df..b455a7f8c 100644 --- a/doc/man-pages/man1/fs_uuid.1 +++ b/doc/man-pages/man1/fs_uuid.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_UUID 1 "OpenAFS" "23/Oct/2007" "AFS Command Reference" +.TH FS_UUID 1 "OpenAFS" "25/Dec/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,31 +188,31 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs uuid \- Prints the uuid of the client or generates a new one +fs_uuid \- Prints the uuid of the client or generates a new one .SH "SYNOPSIS" \fBfs uuid\fR [\fB\-generate\fR] [\fB\-help\fR] .SH "DESCRIPTION" -\fBfs uuid\fR prints the current uuid of an OpenAFS client. It can -optionally force the generation of a new uuid, if needed. The client -uuid is used by the \fBfileserver\fR to differentiate clients with the -same IP address. +\fBfs uuid\fR prints the current UUID of an OpenAFS client. It can +optionally force the generation of a new UUID, if needed. The client UUID +is used by the \fBfileserver\fR to differentiate clients with the same IP +address. .SH "CAUTIONS" -The \fBfs uuid\fR command is only available in OpenAFS versions after -1.4.5 and 1.5.8. The behavior differs slightly between versions. In -OpenAFS 1.4.5 and later, the \fB\-generate\fR option is required and the -uuid for the client machine is never printed. OpenAFS versions 1.5.8 -and later will print the uuid. +The \fBfs uuid\fR command is only available in OpenAFS versions after 1.4.5 +and 1.5.8. The behavior differs slightly between versions. In OpenAFS +1.4.5 and later, the \fB\-generate\fR option is required and the UUID for the +client machine is never printed. OpenAFS versions 1.5.8 and later will +print the UUID. .SH "OPTIONS" .Ip "\fB\-generate\fR" 4 -Generates a new uuid for the cache manager. This is useful if two -clients share the same uuid. \fB\-generate\fR is optional in OpenAFS -versions 1.5.8 and later, but it is required in OpenAFS versions 1.4.5 -and later. +Generates a new \s-1UUID\s0 for the cache manager. This is useful if two clients +share the same \s-1UUID\s0 (if systems were cloned incorrectly, for example). +\fB\-generate\fR is optional in OpenAFS versions 1.5.8 and later, but it is +required in OpenAFS versions 1.4.5 and later. .Ip "\fB\-help\fR" 4 -Prints the online help for this command. All other valid options are +Prints the online help for this command. All other valid options are ignored. .SH "OUTPUT" -\fBfs uuid\fR prints out the current uuid for the client or the new uuid +\fBfs uuid\fR prints out the current UUID for the client or the new UUID if the \fB\-generate\fR option is passed to it. .SH "EXAMPLES" There are only two ways to invoke \fBfs uuid\fR under 1.5.8 and later: @@ -238,12 +238,13 @@ the \fIfs(1)\fR manpage .SH "COPYRIGHT" Copyright 2007 Jason Edgecombe .PP -This documentation is covered by the IBM Public License Version 1.0. This -man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. .rn }` '' .IX Title "FS_UUID 1" -.IX Name "fs uuid - Prints the uuid of the client or generates a new one" +.IX Name "fs_uuid - Prints the uuid of the client or generates a new one" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_whereis.1 b/doc/man-pages/man1/fs_whereis.1 index 6ffb179d6..35b114042 100644 --- a/doc/man-pages/man1/fs_whereis.1 +++ b/doc/man-pages/man1/fs_whereis.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_WHEREIS 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_WHEREIS 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs whereis \- Reports each file server housing a file or directory +fs_whereis \- Reports each file server housing a file or directory .SH "SYNOPSIS" \fBfs whereis\fR <<\ [\fB\-path\fR\ <\fIdir/file\ path\fR+] >>> [\fB\-help\fR] .PP @@ -238,7 +238,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_WHEREIS 1" -.IX Name "fs whereis - Reports each file server housing a file or directory" +.IX Name "fs_whereis - Reports each file server housing a file or directory" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_whichcell.1 b/doc/man-pages/man1/fs_whichcell.1 index 3631cd818..098d12cdd 100644 --- a/doc/man-pages/man1/fs_whichcell.1 +++ b/doc/man-pages/man1/fs_whichcell.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_WHICHCELL 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_WHICHCELL 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs whichcell \- Returns the cell to which a file or directory belongs +fs_whichcell \- Returns the cell to which a file or directory belongs .SH "SYNOPSIS" \fBfs whichcell\fR <<\ [\fB\-path\fR\ <\fIdir/file\ path\fR+] >>> [\fB\-help\fR] .PP @@ -234,7 +234,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_WHICHCELL 1" -.IX Name "fs whichcell - Returns the cell to which a file or directory belongs" +.IX Name "fs_whichcell - Returns the cell to which a file or directory belongs" .IX Header "NAME" diff --git a/doc/man-pages/man1/fs_wscell.1 b/doc/man-pages/man1/fs_wscell.1 index 357ffbb7f..a441102d8 100644 --- a/doc/man-pages/man1/fs_wscell.1 +++ b/doc/man-pages/man1/fs_wscell.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH FS_WSCELL 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH FS_WSCELL 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fs wscell \- Returns the name of the cell to which a machine belongs +fs_wscell \- Returns the name of the cell to which a machine belongs .SH "SYNOPSIS" \fBfs wscell\fR [\fB\-help\fR] .PP @@ -229,7 +229,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "FS_WSCELL 1" -.IX Name "fs wscell - Returns the name of the cell to which a machine belongs" +.IX Name "fs_wscell - Returns the name of the cell to which a machine belongs" .IX Header "NAME" diff --git a/doc/man-pages/man1/pts.1 b/doc/man-pages/man1/pts.1 index 6a8714568..ad869624e 100644 --- a/doc/man-pages/man1/pts.1 +++ b/doc/man-pages/man1/pts.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH PTS 1 "OpenAFS" "17/Aug/2007" "AFS Command Reference" +.TH PTS 1 "OpenAFS" "4/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -246,6 +246,12 @@ name of the local cell by reading the following in order: The value of the \s-1AFSCELL\s0 environment variable. .Ip "\(bu" 8 The local \fI/usr/vice/etc/ThisCell\fR file. +.Sp +Do not combine the \fB\-cell\fR and \fB\-localauth\fR options. A command on which +the \fB\-localauth\fR flag is included always runs in the local cell (as +defined in the server machine's local \fI/usr/afs/etc/ThisCell\fR file), +whereas a command on which the \fB\-cell\fR argument is included runs in the +specified foreign cell. .Ip "\fB\-force\fR" 4 Enables the command to continue executing as far as possible when errors or other problems occur, rather than halting execution immediately. @@ -270,6 +276,27 @@ circumstances). In normal circumstances, the Protection Server allows only privileged users to issue commands that change the Protection Database, and refuses to perform such an action even if the \fB\-noauth\fR flag is provided. +.Ip "\fB\-localauth\fR" 4 +Constructs a server ticket using the server encryption key with the +highest key version number in the local \fI/usr/afs/etc/KeyFile\fR file. The +\fBpts\fR command interpreter presents the ticket, which never expires, to +the \s-1BOS\s0 Server during mutual authentication. +.Sp +Use this flag only when issuing a command on a server machine; client +machines do not usually have a \fI/usr/afs/etc/KeyFile\fR file. The issuer +of a command that includes this flag must be logged on to the server +machine as the local superuser \f(CWroot\fR. The flag is useful for commands +invoked by an unattended application program, such as a process controlled +by the \s-1UNIX\s0 \fBcron\fR utility. It is also useful if an administrator is +unable to authenticate to \s-1AFS\s0 but is logged in as the local superuser +\f(CWroot\fR. +.Sp +Do not combine the \fB\-cell\fR and \fB\-localauth\fR options. A command on which +the \fB\-localauth\fR flag is included always runs in the local cell (as +defined in the server machine's local \fI/usr/afs/etc/ThisCell\fR file), +whereas a command on which the \fB\-cell\fR argument is included runs in the +specified foreign cell. Also, do not combine the \fB\-localauth\fR and +\fB\-noauth\fR flags. .SH "PRIVILEGE REQUIRED" Members of the system:administrators group can issue all \fBpts\fR commands on any entry in the Protection Database. @@ -342,6 +369,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Item "\fB\-noauth\fR" +.IX Item "\fB\-localauth\fR" + .IX Header "PRIVILEGE REQUIRED" .IX Header "SEE ALSO" diff --git a/doc/man-pages/man1/pts_adduser.1 b/doc/man-pages/man1/pts_adduser.1 index 5e57f4f53..3a6aeffc6 100644 --- a/doc/man-pages/man1/pts_adduser.1 +++ b/doc/man-pages/man1/pts_adduser.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH PTS_ADDUSER 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH PTS_ADDUSER 1 "OpenAFS" "4/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,13 +188,13 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -pts adduser \- Adds a user or machine to a Protection Database group +pts_adduser \- Adds a user or machine to a Protection Database group .SH "SYNOPSIS" \fBpts adduser\fR <<\ \fB\-user\fR\ <\fIuser\ name\fR+ >>> <<\ \fB\-group\fR\ <\fIgroup\ name\fR+ >>> - <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-force\fR] [\fB\-help\fR] + <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-force\fR] [\fB\-help\fR] .PP \fBpts ad\fR <<\ \fB\-u\fR\ <\fIuser\ name\fR+ >>> <<\ \fB\-g\fR\ <\fIgroup\ name\fR+ >>> - <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> [\fB\-n\fR] [\fB\-f\fR] [\fB\-h\fR] + <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> [\fB\-n\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR] .SH "DESCRIPTION" The \fBpts adduser\fR command adds each user or machine entry named by the \fB\-user\fR argument as a member of each group named by the \fB\-group\fR @@ -224,6 +224,12 @@ the \fIpts(1)\fR manpage. .Ip "\fB\-noauth\fR" 4 Assigns the unprivileged identity anonymous to the issuer. For more details, see the \fIpts(1)\fR manpage. +.Ip "\fB\-localauth\fR" 4 +Constructs a server ticket using a key from the local +\fI/usr/afs/etc/KeyFile\fR file. The \fBpts\fR command interpreter presents the +ticket to the Protection Server during mutual authentication. Do not combine +this flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see +the \fIpts(1)\fR manpage. .Ip "\fB\-force\fR" 4 Enables the command to continue executing as far as possible when errors or other problems occur, rather than halting execution at the first error. @@ -279,7 +285,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "PTS_ADDUSER 1" -.IX Name "pts adduser - Adds a user or machine to a Protection Database group" +.IX Name "pts_adduser - Adds a user or machine to a Protection Database group" .IX Header "NAME" @@ -299,6 +305,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Item "\fB\-noauth\fR" +.IX Item "\fB\-localauth\fR" + .IX Item "\fB\-force\fR" .IX Item "\fB\-help\fR" diff --git a/doc/man-pages/man1/pts_apropos.1 b/doc/man-pages/man1/pts_apropos.1 index c4abf111b..e16c35e69 100644 --- a/doc/man-pages/man1/pts_apropos.1 +++ b/doc/man-pages/man1/pts_apropos.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH PTS_APROPOS 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH PTS_APROPOS 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -pts apropos \- Displays each help entry containing a keyword string +pts_apropos \- Displays each help entry containing a keyword string .SH "SYNOPSIS" \fBpts apropos\fR <<\ \fB\-topic\fR\ <\fIhelp\ string\fR >>> [\fB\-help\fR] .PP @@ -235,7 +235,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "PTS_APROPOS 1" -.IX Name "pts apropos - Displays each help entry containing a keyword string" +.IX Name "pts_apropos - Displays each help entry containing a keyword string" .IX Header "NAME" diff --git a/doc/man-pages/man1/pts_chown.1 b/doc/man-pages/man1/pts_chown.1 index 6290a6fa6..0e4c8a04b 100644 --- a/doc/man-pages/man1/pts_chown.1 +++ b/doc/man-pages/man1/pts_chown.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH PTS_CHOWN 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH PTS_CHOWN 1 "OpenAFS" "4/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,13 +188,13 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -pts chown \- Changes the owner of a Protection Database entry +pts_chown \- Changes the owner of a Protection Database entry .SH "SYNOPSIS" \fBpts chown\fR <<\ \fB\-name\fR\ <\fIgroup\ name\fR >>> <<\ \fB\-owner\fR\ <\fInew\ owner\fR >>> - <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-force\fR] [\fB\-help\fR] + <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-force\fR] [\fB\-help\fR] .PP \fBpts cho\fR <<\ \fB\-na\fR\ <\fIgroup\ name\fR >>> <<\ \fB\-o\fR\ <\fInew\ owner\fR >>> - <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> [\fB\-no\fR] [\fB\-f\fR] [\fB\-h\fR] + <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR] .SH "DESCRIPTION" The \fBpts chown\fR command designates the user or group named by the \fB\-owner\fR argument as the owner of the group named by the \fB\-name\fR @@ -226,6 +226,10 @@ the \fIpts(1)\fR manpage. .Ip "\fB\-noauth\fR" 4 Assigns the unprivileged identity anonymous to the issuer. For more details, see the \fIpts(1)\fR manpage. +.Ip "\fB\-localauth\fR" 4 +Constructs a server ticket using a key from the local +\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the \fB\-cell\fR +or \fB\-noauth\fR options. For more details, see the \fIpts(1)\fR manpage. .Ip "\fB\-force\fR" 4 Enables the command to continue executing as far as possible when errors or other problems occur, rather than halting execution at the first error. @@ -262,7 +266,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "PTS_CHOWN 1" -.IX Name "pts chown - Changes the owner of a Protection Database entry" +.IX Name "pts_chown - Changes the owner of a Protection Database entry" .IX Header "NAME" @@ -282,6 +286,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Item "\fB\-noauth\fR" +.IX Item "\fB\-localauth\fR" + .IX Item "\fB\-force\fR" .IX Item "\fB\-help\fR" diff --git a/doc/man-pages/man1/pts_creategroup.1 b/doc/man-pages/man1/pts_creategroup.1 index 89e704814..0cb61e2ef 100644 --- a/doc/man-pages/man1/pts_creategroup.1 +++ b/doc/man-pages/man1/pts_creategroup.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH PTS_CREATEGROUP 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH PTS_CREATEGROUP 1 "OpenAFS" "4/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,20 +188,20 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -pts creategroup \- Creates an (empty) Protection Database group entry +pts_creategroup \- Creates an (empty) Protection Database group entry .SH "SYNOPSIS" \fBpts creategroup\fR <<\ \fB\-name\fR\ <\fIgroup\ name\fR+ >>> <<\ [\fB\-owner\fR\ <\fIowner\ of\ the\ group\fR] >>> <<\ [\fB\-id\fR\ <\fIid\ (negated)\ for\ the\ group\fR+] >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> - [\fB\-noauth\fR] [\fB\-force\fR] [\fB\-help\fR] + [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-force\fR] [\fB\-help\fR] .PP \fBpts createg\fR <<\ \fB\-na\fR\ <\fIgroup\ name\fR+ >>> <<\ [\fB\-o\fR\ <\fIowner\ of\ the\ group\fR] >>> <<\ [\fB\-i\fR\ <\fIid\ (negated)\ for\ the\ group\fR+] >>> <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> - [\fB\-no\fR] [\fB\-f\fR] [\fB\-h\fR] + [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR] .PP \fBpts cg\fR <<\ \fB\-na\fR\ <\fIgroup\ name\fR+ >>> <<\ [\fB\-o\fR\ <\fIowner\ of\ the\ group\fR] >>> <<\ [\fB\-i\fR\ <\fIid\ (negated)\ for\ the\ group\fR+] >>> <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> - [\fB\-no\fR] [\fB\-f\fR] [\fB\-h\fR] + [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR] .SH "DESCRIPTION" The \fBpts creategroup\fR command creates an entry in the Protection Database for each group specified by the \fB\-name\fR argument. The entry records the @@ -299,6 +299,10 @@ the \fIpts(1)\fR manpage. .Ip "\fB\-noauth\fR" 4 Assigns the unprivileged identity anonymous to the issuer. For more details, see the \fIpts(1)\fR manpage. +.Ip "\fB\-localauth\fR" 4 +Constructs a server ticket using a key from the local +\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the +\fB\-cell\fR or \fB\-noauth\fR options. For more details, see the \fIpts(1)\fR manpage. .Ip "\fB\-force\fR" 4 Enables the command to continue executing as far as possible when errors or other problems occur, rather than halting execution at the first error. @@ -351,7 +355,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "PTS_CREATEGROUP 1" -.IX Name "pts creategroup - Creates an (empty) Protection Database group entry" +.IX Name "pts_creategroup - Creates an (empty) Protection Database group entry" .IX Header "NAME" @@ -385,6 +389,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Item "\fB\-noauth\fR" +.IX Item "\fB\-localauth\fR" + .IX Item "\fB\-force\fR" .IX Item "\fB\-help\fR" diff --git a/doc/man-pages/man1/pts_createuser.1 b/doc/man-pages/man1/pts_createuser.1 index 2857eda87..323f2b8ac 100644 --- a/doc/man-pages/man1/pts_createuser.1 +++ b/doc/man-pages/man1/pts_createuser.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH PTS_CREATEUSER 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH PTS_CREATEUSER 1 "OpenAFS" "4/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,16 +188,17 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -pts createuser \- Creates a user or machine entry in the Protection Database +pts_createuser \- Creates a user or machine entry in the Protection Database .SH "SYNOPSIS" \fBpts createuser\fR <<\ \fB\-name\fR\ <\fIuser\ name\fR+ >>> <<\ [\fB\-id\fR\ <\fIuser\ id\fR+] >>> - <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-force\fR] [\fB\-help\fR] + <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-force\fR] + [\fB\-help\fR] .PP \fBpts createu\fR <<\ \fB\-na\fR\ <\fIuser\ name\fR+ >>> <<\ [\fB\-i\fR\ <\fIuser\ id\fR+] >>> - <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> [\fB\-no\fR] [\fB\-f\fR] [\fB\-h\fR] + <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR] .PP \fBpts cu\fR <<\ \fB\-na\fR\ <\fIuser\ name\fR+ >>> <<\ [\fB\-i\fR\ <\fIuser\ id\fR+] >>> - <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> [\fB\-no\fR] [\fB\-f\fR] [\fB\-h\fR] + <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR] .SH "DESCRIPTION" The \fBpts createuser\fR command creates an entry in the Protection Database for each user or machine specified by the \fB\-name\fR argument. A user entry @@ -281,6 +282,10 @@ the \fIpts(1)\fR manpage. .Ip "\fB\-noauth\fR" 4 Assigns the unprivileged identity anonymous to the issuer. For more details, see the \fIpts(1)\fR manpage. +.Ip "\fB\-localauth\fR" 4 +Constructs a server ticket using a key from the local +\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the +\fB\-cell\fR or \fB\-noauth\fR options. For more details, see the \fIpts(1)\fR manpage. .Ip "\fB\-force\fR" 4 Enables the command to continue executing as far as possible when errors or other problems occur, rather than halting execution at the first error. @@ -323,7 +328,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "PTS_CREATEUSER 1" -.IX Name "pts createuser - Creates a user or machine entry in the Protection Database" +.IX Name "pts_createuser - Creates a user or machine entry in the Protection Database" .IX Header "NAME" @@ -355,6 +360,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Item "\fB\-noauth\fR" +.IX Item "\fB\-localauth\fR" + .IX Item "\fB\-force\fR" .IX Item "\fB\-help\fR" diff --git a/doc/man-pages/man1/pts_delete.1 b/doc/man-pages/man1/pts_delete.1 index ddad270a6..d767a9a77 100644 --- a/doc/man-pages/man1/pts_delete.1 +++ b/doc/man-pages/man1/pts_delete.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH PTS_DELETE 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH PTS_DELETE 1 "OpenAFS" "4/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,13 +188,14 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -pts delete \- Deletes a Protection Database entry +pts_delete \- Deletes a Protection Database entry .SH "SYNOPSIS" \fBpts delete\fR <<\ \fB\-nameorid\fR\ <\fIuser\ or\ group\ name\ or\ id\fR+ >>> - <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-force\fR] [\fB\-help\fR] + <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] + [\fB\-force\fR] [\fB\-help\fR] .PP \fBpts d\fR <<\ \fB\-na\fR\ <\fIuser\ or\ group\ name\ or\ id\fR+ >>> - <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> [\fB\-no\fR] [\fB\-f\fR] [\-h] + <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\-h] .SH "DESCRIPTION" The \fBpts delete\fR command removes each entry specified by the \fB\-nameorid\fR argument from the Protection Database. Deleting entries affects other @@ -229,6 +230,10 @@ the \fIpts(1)\fR manpage. .Ip "\fB\-noauth\fR" 4 Assigns the unprivileged identity anonymous to the issuer. For more details, see the \fIpts(1)\fR manpage. +.Ip "\fB\-localauth\fR" 4 +Constructs a server ticket using a key from the local +\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the +\fB\-cell\fR or \fB\-noauth\fR options. For more details, see the \fIpts(1)\fR manpage. .Ip "\fB\-force\fR" 4 Enables the command to continue executing as far as possible when errors or other problems occur, rather than halting execution at the first error. @@ -264,7 +269,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "PTS_DELETE 1" -.IX Name "pts delete - Deletes a Protection Database entry" +.IX Name "pts_delete - Deletes a Protection Database entry" .IX Header "NAME" @@ -286,6 +291,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Item "\fB\-noauth\fR" +.IX Item "\fB\-localauth\fR" + .IX Item "\fB\-force\fR" .IX Item "\fB\-help\fR" diff --git a/doc/man-pages/man1/pts_examine.1 b/doc/man-pages/man1/pts_examine.1 index 4faa1b0e8..cbed8240c 100644 --- a/doc/man-pages/man1/pts_examine.1 +++ b/doc/man-pages/man1/pts_examine.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH PTS_EXAMINE 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH PTS_EXAMINE 1 "OpenAFS" "4/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,19 +188,20 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -pts examine \- Displays a Protection Database entry +pts_examine \- Displays a Protection Database entry .SH "SYNOPSIS" \fBpts examine\fR <<\ \fB\-nameorid\fR\ <\fIuser\ or\ group\ name\ or\ id\fR+ >>> - <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-force\fR] [\fB\-help\fR] + <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] + [\fB\-force\fR] [\fB\-help\fR] .PP \fBpts e\fR <<\ \fB\-na\fR\ <\fIuser\ or\ group\ name\ or\ id\fR+ >>> <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> - [\fB\-no\fR] [\fB\-f\fR] [\fB\-h\fR] + [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR] .PP \fBpts check\fR <<\ \fB\-na\fR\ <\fIuser\ or\ group\ name\ or\ id\fR+ >>> <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> - [\fB\-no\fR] [\fB\-f\fR] [\fB\-h\fR] + [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR] .PP \fBpts che\fR <<\ \fB\-na\fR\ <\fIuser\ or\ group\ name\ or\ id\fR+ >>> <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> - [\fB\-no\fR] [\fB\-f\fR] [\fB\-h\fR] + [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR] .SH "DESCRIPTION" The \fBpts examine\fR command displays information from the Protection Database entry of each user, machine or group specified by the @@ -219,6 +220,10 @@ the \fIpts(1)\fR manpage. .Ip "\fB\-noauth\fR" 4 Assigns the unprivileged identity anonymous to the issuer. For more details, see the \fIpts(1)\fR manpage. +.Ip "\fB\-localauth\fR" 4 +Constructs a server ticket using a key from the local +\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the +\fB\-cell\fR or \fB\-noauth\fR options. For more details, see the \fIpts(1)\fR manpage. .Ip "\fB\-force\fR" 4 Enables the command to continue executing as far as possible when errors or other problems occur, rather than halting execution at the first error. @@ -369,7 +374,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "PTS_EXAMINE 1" -.IX Name "pts examine - Displays a Protection Database entry" +.IX Name "pts_examine - Displays a Protection Database entry" .IX Header "NAME" @@ -385,6 +390,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Item "\fB\-noauth\fR" +.IX Item "\fB\-localauth\fR" + .IX Item "\fB\-force\fR" .IX Item "\fB\-help\fR" diff --git a/doc/man-pages/man1/pts_help.1 b/doc/man-pages/man1/pts_help.1 index 6b7920ce3..15558ba9f 100644 --- a/doc/man-pages/man1/pts_help.1 +++ b/doc/man-pages/man1/pts_help.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH PTS_HELP 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH PTS_HELP 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -pts help \- Displays help for pts commands +pts_help \- Displays help for pts commands .SH "SYNOPSIS" \fBpts help\fR <<\ [\fB\-topic\fR\ <\fIhelp\ string\fR+] >>> [\fB\-help\fR] .PP @@ -248,7 +248,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "PTS_HELP 1" -.IX Name "pts help - Displays help for pts commands" +.IX Name "pts_help - Displays help for pts commands" .IX Header "NAME" diff --git a/doc/man-pages/man1/pts_interactive.1 b/doc/man-pages/man1/pts_interactive.1 index cb357c1ba..77f00fd67 100644 --- a/doc/man-pages/man1/pts_interactive.1 +++ b/doc/man-pages/man1/pts_interactive.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH PTS_INTERACTIVE 1 "OpenAFS" "17/Aug/2007" "AFS Command Reference" +.TH PTS_INTERACTIVE 1 "OpenAFS" "4/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,15 +188,21 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -pts interactive \- Enters interactive mode +pts_interactive \- Enters interactive mode .SH "SYNOPSIS" \fBpts interactive\fR <<\ [\fB\-cell\fR]\ <\fIcell\ name\fR >>> [\fB\-noauth\fR] - [\fB\-force\fR] + [\fB\-auth\fR] [\fB\-localauth\fR] [\fB\-force\fR] .PP \fBpts in\fR <<\ [\fB\-c\fR]\ <\fIcell\ name\fR >>> [\fB\-n\fR] [\fB\-f\fR] .SH "DESCRIPTION" The \fBpts interactive\fR command allows the user to enter an interactive mode, useful for running bulk commands like creating new users or groups. +.PP +\fBpts interactive\fR uses the authentication state supplied on its command +line to run all bulk commands. However, if a bulk command is supplied +with authentication options such as \fB\-cell\fR, \fB\-localauth\fR, \fB\-auth\fR +or \fB\-noauth\fR then it, and all subsequent bulk commands, will be run with +those options. .SH "CAUTIONS" Prior to OpenAFS 1.4.5 and OpenAFS 1.5.23, the \fBpts interactive\fR command was only available on Unix or Linux and when OpenAFS was compiled with the @@ -221,6 +227,10 @@ if one of many operations fails. .Ip "\fB\-noauth\fR" 4 Assigns the unprivileged identity anonymous to the issuer. For more details, see the \fIpts(1)\fR manpage. +.Ip "\fB\-localauth\fR" 4 +Constructs a server ticket using a key from the local +\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the +\fB\-cell\fR or \fB\-noauth\fR options. For more details, see the \fIpts(1)\fR manpage. .SH "OUTPUT" The output is the same as if each individual command were run from the command line. @@ -271,12 +281,13 @@ the \fIptserver(8)\fR manpage .SH "COPYRIGHT" Copyright 2007 Jason Edgecombe .PP -This documentation is covered by the IBM Public License Version 1.0. This -man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. .rn }` '' .IX Title "PTS_INTERACTIVE 1" -.IX Name "pts interactive - Enters interactive mode" +.IX Name "pts_interactive - Enters interactive mode" .IX Header "NAME" @@ -294,6 +305,8 @@ man page was written by Jason Edgecombe for OpenAFS. .IX Item "\fB\-noauth\fR" +.IX Item "\fB\-localauth\fR" + .IX Header "OUTPUT" .IX Header "EXAMPLES" diff --git a/doc/man-pages/man1/pts_listentries.1 b/doc/man-pages/man1/pts_listentries.1 index 9ba99f4db..f4fdcf2a9 100644 --- a/doc/man-pages/man1/pts_listentries.1 +++ b/doc/man-pages/man1/pts_listentries.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH PTS_LISTENTRIES 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH PTS_LISTENTRIES 1 "OpenAFS" "4/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,12 +188,13 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -pts listentries \- Displays all users or groups in the Protection Database +pts_listentries \- Displays all users or groups in the Protection Database .SH "SYNOPSIS" \fBpts listentries\fR [\fB\-users\fR] [\fB\-groups\fR] <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> - [\fB\-noauth\fR] [\fB\-force\fR] [\fB\-help\fR] + [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-force\fR] [\fB\-help\fR] .PP -\fBpts liste\fR [\fB\-u\fR] [\fB\-g\fR] <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> [\fB\-n\fR] [\fB\-f\fR] [\fB\-h\fR] +\fBpts liste\fR [\fB\-u\fR] [\fB\-g\fR] <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> [\fB\-n\fR] [\fB\-l\fR] + [\fB\-f\fR] [\fB\-h\fR] .SH "DESCRIPTION" The \fBpts listentries\fR command displays the name and AFS ID of all Protection Database entries of the indicated type. It also displays the @@ -213,6 +214,10 @@ the \fIpts(1)\fR manpage. .Ip "\fB\-noauth\fR" 4 Assigns the unprivileged identity anonymous to the issuer. For more details, see the \fIpts(1)\fR manpage. +.Ip "\fB\-localauth\fR" 4 +Constructs a server ticket using a key from the local +\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the +\fB\-cell\fR or \fB\-noauth\fR options. For more details, see the \fIpts(1)\fR manpage. .Ip "\fB\-force\fR" 4 Enables the command to continue executing as far as possible when errors or other problems occur, rather than halting execution at the first error. @@ -268,7 +273,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "PTS_LISTENTRIES 1" -.IX Name "pts listentries - Displays all users or groups in the Protection Database" +.IX Name "pts_listentries - Displays all users or groups in the Protection Database" .IX Header "NAME" @@ -286,6 +291,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Item "\fB\-noauth\fR" +.IX Item "\fB\-localauth\fR" + .IX Item "\fB\-force\fR" .IX Item "\fB\-help\fR" diff --git a/doc/man-pages/man1/pts_listmax.1 b/doc/man-pages/man1/pts_listmax.1 index 82a76166e..db9bdc897 100644 --- a/doc/man-pages/man1/pts_listmax.1 +++ b/doc/man-pages/man1/pts_listmax.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH PTS_LISTMAX 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH PTS_LISTMAX 1 "OpenAFS" "4/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,11 +188,12 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -pts listmax \- Displays the max user id and max group id counters +pts_listmax \- Displays the max user id and max group id counters .SH "SYNOPSIS" -\fBpts listmax\fR <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-force\fR] [\fB\-help\fR] +\fBpts listmax\fR <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] + [\fB\-force\fR] [\fB\-help\fR] .PP -\fBpts listm\fR <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> [\fB\-n\fR] [\fB\-f\fR] [\fB\-h\fR] +\fBpts listm\fR <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> [\fB\-n\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR] .SH "DESCRIPTION" The \fBpts listmax\fR command displays the values of the \f(CWmax user id\fR and \f(CWmax group id\fR counters, which the Protection Server uses to track the @@ -214,6 +215,10 @@ the \fIpts(1)\fR manpage. .Ip "\fB\-noauth\fR" 4 Assigns the unprivileged identity anonymous to the issuer. For more details, see the \fIpts(1)\fR manpage. +.Ip "\fB\-localauth\fR" 4 +Constructs a server ticket using a key from the local +\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the +\fB\-cell\fR or \fB\-noauth\fR options. For more details, see the \fIpts(1)\fR manpage. .Ip "\fB\-force\fR" 4 Enables the command to continue executing as far as possible when errors or other problems occur, rather than halting execution at the first error. @@ -247,7 +252,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "PTS_LISTMAX 1" -.IX Name "pts listmax - Displays the max user id and max group id counters" +.IX Name "pts_listmax - Displays the max user id and max group id counters" .IX Header "NAME" @@ -261,6 +266,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Item "\fB\-noauth\fR" +.IX Item "\fB\-localauth\fR" + .IX Item "\fB\-force\fR" .IX Item "\fB\-help\fR" diff --git a/doc/man-pages/man1/pts_listowned.1 b/doc/man-pages/man1/pts_listowned.1 index be83bc0f9..2989a3626 100644 --- a/doc/man-pages/man1/pts_listowned.1 +++ b/doc/man-pages/man1/pts_listowned.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH PTS_LISTOWNED 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH PTS_LISTOWNED 1 "OpenAFS" "4/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,13 +188,13 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -pts listowned \- Show the Protection Database groups owned by a user or group +pts_listowned \- Show the Protection Database groups owned by a user or group .SH "SYNOPSIS" \fBpts listowned\fR <<\ \fB\-nameorid\fR\ <\fIuser\ or\ group\ name\ or\ id\fR+ >>> - [\-cell <\fIcell name\fR>] [\fB\-noauth\fR] [\fB\-force\fR] [\fB\-help\fR] + [\-cell <\fIcell name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-force\fR] [\fB\-help\fR] .PP \fBpts listo\fR <<\ \fB\-na\fR\ <\fIuser\ or\ group\ name\ or\ id\fR+ >>> - [\-c <\fIcell name\fR>] [\fB\-no\fR] [\fB\-f\fR] [\fB\-h\fR] + [\-c <\fIcell name\fR>] [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR] .SH "DESCRIPTION" The \fBpts listowned\fR command lists the groups owned by each user or group specified by the \fB\-nameorid\fR argument. @@ -219,6 +219,10 @@ the \fIpts(1)\fR manpage. .Ip "\fB\-noauth\fR" 4 Assigns the unprivileged identity anonymous to the issuer. For more details, see the \fIpts(1)\fR manpage. +.Ip "\fB\-localauth\fR" 4 +Constructs a server ticket using a key from the local +\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the +\fB\-cell\fR or \fB\-noauth\fR options. For more details, see the \fIpts(1)\fR manpage. .Ip "\fB\-force\fR" 4 Enables the command to continue executing as far as possible when errors or other problems occur, rather than halting execution at the first error. @@ -288,7 +292,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "PTS_LISTOWNED 1" -.IX Name "pts listowned - Show the Protection Database groups owned by a user or group" +.IX Name "pts_listowned - Show the Protection Database groups owned by a user or group" .IX Header "NAME" @@ -304,6 +308,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Item "\fB\-noauth\fR" +.IX Item "\fB\-localauth\fR" + .IX Item "\fB\-force\fR" .IX Item "\fB\-help\fR" diff --git a/doc/man-pages/man1/pts_membership.1 b/doc/man-pages/man1/pts_membership.1 index 13b088104..331a9b0eb 100644 --- a/doc/man-pages/man1/pts_membership.1 +++ b/doc/man-pages/man1/pts_membership.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH PTS_MEMBERSHIP 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH PTS_MEMBERSHIP 1 "OpenAFS" "4/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,19 +188,20 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -pts membership \- Displays the membership list for a user or group +pts_membership \- Displays the membership list for a user or group .SH "SYNOPSIS" \fBpts membership\fR <<\ \fB\-nameorid\fR\ <\fIuser\ or\ group\ name\ or\ id\fR+ >>> - <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-force\fR] [\fB\-help\fR] + <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-localauth\fR] [\fB\-noauth\fR] + [\fB\-force\fR] [\fB\-help\fR] .PP \fBpts m\fR <<\ \fB\-na\fR\ <\fIuser\ or\ group\ name\ or\ id\fR+ >>> <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> - [\fB\-no\fR] [\fB\-f\fR] [\fB\-h\fR] + [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR] .PP \fBpts groups\fR <<\ \fB\-na\fR\ <\fIuser\ or\ group\ name\ or\ id\fR+ >>> [\-c <\fIcell name\fR>] - [\fB\-no\fR] [\fB\-f\fR] [\fB\-h\fR] + [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR] .PP \fBpts g\fR <<\ \fB\-na\fR\ <\fIuser\ or\ group\ name\ or\ id\fR+ >>> <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> - [\fB\-no\fR] [\fB\-f\fR] [\fB\-h\fR] + [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR] .SH "DESCRIPTION" The \fBpts membership\fR command lists the groups to which each user or machine specified by the \fB\-nameorid\fR argument belongs, or lists the users @@ -227,6 +228,10 @@ the \fIpts(1)\fR manpage. .Ip "\fB\-noauth\fR" 4 Assigns the unprivileged identity anonymous to the issuer. For more details, see the \fIpts(1)\fR manpage. +.Ip "\fB\-localauth\fR" 4 +Constructs a server ticket using a key from the local +\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the +\fB\-cell\fR or \fB\-noauth\fR options. For more details, see the \fIpts(1)\fR manpage. .Ip "\fB\-force\fR" 4 Enables the command to continue executing as far as possible when errors or other problems occur, rather than halting execution at the first error. @@ -307,7 +312,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "PTS_MEMBERSHIP 1" -.IX Name "pts membership - Displays the membership list for a user or group" +.IX Name "pts_membership - Displays the membership list for a user or group" .IX Header "NAME" @@ -323,6 +328,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Item "\fB\-noauth\fR" +.IX Item "\fB\-localauth\fR" + .IX Item "\fB\-force\fR" .IX Item "\fB\-help\fR" diff --git a/doc/man-pages/man1/pts_quit.1 b/doc/man-pages/man1/pts_quit.1 index 892f641dd..735786755 100644 --- a/doc/man-pages/man1/pts_quit.1 +++ b/doc/man-pages/man1/pts_quit.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH PTS_QUIT 1 "OpenAFS" "17/Aug/2007" "AFS Command Reference" +.TH PTS_QUIT 1 "OpenAFS" "4/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,11 +188,12 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -pts quit \- Exit from pts interactive mode +pts_quit \- Exit from pts interactive mode .SH "SYNOPSIS" -\fBpts quit\fR <<\ [\fB\-cell\fR]\ <\fIcell\ name\fR >>> [\fB\-noauth\fR] [\fB\-force\fR] +\fBpts quit\fR <<\ [\fB\-cell\fR]\ <\fIcell\ name\fR >>> [\fB\-noauth\fR] [\fB\-localauth\fR] + [\fB\-force\fR] .PP -\fBpts q\fR <<\ [\fB\-c\fR]\ <\fIcell\ name\fR >>> [\fB\-n\fR] [\fB\-f\fR] +\fBpts q\fR <<\ [\fB\-c\fR]\ <\fIcell\ name\fR >>> [\fB\-n\fR] [\fB\-l\fR] [\fB\-f\fR] .SH "DESCRIPTION" The \fBpts quit\fR command exits from \fBpts interactive\fR mode. The command can be run from the command line or interactively, but on the command line @@ -211,6 +212,10 @@ the \fIpts(1)\fR manpage. .Ip "\fB\-force\fR" 4 Enables the command to continue executing as far as possible when errors or other problems occur, rather than halting execution at the first error. +.Ip "\fB\-localauth\fR" 4 +Constructs a server ticket using a key from the local +\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the +\fB\-cell\fR or \fB\-noauth\fR options. For more details, see the \fIpts(1)\fR manpage. .Ip "\fB\-noauth\fR" 4 Assigns the unprivileged identity anonymous to the issuer. For more details, see the \fIpts(1)\fR manpage. @@ -230,12 +235,13 @@ the \fIpts_interactive(1)\fR manpage .SH "COPYRIGHT" Copyright 2007 Jason Edgecombe .PP -This documentation is covered by the IBM Public License Version 1.0. This -man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. .rn }` '' .IX Title "PTS_QUIT 1" -.IX Name "pts quit - Exit from pts interactive mode" +.IX Name "pts_quit - Exit from pts interactive mode" .IX Header "NAME" @@ -251,6 +257,8 @@ man page was written by Jason Edgecombe for OpenAFS. .IX Item "\fB\-force\fR" +.IX Item "\fB\-localauth\fR" + .IX Item "\fB\-noauth\fR" .IX Header "OUTPUT" diff --git a/doc/man-pages/man1/pts_removeuser.1 b/doc/man-pages/man1/pts_removeuser.1 index 26f2ce789..3e677f023 100644 --- a/doc/man-pages/man1/pts_removeuser.1 +++ b/doc/man-pages/man1/pts_removeuser.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH PTS_REMOVEUSER 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH PTS_REMOVEUSER 1 "OpenAFS" "4/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,13 +188,14 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -pts removeuser \- Removes a user from a Protection Database group +pts_removeuser \- Removes a user from a Protection Database group .SH "SYNOPSIS" \fBpts removeuser\fR <<\ \fB\-user\fR\ <\fIuser\ name\fR+ >>> <<\ \fB\-group\fR\ <\fIgroup\ name\fR+ >>> - <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-force\fR] [\fB\-help\fR] + <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-force\fR] + [\fB\-help\fR] .PP \fBpts rem\fR <<\ \fB\-u\fR\ <\fIuser\ name\fR+ >>> <<\ \fB\-g\fR\ <\fIgroup\ name\fR+ >>> - <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> [\fB\-n\fR] [\fB\-f\fR] [\fB\-h\fR] + <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> [\fB\-n\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR] .SH "DESCRIPTION" The \fBpts removeuser\fR command removes each user or machine named by the \fB\-user\fR argument from each group named by the \fB\-group\fR argument. @@ -220,6 +221,10 @@ the \fIpts(1)\fR manpage. .Ip "\fB\-noauth\fR" 4 Assigns the unprivileged identity anonymous to the issuer. For more details, see the \fIpts(1)\fR manpage. +.Ip "\fB\-localauth\fR" 4 +Constructs a server ticket using a key from the local +\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the +\fB\-cell\fR or \fB\-noauth\fR options. For more details, see the \fIpts(1)\fR manpage. .Ip "\fB\-force\fR" 4 Enables the command to continue executing as far as possible when errors or other problems occur, rather than halting execution at the first error. @@ -267,7 +272,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "PTS_REMOVEUSER 1" -.IX Name "pts removeuser - Removes a user from a Protection Database group" +.IX Name "pts_removeuser - Removes a user from a Protection Database group" .IX Header "NAME" @@ -287,6 +292,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Item "\fB\-noauth\fR" +.IX Item "\fB\-localauth\fR" + .IX Item "\fB\-force\fR" .IX Item "\fB\-help\fR" diff --git a/doc/man-pages/man1/pts_rename.1 b/doc/man-pages/man1/pts_rename.1 index adbc0aae6..daee6382c 100644 --- a/doc/man-pages/man1/pts_rename.1 +++ b/doc/man-pages/man1/pts_rename.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH PTS_RENAME 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH PTS_RENAME 1 "OpenAFS" "4/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,13 +188,14 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -pts rename \- Changes the name of a Protection Database entry +pts_rename \- Changes the name of a Protection Database entry .SH "SYNOPSIS" \fBpts rename\fR <<\ \fB\-oldname\fR\ <\fIold\ name\fR >>> <<\ \fB\-newname\fR\ <\fInew\ name\fR >>> - <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-force\fR] [\fB\-help\fR] + <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] + [\fB\-force\fR] [\fB\-help\fR] .PP \fBpts ren\fR <<\ \fB\-o\fR\ <\fIold\ name\fR >>> <<\ \fB\-ne\fR\ <\fInew\ name\fR >>> <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> - [\fB\-no\fR] [\fB\-f\fR] [\fB\-h\fR] + [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR] .SH "DESCRIPTION" The \fBpts rename\fR command changes the name of the user, machine, or group entry specified by the \fB\-oldname\fR argument to the name specified by the @@ -233,6 +234,10 @@ the \fIpts(1)\fR manpage. .Ip "\fB\-noauth\fR" 4 Assigns the unprivileged identity anonymous to the issuer. For more details, see the \fIpts(1)\fR manpage. +.Ip "\fB\-localauth\fR" 4 +Constructs a server ticket using a key from the local +\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the +\fB\-cell\fR or \fB\-noauth\fR options. For more details, see the \fIpts(1)\fR manpage. .Ip "\fB\-force\fR" 4 Enables the command to continue executing as far as possible when errors or other problems occur, rather than halting execution at the first error. @@ -273,7 +278,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "PTS_RENAME 1" -.IX Name "pts rename - Changes the name of a Protection Database entry" +.IX Name "pts_rename - Changes the name of a Protection Database entry" .IX Header "NAME" @@ -293,6 +298,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Item "\fB\-noauth\fR" +.IX Item "\fB\-localauth\fR" + .IX Item "\fB\-force\fR" .IX Item "\fB\-help\fR" diff --git a/doc/man-pages/man1/pts_setfields.1 b/doc/man-pages/man1/pts_setfields.1 index 8137d9830..05bf39975 100644 --- a/doc/man-pages/man1/pts_setfields.1 +++ b/doc/man-pages/man1/pts_setfields.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH PTS_SETFIELDS 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH PTS_SETFIELDS 1 "OpenAFS" "4/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,17 +188,18 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -pts setfields \- Sets privacy flags or quota for a Protection Database entry +pts_setfields \- Sets privacy flags or quota for a Protection Database entry .SH "SYNOPSIS" \fBpts setfields\fR <<\ \fB\-nameorid\fR\ <\fIuser\ or\ group\ name\ or\ id\fR+ >>> <<\ [\fB\-access\fR\ <\fIset\ privacy\ flags\fR] >>> <<\ [\fB\-groupquota\fR\ <\fIset\ limit\ on\ group\ creation\fR] >>> - <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-force\fR] [\fB\-help\fR] + <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] + [\fB\-force\fR] [\fB\-help\fR] .PP \fBpts setf\fR <<\ \fB\-na\fR\ <\fIuser\ or\ group\ name\ or\ id\fR+ >>> <<\ [\fB\-a\fR\ <\fIset\ privacy\ flags\fR] >>> <<\ [\fB\-g\fR\ <\fIset\ limit\ on\ group\ creation\fR] >>> <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> - [\fB\-no\fR] [\fB\-f\fR] [\fB\-h\fR] + [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR] .SH "DESCRIPTION" The \fBpts setfields\fR command sets the group-creation quota, the privacy flags, or both, associated with each user, machine, or group entry @@ -307,6 +308,10 @@ the \fIpts(1)\fR manpage. .Ip "\fB\-noauth\fR" 4 Assigns the unprivileged identity anonymous to the issuer. For more details, see the \fIpts(1)\fR manpage. +.Ip "\fB\-localauth\fR" 4 +Constructs a server ticket using a key from the local +\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the +\fB\-cell\fR or \fB\-noauth\fR options. For more details, see the \fIpts(1)\fR manpage. .Ip "\fB\-force\fR" 4 Enables the command to continue executing as far as possible when errors or other problems occur, rather than halting execution at the first error. @@ -352,7 +357,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "PTS_SETFIELDS 1" -.IX Name "pts setfields - Sets privacy flags or quota for a Protection Database entry" +.IX Name "pts_setfields - Sets privacy flags or quota for a Protection Database entry" .IX Header "NAME" @@ -408,6 +413,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Item "\fB\-noauth\fR" +.IX Item "\fB\-localauth\fR" + .IX Item "\fB\-force\fR" .IX Item "\fB\-help\fR" diff --git a/doc/man-pages/man1/pts_setmax.1 b/doc/man-pages/man1/pts_setmax.1 index 2e1bfea03..e45d330a6 100644 --- a/doc/man-pages/man1/pts_setmax.1 +++ b/doc/man-pages/man1/pts_setmax.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH PTS_SETMAX 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH PTS_SETMAX 1 "OpenAFS" "4/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,13 +188,13 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -pts setmax \- Sets the value of the max group id or max user id counter +pts_setmax \- Sets the value of the max group id or max user id counter .SH "SYNOPSIS" \fBpts setmax\fR <<\ [\fB\-group\fR\ <\fIgroup\ max\fR] >>> <<\ [\fB\-user\fR\ <\fIuser\ max\fR] >>> - <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-force\fR] [\fB\-help\fR] + <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-force\fR] [\fB\-help\fR] .PP \fBpts setm\fR [\fB\-g\fR \fIgroup max\fR>] <<\ [\fB\-u\fR\ <\fIuser\ max\fR] >>> - <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> [\fB\-n\fR] [\fB\-f\fR] [\fB\-h\fR] + <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> [\fB\-n\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR] .SH "DESCRIPTION" The \fBpts setmax\fR command sets the value of one or both counters that track the IDs the Protection Server allocates to new users, machines, or @@ -222,6 +222,10 @@ the \fIpts(1)\fR manpage. .Ip "\fB\-noauth\fR" 4 Assigns the unprivileged identity anonymous to the issuer. For more details, see the \fIpts(1)\fR manpage. +.Ip "\fB\-localauth\fR" 4 +Constructs a server ticket using a key from the local +\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the +\fB\-cell\fR or \fB\-noauth\fR options. For more details, see the \fIpts(1)\fR manpage. .Ip "\fB\-force\fR" 4 Enables the command to continue executing as far as possible when errors or other problems occur, rather than halting execution at the first error. @@ -251,7 +255,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "PTS_SETMAX 1" -.IX Name "pts setmax - Sets the value of the max group id or max user id counter" +.IX Name "pts_setmax - Sets the value of the max group id or max user id counter" .IX Header "NAME" @@ -269,6 +273,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Item "\fB\-noauth\fR" +.IX Item "\fB\-localauth\fR" + .IX Item "\fB\-force\fR" .IX Item "\fB\-help\fR" diff --git a/doc/man-pages/man1/pts_sleep.1 b/doc/man-pages/man1/pts_sleep.1 index 05db0ac84..4cbc23216 100644 --- a/doc/man-pages/man1/pts_sleep.1 +++ b/doc/man-pages/man1/pts_sleep.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH PTS_SLEEP 1 "OpenAFS" "17/Aug/2007" "AFS Command Reference" +.TH PTS_SLEEP 1 "OpenAFS" "4/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,13 +188,13 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -pts sleep \- Pauses for a few seconds +pts_sleep \- Pauses for a few seconds .SH "SYNOPSIS" \fBpts sleep\fR <<\ [\fB\-delay\fR]\ <\fI#\ of\ seconds\fR >>> - <<\ [\fB\-cell\fR]\ <\fIcell\ name\fR >>> [\fB\-noauth\fR] [\fB\-force\fR] + <<\ [\fB\-cell\fR]\ <\fIcell\ name\fR >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-force\fR] .PP \fBpts sl\fR <<\ [\fB\-d\fR]\ <\fI#\ of\ seconds\fR >>> <<\ [\fB\-c\fR]\ <\fIcell\ name\fR >>> - [\fB\-n\fR] [\fB\-f\fR] + [\fB\-n\fR] [\fB\-l\fR] [\fB\-f\fR] .SH "DESCRIPTION" The \fBpts sleep\fR pauses for a specified number of seconds. The command can be run from the command line or interactively, although from the command @@ -207,7 +207,7 @@ only available on Unix or Linux and when OpenAFS was compiled with the supergroups option (disabled by default). As of OpenAFS 1.4.5 and 1.5.23, it is always available. .SH "OPTIONS" -Although they have no effect, \fBpts quit\fR takes the following standard +Although they have no effect, \fBpts sleep\fR takes the following standard \fBpts\fR options: .Ip "\fB\-cell\fR <\fIcell name\fR>" 4 Names the cell in which to run the command. For more details, see @@ -218,6 +218,10 @@ or other problems occur, rather than halting execution at the first error. .Ip "\fB\-noauth\fR" 4 Assigns the unprivileged identity anonymous to the issuer. For more details, see the \fIpts(1)\fR manpage. +.Ip "\fB\-localauth\fR" 4 +Constructs a server ticket using a key from the local +\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the +\fB\-cell\fR or \fB\-noauth\fR options. For more details, see the \fIpts(1)\fR manpage. .SH "OUTPUT" This command produces no output. .SH "EXAMPLES" @@ -235,12 +239,13 @@ the \fIpts_interactive(1)\fR manpage .SH "COPYRIGHT" Copyright 2007 Jason Edgecombe .PP -This documentation is covered by the IBM Public License Version 1.0. This -man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. .rn }` '' .IX Title "PTS_SLEEP 1" -.IX Name "pts sleep - Pauses for a few seconds" +.IX Name "pts_sleep - Pauses for a few seconds" .IX Header "NAME" @@ -258,6 +263,8 @@ man page was written by Jason Edgecombe for OpenAFS. .IX Item "\fB\-noauth\fR" +.IX Item "\fB\-localauth\fR" + .IX Header "OUTPUT" .IX Header "EXAMPLES" diff --git a/doc/man-pages/man1/pts_source.1 b/doc/man-pages/man1/pts_source.1 index ba3247ae6..76391ba3f 100644 --- a/doc/man-pages/man1/pts_source.1 +++ b/doc/man-pages/man1/pts_source.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH PTS_SOURCE 1 "OpenAFS" "17/Aug/2007" "AFS Command Reference" +.TH PTS_SOURCE 1 "OpenAFS" "4/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,13 +188,13 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -pts source \- Read pts commands from a file +pts_source \- Read pts commands from a file .SH "SYNOPSIS" \fBpts source\fR <<\ [\fB\-file\fR]\ <\fIfile\ name\fR >>> <<\ [\fB\-cell\fR]\ <\fIcell\ name\fR >>> - [\fB\-noauth\fR] [\fB\-force\fR] + [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-force\fR] .PP \fBpts so\fR <<\ [\fB\-f\fR]\ <\fIfile\ name\fR >>> <<\ [\fB\-c\fR]\ <\fIcell\ name\fR >>> - [\fB\-n\fR] [\fB\-f\fR] + [\fB\-n\fR] [\fB\-l\fR] [\fB\-f\fR] .SH "DESCRIPTION" The \fBpts source\fR runs commands from a file as if they were typed in \fBpts interactive\fR mode. The command can be run from the command line or @@ -219,6 +219,10 @@ if one of many operations fails. .Ip "\fB\-noauth\fR" 4 Assigns the unprivileged identity anonymous to the issuer. For more details, see the \fIpts(1)\fR manpage. +.Ip "\fB\-localauth\fR" 4 +Constructs a server ticket using a key from the local +\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the +\fB\-cell\fR or \fB\-noauth\fR options. For more details, see the \fIpts(1)\fR manpage. .SH "OUTPUT" This command shows the output of each comand in the file as if it were run normally. @@ -242,12 +246,13 @@ the \fIpts_sleep(1)\fR manpage .SH "COPYRIGHT" Copyright 2007 Jason Edgecombe .PP -This documentation is covered by the IBM Public License Version 1.0. This -man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. .rn }` '' .IX Title "PTS_SOURCE 1" -.IX Name "pts source - Read pts commands from a file" +.IX Name "pts_source - Read pts commands from a file" .IX Header "NAME" @@ -267,6 +272,8 @@ man page was written by Jason Edgecombe for OpenAFS. .IX Item "\fB\-noauth\fR" +.IX Item "\fB\-localauth\fR" + .IX Header "OUTPUT" .IX Header "EXAMPLES" diff --git a/doc/man-pages/man1/rxdebug.1 b/doc/man-pages/man1/rxdebug.1 index 61a4e06e7..62a4ba18b 100644 --- a/doc/man-pages/man1/rxdebug.1 +++ b/doc/man-pages/man1/rxdebug.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH RXDEBUG 1 "OpenAFS" "4/Aug/2006" "AFS Command Reference" +.TH RXDEBUG 1 "OpenAFS" "25/Dec/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -299,6 +299,26 @@ provided by the \fB\-noconns\fR flag). Adding other options produces additional information as described in the \fIOPTIONS\fR manpage. The output is intended for debugging purposes and is meaningful to someone familiar with the implementation of Rx. +.SH "EXAMPLES" +The following command shows Rx statistics on the server 192.168.1.100: +.PP +.Vb 7 +\& % rxdebug 192.168.1.100 +\& Trying 192.168.1.100 (port 7000): +\& Free packets: 265, packet reclaims: 0, calls: 0, used FDs: 34 +\& not waiting for packets. +\& 0 calls waiting for a thread +\& 11 threads are idle +\& Done. +.Ve +The following command shows the OpenAFS version running on the server +192.168.1.100: +.PP +.Vb 3 +\& % rxdebug 192.168.1.100 -version +\& Trying 192.168.1.100 (port 7000): +\& AFS version: OpenAFS 1.4.2fc2 built 2006-08-31 +.Ve .SH "PRIVILEGE REQUIRED" None. .SH "SEE ALSO" @@ -390,6 +410,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Header "OUTPUT" +.IX Header "EXAMPLES" + .IX Header "PRIVILEGE REQUIRED" .IX Header "SEE ALSO" diff --git a/doc/man-pages/man1/symlink.1 b/doc/man-pages/man1/symlink.1 new file mode 100644 index 000000000..4ee49999e --- /dev/null +++ b/doc/man-pages/man1/symlink.1 @@ -0,0 +1,233 @@ +.rn '' }` +''' $RCSfile$$Revision$$Date$ +''' +''' $Log$ +''' +.de Sh +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp +.if t .sp .5v +.if n .sp +.. +.de Ip +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.de Vb +.ft CW +.nf +.ne \\$1 +.. +.de Ve +.ft R + +.fi +.. +''' +''' +''' Set up \*(-- to give an unbreakable dash; +''' string Tr holds user defined translation string. +''' Bell System Logo is used as a dummy character. +''' +.tr \(*W-|\(bv\*(Tr +.ie n \{\ +.ds -- \(*W- +.ds PI pi +.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +.ds L" "" +.ds R" "" +''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of +''' \*(L" and \*(R", except that they are used on ".xx" lines, +''' such as .IP and .SH, which do another additional levels of +''' double-quote interpretation +.ds M" """ +.ds S" """ +.ds N" """"" +.ds T" """"" +.ds L' ' +.ds R' ' +.ds M' ' +.ds S' ' +.ds N' ' +.ds T' ' +'br\} +.el\{\ +.ds -- \(em\| +.tr \*(Tr +.ds L" `` +.ds R" '' +.ds M" `` +.ds S" '' +.ds N" `` +.ds T" '' +.ds L' ` +.ds R' ' +.ds M' ` +.ds S' ' +.ds N' ` +.ds T' ' +.ds PI \(*p +'br\} +.\" If the F register is turned on, we'll generate +.\" index entries out stderr for the following things: +.\" TH Title +.\" SH Header +.\" Sh Subsection +.\" Ip Item +.\" X<> Xref (embedded +.\" Of course, you have to process the output yourself +.\" in some meaninful fashion. +.if \nF \{ +.de IX +.tm Index:\\$1\t\\n%\t"\\$2" +.. +.nr % 0 +.rr F +.\} +.TH SYMLINK 1 "OpenAFS" "25/Dec/2007" "AFS Command Reference" +.UC +.if n .hy 0 +.if n .na +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.de CQ \" put $1 in typewriter font +.ft CW +'if n "\c +'if t \\&\\$1\c +'if n \\&\\$1\c +'if n \&" +\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 +'.ft R +.. +.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 +. \" AM - accent mark definitions +.bd B 3 +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds ? ? +. ds ! ! +. ds / +. ds q +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' +. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] +.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' +.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' +.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +.ds oe o\h'-(\w'o'u*4/10)'e +.ds Oe O\h'-(\w'O'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds v \h'-1'\o'\(aa\(ga' +. ds _ \h'-1'^ +. ds . \h'-1'. +. ds 3 3 +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +. ds oe oe +. ds Oe OE +.\} +.rm #[ #] #H #V #F C +.SH "NAME" +symlink \- Introduction to the symlink command suite +.SH "DESCRIPTION" +The \fBsymlink\fR command creates, lists and removes Unix-style symbolic links +(symlinks) in OpenAFS filespace from a platform that does not support +symlinks, like Windows. The \fBsymlink make\fR command is equivalent to +\f(CWln -s\fR on a Unix platform. \fBsymlink\fR can manipulate symlinks created +by \f(CWln -s\fR on Unix and vice versa. +.SH "CAUTIONS" +The \fBsymlink\fR commands are only available on Windows platforms. On +other platforms, use the \f(CWln -s\fR command. +.SH "OPTIONS" +.Ip "\fB\-help\fR" 4 +Prints the online help for this command. All other valid options are +ignored. +.SH "SEE ALSO" +the \fIsymlink_list(1)\fR manpage, +the \fIsymlink_make(1)\fR manpage, +the \fIsymlink_remove(1)\fR manpage +.SH "COPYRIGHT" +Copyright 2007 Jason Edgecombe +.PP +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. + +.rn }` '' +.IX Title "SYMLINK 1" +.IX Name "symlink - Introduction to the symlink command suite" + +.IX Header "NAME" + +.IX Header "DESCRIPTION" + +.IX Header "CAUTIONS" + +.IX Header "OPTIONS" + +.IX Item "\fB\-help\fR" + +.IX Header "SEE ALSO" + +.IX Header "COPYRIGHT" + diff --git a/doc/man-pages/man1/symlink_list.1 b/doc/man-pages/man1/symlink_list.1 new file mode 100644 index 000000000..828967199 --- /dev/null +++ b/doc/man-pages/man1/symlink_list.1 @@ -0,0 +1,271 @@ +.rn '' }` +''' $RCSfile$$Revision$$Date$ +''' +''' $Log$ +''' +.de Sh +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp +.if t .sp .5v +.if n .sp +.. +.de Ip +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.de Vb +.ft CW +.nf +.ne \\$1 +.. +.de Ve +.ft R + +.fi +.. +''' +''' +''' Set up \*(-- to give an unbreakable dash; +''' string Tr holds user defined translation string. +''' Bell System Logo is used as a dummy character. +''' +.tr \(*W-|\(bv\*(Tr +.ie n \{\ +.ds -- \(*W- +.ds PI pi +.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +.ds L" "" +.ds R" "" +''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of +''' \*(L" and \*(R", except that they are used on ".xx" lines, +''' such as .IP and .SH, which do another additional levels of +''' double-quote interpretation +.ds M" """ +.ds S" """ +.ds N" """"" +.ds T" """"" +.ds L' ' +.ds R' ' +.ds M' ' +.ds S' ' +.ds N' ' +.ds T' ' +'br\} +.el\{\ +.ds -- \(em\| +.tr \*(Tr +.ds L" `` +.ds R" '' +.ds M" `` +.ds S" '' +.ds N" `` +.ds T" '' +.ds L' ` +.ds R' ' +.ds M' ` +.ds S' ' +.ds N' ` +.ds T' ' +.ds PI \(*p +'br\} +.\" If the F register is turned on, we'll generate +.\" index entries out stderr for the following things: +.\" TH Title +.\" SH Header +.\" Sh Subsection +.\" Ip Item +.\" X<> Xref (embedded +.\" Of course, you have to process the output yourself +.\" in some meaninful fashion. +.if \nF \{ +.de IX +.tm Index:\\$1\t\\n%\t"\\$2" +.. +.nr % 0 +.rr F +.\} +.TH SYMLINK_LIST 1 "OpenAFS" "25/Dec/2007" "AFS Command Reference" +.UC +.if n .hy 0 +.if n .na +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.de CQ \" put $1 in typewriter font +.ft CW +'if n "\c +'if t \\&\\$1\c +'if n \\&\\$1\c +'if n \&" +\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 +'.ft R +.. +.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 +. \" AM - accent mark definitions +.bd B 3 +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds ? ? +. ds ! ! +. ds / +. ds q +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' +. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] +.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' +.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' +.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +.ds oe o\h'-(\w'o'u*4/10)'e +.ds Oe O\h'-(\w'O'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds v \h'-1'\o'\(aa\(ga' +. ds _ \h'-1'^ +. ds . \h'-1'. +. ds 3 3 +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +. ds oe oe +. ds Oe OE +.\} +.rm #[ #] #H #V #F C +.SH "NAME" +symlink_list \- Show the file to which a symlink points +.SH "SYNOPSIS" +\fBsymlink list\fR <<\ [\fB\-name\fR]\ <\fIfile\ name\fR >>> [\fB\-help\fR] +.SH "DESCRIPTION" +The \fBsymlink list\fR command shows if a file is a symbolic link and, if so, +shows to which file the link points. +.SH "CAUTIONS" +The \fBsymlink\fR commands are only available on Windows platforms. On other +platforms, use the \fBreadlink\fR command. +.SH "OPTIONS" +.Ip "[\fB\-name\fR] <\fIfile name\fR>" 4 +Specify one or more symbolic links to list. The \f(CW-name\fR is optional, but +the file name is not. +.Ip "\fB\-help\fR" 4 +Prints the online help for this command. All other valid options are +ignored. +.SH "OUTPUT" +This command prints \*(L"'file\*(R' is a symlink to \*(L'otherfile'\*(R" or \*(L"'file\*(R' is +not a symlink.\*(R" +.SH "EXAMPLES" +Given that file \f(CWmylink\fR is a link pointing to file \f(CWmyfile\fR, the +following commands will list the files: +.PP +.Vb 2 +\& % symlink list -name mylink +\& 'mylink' is a symlink to 'myfile' +.Ve +.Vb 2 +\& % symlink list mylink +\& 'mylink' is a symlink to 'myfile' +.Ve +.Vb 2 +\& % symlink list -name myfile +\& 'myfile' is not a symlink. +.Ve +.Vb 2 +\& % symlink list myfile +\& 'myfile' is not a symlink. +.Ve +.SH "PRIVILEGE REQUIRED" +The issuer must have the \f(CWl\fR (look) and \f(CWr\fR (read) permissions on the ACL +of the directory that houses the symlink. +.SH "SEE ALSO" +the \fIsymlink(1)\fR manpage, +the \fIsymlink_make(1)\fR manpage, +the \fIsymlink_remove(1)\fR manpage +.SH "COPYRIGHT" +Copyright 2007 Jason Edgecombe +.PP +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. + +.rn }` '' +.IX Title "SYMLINK_LIST 1" +.IX Name "symlink_list - Show the file to which a symlink points" + +.IX Header "NAME" + +.IX Header "SYNOPSIS" + +.IX Header "DESCRIPTION" + +.IX Header "CAUTIONS" + +.IX Header "OPTIONS" + +.IX Item "[\fB\-name\fR] <\fIfile name\fR>" + +.IX Item "\fB\-help\fR" + +.IX Header "OUTPUT" + +.IX Header "EXAMPLES" + +.IX Header "PRIVILEGE REQUIRED" + +.IX Header "SEE ALSO" + +.IX Header "COPYRIGHT" + diff --git a/doc/man-pages/man1/symlink_make.1 b/doc/man-pages/man1/symlink_make.1 new file mode 100644 index 000000000..b4ccc485d --- /dev/null +++ b/doc/man-pages/man1/symlink_make.1 @@ -0,0 +1,265 @@ +.rn '' }` +''' $RCSfile$$Revision$$Date$ +''' +''' $Log$ +''' +.de Sh +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp +.if t .sp .5v +.if n .sp +.. +.de Ip +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.de Vb +.ft CW +.nf +.ne \\$1 +.. +.de Ve +.ft R + +.fi +.. +''' +''' +''' Set up \*(-- to give an unbreakable dash; +''' string Tr holds user defined translation string. +''' Bell System Logo is used as a dummy character. +''' +.tr \(*W-|\(bv\*(Tr +.ie n \{\ +.ds -- \(*W- +.ds PI pi +.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +.ds L" "" +.ds R" "" +''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of +''' \*(L" and \*(R", except that they are used on ".xx" lines, +''' such as .IP and .SH, which do another additional levels of +''' double-quote interpretation +.ds M" """ +.ds S" """ +.ds N" """"" +.ds T" """"" +.ds L' ' +.ds R' ' +.ds M' ' +.ds S' ' +.ds N' ' +.ds T' ' +'br\} +.el\{\ +.ds -- \(em\| +.tr \*(Tr +.ds L" `` +.ds R" '' +.ds M" `` +.ds S" '' +.ds N" `` +.ds T" '' +.ds L' ` +.ds R' ' +.ds M' ` +.ds S' ' +.ds N' ` +.ds T' ' +.ds PI \(*p +'br\} +.\" If the F register is turned on, we'll generate +.\" index entries out stderr for the following things: +.\" TH Title +.\" SH Header +.\" Sh Subsection +.\" Ip Item +.\" X<> Xref (embedded +.\" Of course, you have to process the output yourself +.\" in some meaninful fashion. +.if \nF \{ +.de IX +.tm Index:\\$1\t\\n%\t"\\$2" +.. +.nr % 0 +.rr F +.\} +.TH SYMLINK_MAKE 1 "OpenAFS" "25/Dec/2007" "AFS Command Reference" +.UC +.if n .hy 0 +.if n .na +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.de CQ \" put $1 in typewriter font +.ft CW +'if n "\c +'if t \\&\\$1\c +'if n \\&\\$1\c +'if n \&" +\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 +'.ft R +.. +.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 +. \" AM - accent mark definitions +.bd B 3 +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds ? ? +. ds ! ! +. ds / +. ds q +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' +. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] +.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' +.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' +.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +.ds oe o\h'-(\w'o'u*4/10)'e +.ds Oe O\h'-(\w'O'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds v \h'-1'\o'\(aa\(ga' +. ds _ \h'-1'^ +. ds . \h'-1'. +. ds 3 3 +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +. ds oe oe +. ds Oe OE +.\} +.rm #[ #] #H #V #F C +.SH "NAME" +symlink_make \- Create a symbolic link +.SH "SYNOPSIS" +\fBsymlink make\fR <<\ [\fB\-name\fR]\ <\fIfile\ name\fR >>> + <<\ [\fB\-to\fR]\ <\fIfile\ name\fR >>> [\fB\-help\fR] +.SH "DESCRIPTION" +The \fBsymlink make\fR command creates a new symbolic link to a file. The file +to which the link points does not have to exist when the link is created. +.SH "CAUTIONS" +The \fBsymlink\fR commands are only available on Windows platforms. On other +platforms, use the \f(CWln -s\fR command. +.SH "OPTIONS" +.Ip "[\fB\-name\fR] <\fIfile name\fR>" 4 +Specify the name of the new link. \fB\-name\fR is optional, but the file name +is not. +.Ip "[\fB\-to\fR] <\fIfile name\fR>" 4 +Specify the file to which the new link points. \fB\-to\fR is optional, but the +file name is not. +.Ip "\fB\-help\fR" 4 +Prints the online help for this command. All other valid options are +ignored. +.SH "OUTPUT" +Prints the online help for this command. All other valid options are +ignored. +.SH "EXAMPLES" +In order to create a link named \f(CWmylink\fR pointing to the file \f(CWmyfile\fR, +use one of the following commands: +.PP +.Vb 2 +\& % symlink make -name mylink -to myfile +\& % symlink make mylink myfile +.Ve +.SH "PRIVILEGE REQUIRED" +The issuer must have the \f(CWl\fR (look) and \f(CWi\fR (insert) permissions on the +ACL of the directory that houses the symlink. +.SH "SEE ALSO" +the \fIsymlink(1)\fR manpage, +the \fIsymlink_list(1)\fR manpage, +the \fIsymlink_remove(1)\fR manpage +.SH "COPYRIGHT" +Copyright 2007 Jason Edgecombe +.PP +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. + +.rn }` '' +.IX Title "SYMLINK_MAKE 1" +.IX Name "symlink_make - Create a symbolic link" + +.IX Header "NAME" + +.IX Header "SYNOPSIS" + +.IX Header "DESCRIPTION" + +.IX Header "CAUTIONS" + +.IX Header "OPTIONS" + +.IX Item "[\fB\-name\fR] <\fIfile name\fR>" + +.IX Item "[\fB\-to\fR] <\fIfile name\fR>" + +.IX Item "\fB\-help\fR" + +.IX Header "OUTPUT" + +.IX Header "EXAMPLES" + +.IX Header "PRIVILEGE REQUIRED" + +.IX Header "SEE ALSO" + +.IX Header "COPYRIGHT" + diff --git a/doc/man-pages/man1/symlink_remove.1 b/doc/man-pages/man1/symlink_remove.1 new file mode 100644 index 000000000..a8b914077 --- /dev/null +++ b/doc/man-pages/man1/symlink_remove.1 @@ -0,0 +1,259 @@ +.rn '' }` +''' $RCSfile$$Revision$$Date$ +''' +''' $Log$ +''' +.de Sh +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp +.if t .sp .5v +.if n .sp +.. +.de Ip +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.de Vb +.ft CW +.nf +.ne \\$1 +.. +.de Ve +.ft R + +.fi +.. +''' +''' +''' Set up \*(-- to give an unbreakable dash; +''' string Tr holds user defined translation string. +''' Bell System Logo is used as a dummy character. +''' +.tr \(*W-|\(bv\*(Tr +.ie n \{\ +.ds -- \(*W- +.ds PI pi +.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +.ds L" "" +.ds R" "" +''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of +''' \*(L" and \*(R", except that they are used on ".xx" lines, +''' such as .IP and .SH, which do another additional levels of +''' double-quote interpretation +.ds M" """ +.ds S" """ +.ds N" """"" +.ds T" """"" +.ds L' ' +.ds R' ' +.ds M' ' +.ds S' ' +.ds N' ' +.ds T' ' +'br\} +.el\{\ +.ds -- \(em\| +.tr \*(Tr +.ds L" `` +.ds R" '' +.ds M" `` +.ds S" '' +.ds N" `` +.ds T" '' +.ds L' ` +.ds R' ' +.ds M' ` +.ds S' ' +.ds N' ` +.ds T' ' +.ds PI \(*p +'br\} +.\" If the F register is turned on, we'll generate +.\" index entries out stderr for the following things: +.\" TH Title +.\" SH Header +.\" Sh Subsection +.\" Ip Item +.\" X<> Xref (embedded +.\" Of course, you have to process the output yourself +.\" in some meaninful fashion. +.if \nF \{ +.de IX +.tm Index:\\$1\t\\n%\t"\\$2" +.. +.nr % 0 +.rr F +.\} +.TH SYMLINK_REMOVE 1 "OpenAFS" "25/Dec/2007" "AFS Command Reference" +.UC +.if n .hy 0 +.if n .na +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.de CQ \" put $1 in typewriter font +.ft CW +'if n "\c +'if t \\&\\$1\c +'if n \\&\\$1\c +'if n \&" +\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 +'.ft R +.. +.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 +. \" AM - accent mark definitions +.bd B 3 +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds ? ? +. ds ! ! +. ds / +. ds q +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' +. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] +.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' +.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' +.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +.ds oe o\h'-(\w'o'u*4/10)'e +.ds Oe O\h'-(\w'O'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds v \h'-1'\o'\(aa\(ga' +. ds _ \h'-1'^ +. ds . \h'-1'. +. ds 3 3 +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +. ds oe oe +. ds Oe OE +.\} +.rm #[ #] #H #V #F C +.SH "NAME" +symlink_remove \- Remove a symbolic link. +.SH "SYNOPSIS" +\fBsymlink remove\fR <<\ [\fB\-name\fR]\ <\fIfile\ name\fR >>> [\fB\-help\fR] +.SH "DESCRIPTION" +The \fBsymlink remove\fR command removes a symbolic link to a file. +.SH "CAUTIONS" +The \fBsymlink\fR commands are only available on Windows platforms. On other +platforms, use the \fBrm\fR command. +.SH "OPTIONS" +.Ip "[\fB\-name\fR] <\fIfile name\fR>" 4 +Specify one or more symbolic links to remove. The \fB\-name\fR is optional, but +the file name is not. +.Ip "\fB\-help\fR" 4 +Prints the online help for this command. All other valid options are +ignored. +.SH "OUTPUT" +This command has no output except error and help messages. If the command +is passed a real file instead of a symlink, it prints \*(L"symlink: \*(L'file name\*(R' +is not a symlink\*(R" instead of removing the file. +.SH "EXAMPLES" +Given that file \f(CWmylink\fR is a link pointing to file \f(CWmyfile\fR, the +following commands will remove the link \f(CWmylink\fR: +.PP +.Vb 2 +\& % symlink remove -name mylink +\& % symlink remove mylink +.Ve +.SH "PRIVILEGE REQUIRED" +The issuer must have the \f(CWl\fR (look) and \f(CWd\fR (delete) permissions on +the ACL of the directory that houses the symlink. +.SH "SEE ALSO" +the \fIsymlink(1)\fR manpage, +the \fIsymlink_list(1)\fR manpage, +the \fIsymlink_make(1)\fR manpage +.SH "COPYRIGHT" +Copyright 2007 Jason Edgecombe +.PP +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. + +.rn }` '' +.IX Title "SYMLINK_REMOVE 1" +.IX Name "symlink_remove - Remove a symbolic link." + +.IX Header "NAME" + +.IX Header "SYNOPSIS" + +.IX Header "DESCRIPTION" + +.IX Header "CAUTIONS" + +.IX Header "OPTIONS" + +.IX Item "[\fB\-name\fR] <\fIfile name\fR>" + +.IX Item "\fB\-help\fR" + +.IX Header "OUTPUT" + +.IX Header "EXAMPLES" + +.IX Header "PRIVILEGE REQUIRED" + +.IX Header "SEE ALSO" + +.IX Header "COPYRIGHT" + diff --git a/doc/man-pages/man1/sys.1 b/doc/man-pages/man1/sys.1 index ab63fabb0..ee809b065 100644 --- a/doc/man-pages/man1/sys.1 +++ b/doc/man-pages/man1/sys.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH SYS 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH SYS 1 "OpenAFS" "25/Dec/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -232,9 +232,9 @@ None the \fIfs_sysname(1)\fR manpage, the \fIlivesys(1)\fR manpage .PP -\fIIBM AFS Quick Beginnings\fR +\fIOpenAFS Quick Beginnings\fR .PP -\fIIBM AFS Administration Guide\fR +\fIOpenAFS Administration Guide\fR .SH "COPYRIGHT" IBM Corporation 2000. All Rights Reserved. .PP diff --git a/doc/man-pages/man1/vos.1 b/doc/man-pages/man1/vos.1 index 7a8cfdcce..e3f06dc0e 100644 --- a/doc/man-pages/man1/vos.1 +++ b/doc/man-pages/man1/vos.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS 1 "OpenAFS" "17/Aug/2007" "AFS Command Reference" +.TH VOS 1 "OpenAFS" "19/Jan/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -253,6 +253,15 @@ Commands to lock and unlock \s-1VLDB\s0 entries: \fBvos lock\fR, \fBvos unlock\f A command to report Volume Server status: \fBvos status\fR. .Ip "\(bu" 4 Commands to obtain help: \fBvos apropos\fR and \fBvos help\fR. +.SH "CAUTIONS" +Currently, the maximum size of a volume is 2 terabytes (2^31 bytes) +and the maximum size of a /vicepX partition on a fileserver is also 2 +terabytes. The fileserver will not report an error when it has access +to a partition larger than 2 terabytes, but it will probably fail if +the administrator attempts to use more than 2 terabytes of space. In +addition, there are reports of erroneous disk usage numbers when +\fBvos partinfo\fR or other OpenAFS disk reporting tools are used with +partitions larger than 2 terabytes. .SH "OPTIONS" The following arguments and flags are available on many commands in the \fBbos\fR suite. The reference page for each command also lists them, but @@ -368,7 +377,8 @@ the \fIvos_apropos(1)\fR manpage, the \fIvos_backup(1)\fR manpage, the \fIvos_backupsys(1)\fR manpage, the \fIvos_changeaddr(1)\fR manpage, -the \fIvos_changeloc(1)\fR manpage, +the \fIvos_convertROtoRW(1)\fR manpage, +the \fIvos_copy(1)\fR manpage, the \fIvos_create(1)\fR manpage, the \fIvos_delentry(1)\fR manpage, the \fIvos_dump(1)\fR manpage, @@ -430,6 +440,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Item "\(bu" +.IX Header "CAUTIONS" + .IX Header "OPTIONS" .IX Item "\fB\-cell\fR <\fIcell name\fR>" diff --git a/doc/man-pages/man1/vos_addsite.1 b/doc/man-pages/man1/vos_addsite.1 index 4b9a4c22f..ba1ef35d0 100644 --- a/doc/man-pages/man1/vos_addsite.1 +++ b/doc/man-pages/man1/vos_addsite.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_ADDSITE 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH VOS_ADDSITE 1 "OpenAFS" "20/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,17 +188,18 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos addsite \- Adds a read-only site definition to a volume's VLDB entry +vos_addsite \- Adds a read-only site definition to a volume's VLDB entry .SH "SYNOPSIS" \fBvos addsite\fR <<\ \fB\-server\fR\ <\fImachine\ name\ for\ new\ site\fR >>> <<\ \fB\-partition\fR\ <\fIpartition\ name\ for\ new\ site\fR >>> - <<\ \fB\-id\fR\ <\fIvolume\ name\ or\ ID\fR >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> - [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-help\fR] + <<\ \fB\-id\fR\ <\fIvolume\ name\ or\ ID\fR >>> <<\ \fB\-valid\fR\ <\fIold\ volume\ id\fR >>> + <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] + [\fB\-verbose\fR] [\fB\-help\fR] .PP \fBvos ad\fR <<\ \fB\-s\fR\ <\fImachine\ name\ for\ new\ site\fR >>> <<\ \fB\-p\fR\ <\fIpartition\ name\ for\ new\ site\fR >>> - <<\ \fB\-i\fR\ <\fIvolume\ name\ or\ ID\fR >>> <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> - [\fB\-n\fR] [\fB\-l\fR] [\fB\-v\fR] [\fB\-h\fR] + <<\ \fB\-i\fR\ <\fIvolume\ name\ or\ ID\fR >>> <<\ \fB\-valid\fR\ <\fIold\ volume\ id\fR >>> + <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> [\fB\-n\fR] [\fB\-l\fR] [\fB\-v\fR] [\fB\-h\fR] .SH "DESCRIPTION" The \fBvos addsite\fR command defines a new read-only site (partition on a file server machine, specified by the \fB\-server\fR and \fB\-partition\fR @@ -234,6 +235,13 @@ the \fIvos(1)\fR manpage. .Ip "\fB\-id\fR <\fIvolume name or \s-1ID\s0\fR>" 4 Specifies either the complete name or volume \s-1ID\s0 number of the read/write source volume. +.Ip "\fB\-valid\fR <\fIvolume \s-1ID\s0\fR>" 4 +Specifies the volume \s-1ID\s0 number of the existing release-equivalent +volume that is not already marked as a replica. This is useful when an +existing read-only volume is dumped and restored with the \fB\-readonly\fR +flag at the new site. This option is available in OpenAFS clients +1.4.7 or later and 1.5.31 and later. This option can be used with +OpenAFS server versions later than 1.4.1 or 1.5.0. .Ip "\fB\-cell\fR <\fIcell name\fR>" 4 Names the cell in which to run the command. Do not combine this argument with the \fB\-localauth\fR flag. For more details, see the \fIvos(1)\fR manpage. @@ -278,7 +286,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_ADDSITE 1" -.IX Name "vos addsite - Adds a read-only site definition to a volume's VLDB entry" +.IX Name "vos_addsite - Adds a read-only site definition to a volume's VLDB entry" .IX Header "NAME" @@ -296,6 +304,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Item "\fB\-id\fR <\fIvolume name or \s-1ID\s0\fR>" +.IX Item "\fB\-valid\fR <\fIvolume \s-1ID\s0\fR>" + .IX Item "\fB\-cell\fR <\fIcell name\fR>" .IX Item "\fB\-noauth\fR" diff --git a/doc/man-pages/man1/vos_apropos.1 b/doc/man-pages/man1/vos_apropos.1 index 653b06714..15fb3dbcb 100644 --- a/doc/man-pages/man1/vos_apropos.1 +++ b/doc/man-pages/man1/vos_apropos.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_APROPOS 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH VOS_APROPOS 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos apropos \- Displays each help entry containing a keyword string +vos_apropos \- Displays each help entry containing a keyword string .SH "SYNOPSIS" \fBvos apropos\fR <<\ \fB\-topic\fR\ <\fIhelp\ string\fR >>> [\fB\-help\fR] .PP @@ -236,7 +236,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_APROPOS 1" -.IX Name "vos apropos - Displays each help entry containing a keyword string" +.IX Name "vos_apropos - Displays each help entry containing a keyword string" .IX Header "NAME" diff --git a/doc/man-pages/man1/vos_backup.1 b/doc/man-pages/man1/vos_backup.1 index 43181a0a3..648d9b9de 100644 --- a/doc/man-pages/man1/vos_backup.1 +++ b/doc/man-pages/man1/vos_backup.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_BACKUP 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH VOS_BACKUP 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos backup \- Creates a backup volume for a single read/write volume +vos_backup \- Creates a backup volume for a single read/write volume .SH "SYNOPSIS" \fBvos backup\fR <<\ \fB\-id\fR\ <\fIvolume\ name\ or\ ID\fR >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-help\fR] @@ -260,7 +260,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_BACKUP 1" -.IX Name "vos backup - Creates a backup volume for a single read/write volume" +.IX Name "vos_backup - Creates a backup volume for a single read/write volume" .IX Header "NAME" diff --git a/doc/man-pages/man1/vos_backupsys.1 b/doc/man-pages/man1/vos_backupsys.1 index 6acbc5585..7769e2618 100644 --- a/doc/man-pages/man1/vos_backupsys.1 +++ b/doc/man-pages/man1/vos_backupsys.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_BACKUPSYS 1 "OpenAFS" "17/Aug/2007" "AFS Command Reference" +.TH VOS_BACKUPSYS 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos backupsys \- Creates a backup volume for several read/write volumes +vos_backupsys \- Creates a backup volume for several read/write volumes .SH "SYNOPSIS" \fBvos backupsys\fR <<\ [\fB\-prefix\fR\ <\fIcommon\ prefix\ on\ volume(s)\fR+] >>> <<\ [\fB\-server\fR\ <\fImachine\ name\fR] >>> <<\ [\fB\-partition\fR\ <\fIpartition\ name\fR] >>> @@ -437,7 +437,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_BACKUPSYS 1" -.IX Name "vos backupsys - Creates a backup volume for several read/write volumes" +.IX Name "vos_backupsys - Creates a backup volume for several read/write volumes" .IX Header "NAME" diff --git a/doc/man-pages/man1/vos_changeaddr.1 b/doc/man-pages/man1/vos_changeaddr.1 index 7354aaf94..4493fdc39 100644 --- a/doc/man-pages/man1/vos_changeaddr.1 +++ b/doc/man-pages/man1/vos_changeaddr.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_CHANGEADDR 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH VOS_CHANGEADDR 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos changeaddr \- Changes or removes a file server machine's entry in the VLDB +vos_changeaddr \- Changes or removes a file server machine's entry in the VLDB .SH "SYNOPSIS" \fBvos changeaddr\fR <<\ \fB\-oldaddr\fR\ <\fIoriginal\ IP\ address\fR >>> <<\ [\fB\-newaddr\fR\ <\fInew\ IP\ address\fR] >>> [\fB\-remove\fR] @@ -291,7 +291,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_CHANGEADDR 1" -.IX Name "vos changeaddr - Changes or removes a file server machine's entry in the VLDB" +.IX Name "vos_changeaddr - Changes or removes a file server machine's entry in the VLDB" .IX Header "NAME" diff --git a/doc/man-pages/man1/vos_changeloc.1 b/doc/man-pages/man1/vos_changeloc.1 index 76f917ad9..76c68f6d5 100644 --- a/doc/man-pages/man1/vos_changeloc.1 +++ b/doc/man-pages/man1/vos_changeloc.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_CHANGELOC 1 "OpenAFS" "19/Aug/2007" "AFS Command Reference" +.TH VOS_CHANGELOC 1 "OpenAFS" "25/Dec/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos changeloc \- Change a volume's entry in the VLDB +vos_changeloc \- Change a volume's entry in the VLDB .SH "SYNOPSIS" \fBvos changeloc\fR <<\ [\fB\-server\fR]\ <\fInew\ server\ name\fR >>> <<\ [\fB\-partition\fR]\ <\fInew\ partition\ location\fR >>> @@ -293,12 +293,13 @@ the \fIvos_syncvldb(1)\fR manpage .SH "COPYRIGHT" Copyright 2007 Jason Edgecombe .PP -This documentation is covered by the IBM Public License Version 1.0. This -man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. .rn }` '' .IX Title "VOS_CHANGELOC 1" -.IX Name "vos changeloc - Change a volume's entry in the VLDB" +.IX Name "vos_changeloc - Change a volume's entry in the VLDB" .IX Header "NAME" diff --git a/doc/man-pages/man1/vos_convertROtoRW.1 b/doc/man-pages/man1/vos_convertROtoRW.1 new file mode 100644 index 000000000..d61abe25d --- /dev/null +++ b/doc/man-pages/man1/vos_convertROtoRW.1 @@ -0,0 +1,311 @@ +.rn '' }` +''' $RCSfile$$Revision$$Date$ +''' +''' $Log$ +''' +.de Sh +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp +.if t .sp .5v +.if n .sp +.. +.de Ip +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.de Vb +.ft CW +.nf +.ne \\$1 +.. +.de Ve +.ft R + +.fi +.. +''' +''' +''' Set up \*(-- to give an unbreakable dash; +''' string Tr holds user defined translation string. +''' Bell System Logo is used as a dummy character. +''' +.tr \(*W-|\(bv\*(Tr +.ie n \{\ +.ds -- \(*W- +.ds PI pi +.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +.ds L" "" +.ds R" "" +''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of +''' \*(L" and \*(R", except that they are used on ".xx" lines, +''' such as .IP and .SH, which do another additional levels of +''' double-quote interpretation +.ds M" """ +.ds S" """ +.ds N" """"" +.ds T" """"" +.ds L' ' +.ds R' ' +.ds M' ' +.ds S' ' +.ds N' ' +.ds T' ' +'br\} +.el\{\ +.ds -- \(em\| +.tr \*(Tr +.ds L" `` +.ds R" '' +.ds M" `` +.ds S" '' +.ds N" `` +.ds T" '' +.ds L' ` +.ds R' ' +.ds M' ` +.ds S' ' +.ds N' ` +.ds T' ' +.ds PI \(*p +'br\} +.\" If the F register is turned on, we'll generate +.\" index entries out stderr for the following things: +.\" TH Title +.\" SH Header +.\" Sh Subsection +.\" Ip Item +.\" X<> Xref (embedded +.\" Of course, you have to process the output yourself +.\" in some meaninful fashion. +.if \nF \{ +.de IX +.tm Index:\\$1\t\\n%\t"\\$2" +.. +.nr % 0 +.rr F +.\} +.TH VOS_CONVERTROTORW 1 "OpenAFS" "25/Dec/2007" "AFS Command Reference" +.UC +.if n .hy 0 +.if n .na +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.de CQ \" put $1 in typewriter font +.ft CW +'if n "\c +'if t \\&\\$1\c +'if n \\&\\$1\c +'if n \&" +\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 +'.ft R +.. +.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 +. \" AM - accent mark definitions +.bd B 3 +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds ? ? +. ds ! ! +. ds / +. ds q +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' +. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] +.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' +.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' +.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +.ds oe o\h'-(\w'o'u*4/10)'e +.ds Oe O\h'-(\w'O'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds v \h'-1'\o'\(aa\(ga' +. ds _ \h'-1'^ +. ds . \h'-1'. +. ds 3 3 +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +. ds oe oe +. ds Oe OE +.\} +.rm #[ #] #H #V #F C +.SH "NAME" +vos_convertROtoRW \- Converts a Read-Only volume into a Read/Write volume +.SH "SYNOPSIS" +\fBvos convertROtoRW\fR <<\ [\fB\-server\fR]\ <\fImachine\ name\fR >>> + <<\ [\fB\-partition\fR]\ <\fIpartition\ name\fR >>> + <<\ [\fB\-id\fR]\ <\fIvolume\ name\ or\ ID\fR >>> [\fB\-force\fR] + <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] + [\fB\-verbose\fR] [\fB\-encrypt\fR] [\fB\-help\fR] +.SH "DESCRIPTION" +\fBvos convertROtoRW\fR converts a Read-Only volume into a Read/Write volume +when the original Read/Write volume is no longer available. It's normal use +is to recover the Read/Write volume from a replica after a failed disk, +failed server, or accidental deletion. +.SH "CAUTIONS" +This command can only be used with namei AFS file servers. If used on an +inode AFS file server, it will fail with an error. +.PP +The command name is case-sensitive. It must be issued with the capital \*(L"RO\*(R" +and \*(L"RW\*(R". +.SH "OPTIONS" +.Ip "\fB\-server\fR <\fIserver name\fR>" 4 +Identifies the file server machine that houses the Read-Only volume which +will be converted. Provide the machine's \s-1IP\s0 address or its host name +(either fully qualified or using an unambiguous abbreviation). For details, +see the \fIvos(1)\fR manpage. +.Ip "\fB\-partition\fR <\fIpartition name\fR>" 4 +Identifies the partition on the file server machine that houses the +Read-Only volume which will be converted. Provide the full partition name +(for, example, \fB/vicepa\fR) or one of the abbreviated forms described in +the \fIvos(1)\fR manpage. +.Ip "\fB\-id\fR <\fIvolume \s-1ID\s0\fR>" 4 +Specifies either the complete name or volume \s-1ID\s0 number of a Read/Write +volume. +.Ip "\fB\-force\fR" 4 +Don't ask for confirmation. +.Ip "\fB\-cell\fR <\fIcell name\fR>" 4 +Names the cell in which to run the command. Do not combine this argument +with the \fB\-localauth\fR flag. For more details, see the \fIvos(1)\fR manpage. +.Ip "\fB\-noauth\fR" 4 +Assigns the unprivileged identity \f(CWanonymous\fR to the issuer. Do not +combine this flag with the \fB\-localauth\fR flag. For more details, see +the \fIvos(1)\fR manpage. +.Ip "\fB\-localauth\fR" 4 +Constructs a server ticket using a key from the local +\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it +to the Volume Server and Volume Location Server during mutual +authentication. Do not combine this flag with the \fB\-cell\fR argument or +\fB\-noauth\fR flag. For more details, see the \fIvos(1)\fR manpage. +.Ip "\fB\-verbose\fR" 4 +Produces on the standard output stream a detailed trace of the command's +execution. If this argument is omitted, only warnings and error messages +appear. +.Ip "\fB\-encrypt\fR" 4 +Encrypts the command so that the operation's results are not transmitted +across the network in clear text. +.Ip "\fB\-help\fR" 4 +Prints the online help for this command. All other valid options are +ignored. +.SH "EXAMPLES" +The following example converts the read-only volume test3.readonly in +partition vicepb on server1 to a read-write volume: +.PP +.Vb 1 +\& % vos convertROtoRW server1 b test3.readonly +.Ve +.SH "PRIVILEGE REQUIRED" +The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the +machines specified with the \fB\-toserver\fR and \fB\-fromserver\fR arguments and +on each database server machine. If the \fB\-localauth\fR flag is included, +the issuer must instead be logged on to a server machine as the local +superuser \f(CWroot\fR. +.SH "SEE ALSO" +the \fIvos(1)\fR manpage +.SH "COPYRIGHT" +Copyright 2007 Jason Edgecombe +.PP +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. + +.rn }` '' +.IX Title "VOS_CONVERTROTORW 1" +.IX Name "vos_convertROtoRW - Converts a Read-Only volume into a Read/Write volume" + +.IX Header "NAME" + +.IX Header "SYNOPSIS" + +.IX Header "DESCRIPTION" + +.IX Header "CAUTIONS" + +.IX Header "OPTIONS" + +.IX Item "\fB\-server\fR <\fIserver name\fR>" + +.IX Item "\fB\-partition\fR <\fIpartition name\fR>" + +.IX Item "\fB\-id\fR <\fIvolume \s-1ID\s0\fR>" + +.IX Item "\fB\-force\fR" + +.IX Item "\fB\-cell\fR <\fIcell name\fR>" + +.IX Item "\fB\-noauth\fR" + +.IX Item "\fB\-localauth\fR" + +.IX Item "\fB\-verbose\fR" + +.IX Item "\fB\-encrypt\fR" + +.IX Item "\fB\-help\fR" + +.IX Header "EXAMPLES" + +.IX Header "PRIVILEGE REQUIRED" + +.IX Header "SEE ALSO" + +.IX Header "COPYRIGHT" + diff --git a/doc/man-pages/man1/vos_copy.1 b/doc/man-pages/man1/vos_copy.1 new file mode 100644 index 000000000..7afb4701f --- /dev/null +++ b/doc/man-pages/man1/vos_copy.1 @@ -0,0 +1,358 @@ +.rn '' }` +''' $RCSfile$$Revision$$Date$ +''' +''' $Log$ +''' +.de Sh +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp +.if t .sp .5v +.if n .sp +.. +.de Ip +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.de Vb +.ft CW +.nf +.ne \\$1 +.. +.de Ve +.ft R + +.fi +.. +''' +''' +''' Set up \*(-- to give an unbreakable dash; +''' string Tr holds user defined translation string. +''' Bell System Logo is used as a dummy character. +''' +.tr \(*W-|\(bv\*(Tr +.ie n \{\ +.ds -- \(*W- +.ds PI pi +.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +.ds L" "" +.ds R" "" +''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of +''' \*(L" and \*(R", except that they are used on ".xx" lines, +''' such as .IP and .SH, which do another additional levels of +''' double-quote interpretation +.ds M" """ +.ds S" """ +.ds N" """"" +.ds T" """"" +.ds L' ' +.ds R' ' +.ds M' ' +.ds S' ' +.ds N' ' +.ds T' ' +'br\} +.el\{\ +.ds -- \(em\| +.tr \*(Tr +.ds L" `` +.ds R" '' +.ds M" `` +.ds S" '' +.ds N" `` +.ds T" '' +.ds L' ` +.ds R' ' +.ds M' ` +.ds S' ' +.ds N' ` +.ds T' ' +.ds PI \(*p +'br\} +.\" If the F register is turned on, we'll generate +.\" index entries out stderr for the following things: +.\" TH Title +.\" SH Header +.\" Sh Subsection +.\" Ip Item +.\" X<> Xref (embedded +.\" Of course, you have to process the output yourself +.\" in some meaninful fashion. +.if \nF \{ +.de IX +.tm Index:\\$1\t\\n%\t"\\$2" +.. +.nr % 0 +.rr F +.\} +.TH VOS_COPY 1 "OpenAFS" "19/Jan/2008" "AFS Command Reference" +.UC +.if n .hy 0 +.if n .na +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.de CQ \" put $1 in typewriter font +.ft CW +'if n "\c +'if t \\&\\$1\c +'if n \\&\\$1\c +'if n \&" +\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 +'.ft R +.. +.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 +. \" AM - accent mark definitions +.bd B 3 +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds ? ? +. ds ! ! +. ds / +. ds q +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' +. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] +.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' +.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' +.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +.ds oe o\h'-(\w'o'u*4/10)'e +.ds Oe O\h'-(\w'O'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds v \h'-1'\o'\(aa\(ga' +. ds _ \h'-1'^ +. ds . \h'-1'. +. ds 3 3 +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +. ds oe oe +. ds Oe OE +.\} +.rm #[ #] #H #V #F C +.SH "NAME" +vos_copy \- Make a copy of a volume +.SH "SYNOPSIS" +\fBvos copy\fR <<\ [\fB\-id\fR]\ <\fIvolume\ name\ or\ ID\ of\ source\fR >>> + <<\ [\fB\-fromserver\fR]\ <\fImachine\ name\ for\ source\fR >>> + <<\ [\fB\-frompartition\fR]\ <\fIpartition\ name\ for\ source\fR >>> + <<\ [\fB\-toname\fR]\ <\fIvolume\ name\ for\ new\ copy\fR >>> + <<\ [\fB\-toserver\fR]\ <\fImachine\ name\ for\ destination\fR >>> + <<\ [\fB\-topartition\fR]\ <\fIpartition\ name\ for\ destination\fR >>> + [\fB\-offline\fR] [\fB\-readonly\fR] [\fB\-live\fR] <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> + [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-encrypt\fR] [\fB\-help\fR] +.SH "DESCRIPTION" +The \fBvos copy\fR command makes a copy of a volume with a new name. It is +equivalent to \fBvos dump\fR followed by \fBvos restore\fR, but doesn't require +the volume be stored locally by the client. +.SH "CAUTIONS" +Currently, the maximum size of a volume is 2 terabytes (2^31 bytes) +and the maximum size of a /vicepX partition on a fileserver is also 2 +terabytes. The fileserver will not report an error when it has access +to a partition larger than 2 terabytes, but it will probably fail if +the administrator attempts to use more than 2 terabytes of space. In +addition, there are reports of erroneous disk usage numbers when +\fBvos partinfo\fR or other OpenAFS disk reporting tools are used with +partitions larger than 2 terabytes. +.SH "OPTIONS" +.Ip "[\fB\-id\fR] <\fIvolume name or \s-1ID\s0\fR>" 4 +Specifies either the complete name or volume \s-1ID\s0 number of a read/write +volume. +.Ip "[\fB\-fromserver\fR] <\fImachine name for source\fR>" 4 +Identifies the file server machine where the source volume resides. Provide +the machine's \s-1IP\s0 address or its host name (either fully qualified or using +an unambiguous abbreviation). For details, see the \fIvos(1)\fR manpage. +.Ip "[\fB\-frompartition\fR] <\fIpartition name for source\fR>" 4 +Names the partition where the source volume resides. Provide the full +partition name (for, example, \fB/vicepa\fR) or one of the abbreviated forms +described in the \fIvos(1)\fR manpage. +.Ip "[\fB\-toname\fR] <\fIvolume name for new copy\fR>" 4 +The complete name of the new volume to create. +.Ip "[\fB\-toserver\fR] <\fImachine name for destination\fR>" 4 +Identifies the file server machine to which to copy the volume. Provide +the machine's \s-1IP\s0 address or its host name (either fully qualified or using +an unambiguous abbreviation). For details, see the \fIvos(1)\fR manpage. +.Ip "[\fB\-topartition\fR] <\fIpartition name for destination\fR>" 4 +Names the partition to which to copy the volume. Provide the full partition +name (for, example, \fB/vicepa\fR) or one of the abbreviated forms described in +the \fIvos(1)\fR manpage. +.Ip "\fB\-offline\fR" 4 +Leaves the new volume flagged as off-line in the volume database. +.Ip "\fB\-readonly\fR" 4 +Flags the new volume as read-only in the volume database. +.Ip "\fB\-live\fR" 4 +Copies the live volume without cloning. This is normally not necessary and +causes the volume to be kept locked for longer than the normal copy +mechanism. +.Ip "\fB\-localauth\fR" 4 +Constructs a server ticket using a key from the local +\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it to +the Volume Server and Volume Location Server during mutual +authentication. Do not combine this flag with the \fB\-cell\fR argument or +\fB\-noauth\fR flag. For more details, see the \fIvos(1)\fR manpage. +.Ip "\fB\-verbose\fR" 4 +Produces on the standard output stream a detailed trace of the command's +execution. If this argument is omitted, only warnings and error messages +appear. +.Ip "\fB\-encrypt\fR" 4 +Encrypts the command so that the operation's results are not transmitted +across the network in clear text. +.Ip "\fB\-help\fR" 4 +Prints the online help for this command. All other valid options are +ignored. +.SH "OUTPUT" +This command has no output unless \f(CW-verbose\fR is specified or there is +an error. +.SH "EXAMPLES" +The following example makes a verbose copy of the \f(CWtest\fR volume named +\f(CWtest2\fR in the cell \f(CWlocalcell\fR. The volume and copy both reside on +\f(CW/vicepa\fR of \f(CWserver1\fR. +.PP +.Vb 23 +\& % vos copy test server1 a test2 server1 a -cell localcell -verbose +\& Starting transaction on source volume 536870921 ... done +\& Allocating new volume id for clone of volume 536870921 ... done +\& Allocating new volume id for copy of volume 536870921 ... done +\& Cloning source volume 536870921 ... done +\& Ending the transaction on the source volume 536870921 ... done +\& Starting transaction on the cloned volume 536870926 ... done +\& Setting flags on cloned volume 536870926 ... done +\& Getting status of cloned volume 536870926 ... done +\& Creating the destination volume 536870927 ... done +\& Setting volume flags on destination volume 536870927 ... done +\& Dumping from clone 536870926 on source to volume 536870927 on destination ... done +\& Ending transaction on cloned volume 536870926 ... done +\& Starting transaction on source volume 536870921 ... done +\& Doing the incremental dump from source to destination for volume 536870921 ... done +\& Setting volume flags on destination volume 536870927 ... done +\& Ending transaction on destination volume 536870927 ... done +\& Ending transaction on source volume 536870921 ... done +\& Starting transaction on the cloned volume 536870926 ... done +\& Deleting the cloned volume 536870926 ... done +\& Ending transaction on cloned volume 536870926 ... done +\& Created the VLDB entry for the volume test2 536870927 +\& Volume 536870921 copied from server1 /vicepa to test2 on server1 /vicepa +.Ve +.SH "PRIVILEGE REQUIRED" +The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the +machine specified with the \fB\-server\fR argument and on each database server +machine. If the \fB\-localauth\fR flag is included, the issuer must instead be +logged on to a server machine as the local superuser \f(CWroot\fR. +.SH "SEE ALSO" +the \fIvos(1)\fR manpage, +the \fIvos_clone(1)\fR manpage, +the \fIvos_move(1)\fR manpage +.SH "COPYRIGHT" +Copyright 2007 Jason Edgecombe +.PP +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. + +.rn }` '' +.IX Title "VOS_COPY 1" +.IX Name "vos_copy - Make a copy of a volume" + +.IX Header "NAME" + +.IX Header "SYNOPSIS" + +.IX Header "DESCRIPTION" + +.IX Header "CAUTIONS" + +.IX Header "OPTIONS" + +.IX Item "[\fB\-id\fR] <\fIvolume name or \s-1ID\s0\fR>" + +.IX Item "[\fB\-fromserver\fR] <\fImachine name for source\fR>" + +.IX Item "[\fB\-frompartition\fR] <\fIpartition name for source\fR>" + +.IX Item "[\fB\-toname\fR] <\fIvolume name for new copy\fR>" + +.IX Item "[\fB\-toserver\fR] <\fImachine name for destination\fR>" + +.IX Item "[\fB\-topartition\fR] <\fIpartition name for destination\fR>" + +.IX Item "\fB\-offline\fR" + +.IX Item "\fB\-readonly\fR" + +.IX Item "\fB\-live\fR" + +.IX Item "\fB\-localauth\fR" + +.IX Item "\fB\-verbose\fR" + +.IX Item "\fB\-encrypt\fR" + +.IX Item "\fB\-help\fR" + +.IX Header "OUTPUT" + +.IX Header "EXAMPLES" + +.IX Header "PRIVILEGE REQUIRED" + +.IX Header "SEE ALSO" + +.IX Header "COPYRIGHT" + diff --git a/doc/man-pages/man1/vos_create.1 b/doc/man-pages/man1/vos_create.1 index 1119e9ab3..09c19710c 100644 --- a/doc/man-pages/man1/vos_create.1 +++ b/doc/man-pages/man1/vos_create.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_CREATE 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH VOS_CREATE 1 "OpenAFS" "19/Jan/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos create \- Creates a read/write volume and associated VLDB entry +vos_create \- Creates a read/write volume and associated VLDB entry .SH "SYNOPSIS" \fBvos create\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ \fB\-partition\fR\ <\fIpartition\ name\fR >>> <<\ \fB\-name\fR\ <\fIvolume\ name\fR >>> <<\ [\fB\-maxquota\fR\ <\fIinitial\ quota\ (KB)\fR] >>> @@ -227,6 +227,15 @@ with the \fBfs mkmount\fR command. .PP The volume is empty when created. To access it via the Cache Manager, mount it in the file space by using the \fBfs mkmount\fR command. +.SH "CAUTIONS" +Currently, the maximum size of a volume is 2 terabytes (2^31 bytes) +and the maximum size of a /vicepX partition on a fileserver is also 2 +terabytes. The fileserver will not report an error when it has access +to a partition larger than 2 terabytes, but it will probably fail if +the administrator attempts to use more than 2 terabytes of space. In +addition, there are reports of erroneous disk usage numbers when +\fBvos partinfo\fR or other OpenAFS disk reporting tools are used with +partitions larger than 2 terabytes. .SH "OPTIONS" .Ip "\fB\-server\fR <\fIserver name\fR>" 4 Identifies the file server machine on which to create the read/write @@ -303,7 +312,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_CREATE 1" -.IX Name "vos create - Creates a read/write volume and associated VLDB entry" +.IX Name "vos_create - Creates a read/write volume and associated VLDB entry" .IX Header "NAME" @@ -317,6 +326,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Item "\(bu" +.IX Header "CAUTIONS" + .IX Header "OPTIONS" .IX Item "\fB\-server\fR <\fIserver name\fR>" diff --git a/doc/man-pages/man1/vos_delentry.1 b/doc/man-pages/man1/vos_delentry.1 index db29deacb..a94573e34 100644 --- a/doc/man-pages/man1/vos_delentry.1 +++ b/doc/man-pages/man1/vos_delentry.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_DELENTRY 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH VOS_DELENTRY 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos delentry \- Removes a volume entry from the VLDB. +vos_delentry \- Removes a volume entry from the VLDB. .SH "SYNOPSIS" \fBvos delentry\fR <<\ [\fB\-id\fR\ <\fIvolume\ name\ or\ ID\fR+] >>> <<\ [\fB\-prefix\fR\ <\fIprefix\ of\ volume\ whose\ VLDB\ entry\ is\ to\ be\ deleted\fR] >>> @@ -330,7 +330,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_DELENTRY 1" -.IX Name "vos delentry - Removes a volume entry from the VLDB." +.IX Name "vos_delentry - Removes a volume entry from the VLDB." .IX Header "NAME" diff --git a/doc/man-pages/man1/vos_dump.1 b/doc/man-pages/man1/vos_dump.1 index 1639b041f..f4f590676 100644 --- a/doc/man-pages/man1/vos_dump.1 +++ b/doc/man-pages/man1/vos_dump.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_DUMP 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH VOS_DUMP 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos dump \- Converts a volume into ASCII format and writes it to a file +vos_dump \- Converts a volume into ASCII format and writes it to a file .SH "SYNOPSIS" \fBvos dump\fR <<\ \fB\-id\fR\ <\fIvolume\ name\ or\ ID\fR >>> <<\ [\fB\-time\fR\ <\fIdump\ from\ time\fR] >>> <<\ [\fB\-file\fR\ <\fIdump\ file\fR] >>> <<\ [\fB\-server\fR\ <\fIserver\fR] >>> @@ -338,7 +338,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_DUMP 1" -.IX Name "vos dump - Converts a volume into ASCII format and writes it to a file" +.IX Name "vos_dump - Converts a volume into ASCII format and writes it to a file" .IX Header "NAME" diff --git a/doc/man-pages/man1/vos_examine.1 b/doc/man-pages/man1/vos_examine.1 index f66419c36..dec7dac9b 100644 --- a/doc/man-pages/man1/vos_examine.1 +++ b/doc/man-pages/man1/vos_examine.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_EXAMINE 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH VOS_EXAMINE 1 "OpenAFS" "19/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos examine \- Shows volume header and VLDB entry information for a volume +vos_examine \- Shows volume header and VLDB entry information for a volume .SH "SYNOPSIS" \fBvos examine\fR <<\ \fB\-id\fR\ <\fIvolume\ name\ or\ ID\fR >>> [\fB\-extended\fR] <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR] @@ -209,6 +209,15 @@ specified by the \fB\-id\fR argument. .PP To display the volume header only, use the \fBvos listvol\fR command. To display information from the VLDB only, use the \fBvos listvldb\fR command. +.SH "CAUTIONS" +Currently, the maximum size of a volume is 2 terabytes (2^31 bytes) +and the maximum size of a /vicepX partition on a fileserver is also 2 +terabytes. The fileserver will not report an error when it has access +to a partition larger than 2 terabytes, but it will probably fail if +the administrator attempts to use more than 2 terabytes of space. In +addition, there are reports of erroneous disk usage numbers when +\fBvos partinfo\fR or other OpenAFS disk reporting tools are used with +partitions larger than 2 terabytes. .SH "OPTIONS" .Ip "\fB\-id\fR <\fIvolume name or \s-1ID\s0\fR>" 4 Specifies either the complete name or volume \s-1ID\s0 number of the volume, @@ -444,7 +453,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_EXAMINE 1" -.IX Name "vos examine - Shows volume header and VLDB entry information for a volume" +.IX Name "vos_examine - Shows volume header and VLDB entry information for a volume" .IX Header "NAME" @@ -452,6 +461,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Header "DESCRIPTION" +.IX Header "CAUTIONS" + .IX Header "OPTIONS" .IX Item "\fB\-id\fR <\fIvolume name or \s-1ID\s0\fR>" diff --git a/doc/man-pages/man1/vos_help.1 b/doc/man-pages/man1/vos_help.1 index 75b4553b1..d943f9cde 100644 --- a/doc/man-pages/man1/vos_help.1 +++ b/doc/man-pages/man1/vos_help.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_HELP 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH VOS_HELP 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos help \- Displays help for vos commands +vos_help \- Displays help for vos commands .SH "SYNOPSIS" \fBvos help\fR <<\ [\fB\-topic\fR\ <\fIhelp\ string\fR+] >>> [\fB\-help\fR] .PP @@ -248,7 +248,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_HELP 1" -.IX Name "vos help - Displays help for vos commands" +.IX Name "vos_help - Displays help for vos commands" .IX Header "NAME" diff --git a/doc/man-pages/man1/vos_listaddrs.1 b/doc/man-pages/man1/vos_listaddrs.1 index b86a7f201..c602be146 100644 --- a/doc/man-pages/man1/vos_listaddrs.1 +++ b/doc/man-pages/man1/vos_listaddrs.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_LISTADDRS 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH VOS_LISTADDRS 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos listaddrs \- Displays all VLDB server entries +vos_listaddrs \- Displays all VLDB server entries .SH "SYNOPSIS" \fBvos listaddrs\fR <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-help\fR] @@ -262,7 +262,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_LISTADDRS 1" -.IX Name "vos listaddrs - Displays all VLDB server entries" +.IX Name "vos_listaddrs - Displays all VLDB server entries" .IX Header "NAME" diff --git a/doc/man-pages/man1/vos_listpart.1 b/doc/man-pages/man1/vos_listpart.1 index 686bae5ad..028f3c33f 100644 --- a/doc/man-pages/man1/vos_listpart.1 +++ b/doc/man-pages/man1/vos_listpart.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_LISTPART 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH VOS_LISTPART 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos listpart \- Displays all AFS partitions on a file server machine +vos_listpart \- Displays all AFS partitions on a file server machine .SH "SYNOPSIS" \fBvos listpart\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-help\fR] @@ -255,7 +255,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_LISTPART 1" -.IX Name "vos listpart - Displays all AFS partitions on a file server machine" +.IX Name "vos_listpart - Displays all AFS partitions on a file server machine" .IX Header "NAME" diff --git a/doc/man-pages/man1/vos_listvldb.1 b/doc/man-pages/man1/vos_listvldb.1 index b187b924f..89cfe7479 100644 --- a/doc/man-pages/man1/vos_listvldb.1 +++ b/doc/man-pages/man1/vos_listvldb.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_LISTVLDB 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH VOS_LISTVLDB 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos listvldb \- Displays a volume's VLDB entry +vos_listvldb \- Displays a volume's VLDB entry .SH "SYNOPSIS" \fBvos listvldb\fR <<\ [\fB\-name\fR\ <\fIvolume\ name\ or\ ID\fR] >>> <<\ [\fB\-server\fR\ <\fImachine\ name\fR] >>> <<\ [\fB\-partition\fR\ <\fIpartition\ name\fR] >>> @@ -374,7 +374,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_LISTVLDB 1" -.IX Name "vos listvldb - Displays a volume's VLDB entry" +.IX Name "vos_listvldb - Displays a volume's VLDB entry" .IX Header "NAME" diff --git a/doc/man-pages/man1/vos_listvol.1 b/doc/man-pages/man1/vos_listvol.1 index 5c6e81282..67be0ca2e 100644 --- a/doc/man-pages/man1/vos_listvol.1 +++ b/doc/man-pages/man1/vos_listvol.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_LISTVOL 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH VOS_LISTVOL 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos listvol \- Displays information from a volume header +vos_listvol \- Displays information from a volume header .SH "SYNOPSIS" \fBvos listvol\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ [\fB\-partition\fR\ <\fIpartition\ name\fR] >>> [\fB\-fast\fR] [\fB\-long\fR] [\fB\-quiet\fR] @@ -444,7 +444,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_LISTVOL 1" -.IX Name "vos listvol - Displays information from a volume header" +.IX Name "vos_listvol - Displays information from a volume header" .IX Header "NAME" diff --git a/doc/man-pages/man1/vos_lock.1 b/doc/man-pages/man1/vos_lock.1 index 124886afd..9f9a2be82 100644 --- a/doc/man-pages/man1/vos_lock.1 +++ b/doc/man-pages/man1/vos_lock.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_LOCK 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH VOS_LOCK 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos lock \- Locks a VLDB volume entry +vos_lock \- Locks a VLDB volume entry .SH "SYNOPSIS" \fBvos lock\fR <<\ \fB\-id\fR\ <\fIvolume\ name\ or\ ID\fR >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-help\fR] @@ -257,7 +257,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_LOCK 1" -.IX Name "vos lock - Locks a VLDB volume entry" +.IX Name "vos_lock - Locks a VLDB volume entry" .IX Header "NAME" diff --git a/doc/man-pages/man1/vos_move.1 b/doc/man-pages/man1/vos_move.1 index 3ef12acf9..4075c662c 100644 --- a/doc/man-pages/man1/vos_move.1 +++ b/doc/man-pages/man1/vos_move.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_MOVE 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH VOS_MOVE 1 "OpenAFS" "19/Jan/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,21 +188,21 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos move \- Moves a read/write volume to another site +vos_move \- Moves a read/write volume to another site .SH "SYNOPSIS" \fBvos move\fR <<\ \fB\-id\fR\ <\fIvolume\ name\ or\ ID\fR >>> <<\ \fB\-fromserver\fR\ <\fImachine\ name\ on\ source\fR >>> <<\ \fB\-frompartition\fR\ <\fIpartition\ name\ on\ source\fR >>> <<\ \fB\-toserver\fR\ <\fImachine\ name\ on\ destination\fR >>> <<\ \fB\-topartition\fR\ <\fIpartition\ name\ on\ destination\fR >>> - <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR] - [\fB\-help\fR] + [\fB\-live\fR] <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] + [\fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-help\fR] .PP \fBvos m\fR <<\ \fB\-i\fR\ <\fIvolume\ name\ or\ ID\fR >>> <<\ \fB\-froms\fR\ <\fImachine\ name\ on\ source\fR >>> <<\ \fB\-fromp\fR\ <\fIpartition\ name\ on\ source\fR >>> <<\ \fB\-tos\fR\ <\fImachine\ name\ on\ destination\fR >>> - <<\ \fB\-top\fR\ <\fIpartition\ name\ on\ destination\fR >>> + <<\ \fB\-top\fR\ <\fIpartition\ name\ on\ destination\fR >>> [\fB\-li\fR] <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> [\fB\-n\fR] [\fB\-l\fR] [\fB\-v\fR] [\fB\-h\fR] .SH "DESCRIPTION" The \fBvos move\fR command moves the indicated read/write volume from its @@ -254,6 +254,15 @@ confirmation of the kill signal: .Ve To confirm termination of the operation, press Ctrl-C a second time; press any other key to continue the operation. +.PP +Currently, the maximum size of a volume is 2 terabytes (2^31 bytes) +and the maximum size of a /vicepX partition on a fileserver is also 2 +terabytes. The fileserver will not report an error when it has access +to a partition larger than 2 terabytes, but it will probably fail if +the administrator attempts to use more than 2 terabytes of space. In +addition, there are reports of erroneous disk usage numbers when +\fBvos partinfo\fR or other OpenAFS disk reporting tools are used with +partitions larger than 2 terabytes. .SH "OPTIONS" .Ip "\fB\-id\fR <\fIvolume name or \s-1ID\s0\fR>" 4 Specifies either the complete name or volume \s-1ID\s0 number of a read/write @@ -275,6 +284,12 @@ an unambiguous abbreviation). For details, see the \fIvos(1)\fR manpage. Names the partition to which to move the volume. Provide the full partition name (for, example, \fB/vicepa\fR) or one of the abbreviated forms described in the \fIvos(1)\fR manpage. +.Ip "\fB\-live\fR" 4 +Avoids making a temporary copy of the volume during the move. This is +useful if the partition is full, but the administrator needs to move +volumes to a another partition or server to free up disk space. The +caveat is that the volume is locked during the entire operation +instead of the short time that is needed to make the temporary clone. .Ip "\fB\-cell\fR <\fIcell name\fR>" 4 Names the cell in which to run the command. Do not combine this argument with the \fB\-localauth\fR flag. For more details, see the \fIvos(1)\fR manpage. @@ -314,6 +329,7 @@ superuser \f(CWroot\fR. the \fIvos(1)\fR manpage, the \fIvos_addsite(1)\fR manpage, the \fIvos_backup(1)\fR manpage, +the \fIvos_copy(1)\fR manpage, the \fIvos_release(1)\fR manpage, the \fIvos_listvol(1)\fR manpage, the \fIvos_remove(1)\fR manpage @@ -326,7 +342,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_MOVE 1" -.IX Name "vos move - Moves a read/write volume to another site" +.IX Name "vos_move - Moves a read/write volume to another site" .IX Header "NAME" @@ -354,6 +370,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Item "\fB\-topartition\fR <\fIpartition name\fR>" +.IX Item "\fB\-live\fR" + .IX Item "\fB\-cell\fR <\fIcell name\fR>" .IX Item "\fB\-noauth\fR" diff --git a/doc/man-pages/man1/vos_offline.1 b/doc/man-pages/man1/vos_offline.1 index 2c41bea94..2654edbc8 100644 --- a/doc/man-pages/man1/vos_offline.1 +++ b/doc/man-pages/man1/vos_offline.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_OFFLINE 1 "OpenAFS" "12/Jun/2007" "AFS Command Reference" +.TH VOS_OFFLINE 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos offline \- Takes a volume offline +vos_offline \- Takes a volume offline .SH "SYNOPSIS" \fBvos offline\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ \fB\-partition\fR\ <\fIpartition\ name\fR >>> <<\ \fB\-id\fR\ <\fIvolume\ name\ or\ ID\fR >>> <<\ [\fB\-unbless\fR]\ >> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> @@ -271,7 +271,7 @@ This man page was created by Steven Jenkins. .rn }` '' .IX Title "VOS_OFFLINE 1" -.IX Name "vos offline - Takes a volume offline" +.IX Name "vos_offline - Takes a volume offline" .IX Header "NAME" diff --git a/doc/man-pages/man1/vos_online.1 b/doc/man-pages/man1/vos_online.1 index e073182bf..5c9534c52 100644 --- a/doc/man-pages/man1/vos_online.1 +++ b/doc/man-pages/man1/vos_online.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_ONLINE 1 "OpenAFS" "12/Jun/2007" "AFS Command Reference" +.TH VOS_ONLINE 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos online \- Brings a volume online +vos_online \- Brings a volume online .SH "SYNOPSIS" \fBvos online\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ \fB\-partition\fR\ <\fIpartition\ name\fR >>> <<\ \fB\-id\fR\ <\fIvolume\ name\ or\ ID\fR >>> <<\ [\fB\-bless\fR]\ >> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> @@ -267,7 +267,7 @@ This man page was created by Steven Jenkins. .rn }` '' .IX Title "VOS_ONLINE 1" -.IX Name "vos online - Brings a volume online" +.IX Name "vos_online - Brings a volume online" .IX Header "NAME" diff --git a/doc/man-pages/man1/vos_partinfo.1 b/doc/man-pages/man1/vos_partinfo.1 index 0dc589793..3a65475b5 100644 --- a/doc/man-pages/man1/vos_partinfo.1 +++ b/doc/man-pages/man1/vos_partinfo.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_PARTINFO 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH VOS_PARTINFO 1 "OpenAFS" "19/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos partinfo \- Reports the available and total space on a partition +vos_partinfo \- Reports the available and total space on a partition .SH "SYNOPSIS" \fBvos partinfo\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ [\fB\-partition\fR\ <\fIpartition\ name\fR] >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> @@ -202,6 +202,15 @@ size on either all of the partitions on the indicated file server machine (if the \fB\-partition\fR argument is omitted) or the specified partition on that file server machine. The Volume Location Database (VLDB) is not consulted. +.SH "CAUTIONS" +Currently, the maximum size of a volume is 2 terabytes (2^31 bytes) +and the maximum size of a /vicepX partition on a fileserver is also 2 +terabytes. The fileserver will not report an error when it has access +to a partition larger than 2 terabytes, but it will probably fail if +the administrator attempts to use more than 2 terabytes of space. In +addition, there are reports of erroneous disk usage numbers when +\fBvos partinfo\fR or other OpenAFS disk reporting tools are used with +partitions larger than 2 terabytes. .SH "OPTIONS" .Ip "\fB\-server\fR <\fIserver name\fR>" 4 Identifies the file server machine for which to display partition @@ -270,7 +279,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_PARTINFO 1" -.IX Name "vos partinfo - Reports the available and total space on a partition" +.IX Name "vos_partinfo - Reports the available and total space on a partition" .IX Header "NAME" @@ -278,6 +287,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Header "DESCRIPTION" +.IX Header "CAUTIONS" + .IX Header "OPTIONS" .IX Item "\fB\-server\fR <\fIserver name\fR>" diff --git a/doc/man-pages/man1/vos_release.1 b/doc/man-pages/man1/vos_release.1 index 55d49c6a8..af08ee992 100644 --- a/doc/man-pages/man1/vos_release.1 +++ b/doc/man-pages/man1/vos_release.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_RELEASE 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH VOS_RELEASE 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos release \- Updates read-only volumes to match the read/write source volume +vos_release \- Updates read-only volumes to match the read/write source volume .SH "SYNOPSIS" \fBvos release\fR <<\ \fB\-id\fR\ <\fIvolume\ name\ or\ ID\fR >>> [\fB\-f\fR] <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR] @@ -334,7 +334,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_RELEASE 1" -.IX Name "vos release - Updates read-only volumes to match the read/write source volume" +.IX Name "vos_release - Updates read-only volumes to match the read/write source volume" .IX Header "NAME" diff --git a/doc/man-pages/man1/vos_remove.1 b/doc/man-pages/man1/vos_remove.1 index 57fd4029e..59d2b0e06 100644 --- a/doc/man-pages/man1/vos_remove.1 +++ b/doc/man-pages/man1/vos_remove.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_REMOVE 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH VOS_REMOVE 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos remove \- Removes a volume from a site +vos_remove \- Removes a volume from a site .SH "SYNOPSIS" \fBvos remove\fR <<\ [\fB\-server\fR\ <\fImachine\ name\fR] >>> <<\ [\fB\-partition\fR\ <\fIpartition\ name\fR] >>> @@ -320,7 +320,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_REMOVE 1" -.IX Name "vos remove - Removes a volume from a site" +.IX Name "vos_remove - Removes a volume from a site" .IX Header "NAME" diff --git a/doc/man-pages/man1/vos_remsite.1 b/doc/man-pages/man1/vos_remsite.1 index bfec43ae4..4f94dcebe 100644 --- a/doc/man-pages/man1/vos_remsite.1 +++ b/doc/man-pages/man1/vos_remsite.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_REMSITE 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH VOS_REMSITE 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos remsite \- Removes a read-only site definition from a VLDB entry +vos_remsite \- Removes a read-only site definition from a VLDB entry .SH "SYNOPSIS" \fBvos remsite\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ \fB\-partition\fR\ <\fIpartition\ name\fR >>> <<\ \fB\-id\fR\ <\fIvolume\ name\ or\ ID\fR >>> @@ -277,7 +277,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_REMSITE 1" -.IX Name "vos remsite - Removes a read-only site definition from a VLDB entry" +.IX Name "vos_remsite - Removes a read-only site definition from a VLDB entry" .IX Header "NAME" diff --git a/doc/man-pages/man1/vos_rename.1 b/doc/man-pages/man1/vos_rename.1 index 9f5e60591..f7e5aace4 100644 --- a/doc/man-pages/man1/vos_rename.1 +++ b/doc/man-pages/man1/vos_rename.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_RENAME 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH VOS_RENAME 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos rename \- Renames a volume +vos_rename \- Renames a volume .SH "SYNOPSIS" \fBvos rename\fR <<\ \fB\-oldname\fR\ <\fIold\ volume\ name\fR >>> <<\ \fB\-newname\fR\ <\fInew\ volume\ name\fR >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> @@ -263,7 +263,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_RENAME 1" -.IX Name "vos rename - Renames a volume" +.IX Name "vos_rename - Renames a volume" .IX Header "NAME" diff --git a/doc/man-pages/man1/vos_restore.1 b/doc/man-pages/man1/vos_restore.1 index 3ccfab2fe..28d9fbc6b 100644 --- a/doc/man-pages/man1/vos_restore.1 +++ b/doc/man-pages/man1/vos_restore.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_RESTORE 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH VOS_RESTORE 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos restore \- Converts an ASCII dump file into an AFS volume +vos_restore \- Converts an ASCII dump file into an AFS volume .SH "SYNOPSIS" \fBvos restore\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ \fB\-partition\fR\ <\fIpartition\ name\fR >>> <<\ \fB\-name\fR\ <\fIname\ of\ volume\ to\ be\ restored\fR >>> <<\ [\fB\-file\fR\ <\fIdump\ file\fR] >>> @@ -350,7 +350,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_RESTORE 1" -.IX Name "vos restore - Converts an ASCII dump file into an AFS volume" +.IX Name "vos_restore - Converts an ASCII dump file into an AFS volume" .IX Header "NAME" diff --git a/doc/man-pages/man1/vos_size.1 b/doc/man-pages/man1/vos_size.1 index 838b7dac9..a458c5dc0 100644 --- a/doc/man-pages/man1/vos_size.1 +++ b/doc/man-pages/man1/vos_size.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_SIZE 1 "OpenAFS" "17/Aug/2007" "AFS Command Reference" +.TH VOS_SIZE 1 "OpenAFS" "25/Dec/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos size \- Computes the size of a volume dump +vos_size \- Computes the size of a volume dump .SH "SYNOPSIS" \fBvos size\fR <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-dump\fR] [\fB\-encrypt\fR] [\fB\-help\fR] [\fB\-id\fR] <\fIvolume name or id\fR> @@ -289,12 +289,13 @@ the \fIvos_examine(1)\fR manpage .SH "COPYRIGHT" Copyright 2007 Jason Edgecombe .PP -This documentation is covered by the IBM Public License Version -1.0. This man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. .rn }` '' .IX Title "VOS_SIZE 1" -.IX Name "vos size - Computes the size of a volume dump" +.IX Name "vos_size - Computes the size of a volume dump" .IX Header "NAME" diff --git a/doc/man-pages/man1/vos_status.1 b/doc/man-pages/man1/vos_status.1 index d63de7929..120673e35 100644 --- a/doc/man-pages/man1/vos_status.1 +++ b/doc/man-pages/man1/vos_status.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_STATUS 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH VOS_STATUS 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos status \- Reports a Volume Server's status +vos_status \- Reports a Volume Server's status .SH "SYNOPSIS" \fBvos status\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-help\fR] @@ -310,7 +310,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_STATUS 1" -.IX Name "vos status - Reports a Volume Server's status" +.IX Name "vos_status - Reports a Volume Server's status" .IX Header "NAME" diff --git a/doc/man-pages/man1/vos_syncserv.1 b/doc/man-pages/man1/vos_syncserv.1 index 94e86f7ea..3134e5c4f 100644 --- a/doc/man-pages/man1/vos_syncserv.1 +++ b/doc/man-pages/man1/vos_syncserv.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_SYNCSERV 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH VOS_SYNCSERV 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos syncserv \- Verifies VLDB entries that mention a specified site +vos_syncserv \- Verifies VLDB entries that mention a specified site .SH "SYNOPSIS" \fBvos syncserv\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ [\fB\-partition\fR\ <\fIpartition\ name\fR] >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> @@ -269,7 +269,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_SYNCSERV 1" -.IX Name "vos syncserv - Verifies VLDB entries that mention a specified site" +.IX Name "vos_syncserv - Verifies VLDB entries that mention a specified site" .IX Header "NAME" diff --git a/doc/man-pages/man1/vos_syncvldb.1 b/doc/man-pages/man1/vos_syncvldb.1 index dd01a2dbb..31c7e9099 100644 --- a/doc/man-pages/man1/vos_syncvldb.1 +++ b/doc/man-pages/man1/vos_syncvldb.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_SYNCVLDB 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH VOS_SYNCVLDB 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos syncvldb \- Verifies VLDB entries for volumes residing at specified site +vos_syncvldb \- Verifies VLDB entries for volumes residing at specified site .SH "SYNOPSIS" \fBvos syncvldb\fR <<\ [\fB\-server\fR\ <\fImachine\ name\fR] >>> <<\ [\fB\-partition\fR\ <\fIpartition\ name\fR] >>> <<\ [\fB\-volume\fR\ <\fIvolume\ name\ or\ ID\fR] >>> @@ -291,7 +291,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_SYNCVLDB 1" -.IX Name "vos syncvldb - Verifies VLDB entries for volumes residing at specified site" +.IX Name "vos_syncvldb - Verifies VLDB entries for volumes residing at specified site" .IX Header "NAME" diff --git a/doc/man-pages/man1/vos_unlock.1 b/doc/man-pages/man1/vos_unlock.1 index 32d91a47c..1e609b708 100644 --- a/doc/man-pages/man1/vos_unlock.1 +++ b/doc/man-pages/man1/vos_unlock.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_UNLOCK 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH VOS_UNLOCK 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos unlock \- Unlocks a single VLDB entry +vos_unlock \- Unlocks a single VLDB entry .SH "SYNOPSIS" \fBvos unlock\fR <<\ \fB\-id\fR\ <\fIvolume\ name\ or\ ID\fR >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-help\fR] @@ -257,7 +257,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_UNLOCK 1" -.IX Name "vos unlock - Unlocks a single VLDB entry" +.IX Name "vos_unlock - Unlocks a single VLDB entry" .IX Header "NAME" diff --git a/doc/man-pages/man1/vos_unlockvldb.1 b/doc/man-pages/man1/vos_unlockvldb.1 index 3e2687c7e..3e664fa63 100644 --- a/doc/man-pages/man1/vos_unlockvldb.1 +++ b/doc/man-pages/man1/vos_unlockvldb.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_UNLOCKVLDB 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH VOS_UNLOCKVLDB 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos unlockvldb \- Unlocks several locked VLDB entries +vos_unlockvldb \- Unlocks several locked VLDB entries .SH "SYNOPSIS" \fBvos unlockvldb\fR <<\ [\fB\-server\fR\ <\fImachine\ name\fR] >>> <<\ [\fB\-partition\fR\ <\fIpartition\ name\fR] >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> @@ -293,7 +293,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_UNLOCKVLDB 1" -.IX Name "vos unlockvldb - Unlocks several locked VLDB entries" +.IX Name "vos_unlockvldb - Unlocks several locked VLDB entries" .IX Header "NAME" diff --git a/doc/man-pages/man1/vos_zap.1 b/doc/man-pages/man1/vos_zap.1 index 802dac1ec..89716198c 100644 --- a/doc/man-pages/man1/vos_zap.1 +++ b/doc/man-pages/man1/vos_zap.1 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH VOS_ZAP 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH VOS_ZAP 1 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -vos zap \- Removes a volume from its site without writing to the VLDB +vos_zap \- Removes a volume from its site without writing to the VLDB .SH "SYNOPSIS" \fBvos zap\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ \fB\-partition\fR\ <\fIpartition\ name\fR >>> <<\ \fB\-id\fR\ <\fIvolume\ ID\fR >>> [\fB\-force\fR] [\fB\-backup\fR] @@ -308,7 +308,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "VOS_ZAP 1" -.IX Name "vos zap - Removes a volume from its site without writing to the VLDB" +.IX Name "vos_zap - Removes a volume from its site without writing to the VLDB" .IX Header "NAME" diff --git a/doc/man-pages/man5/CellAlias.5 b/doc/man-pages/man5/CellAlias.5 index a5f276b2e..276f408a4 100644 --- a/doc/man-pages/man5/CellAlias.5 +++ b/doc/man-pages/man5/CellAlias.5 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH CellAlias 5 "OpenAFS" "5/Aug/2007" "AFS File Reference" +.TH CellAlias 5 "OpenAFS" "25/Dec/2007" "AFS File Reference" .UC .if n .hy 0 .if n .na @@ -234,8 +234,9 @@ the \fIafsd(8)\fR manpage .SH "COPYRIGHT" Copyright 2007 Jason Edgecombe .PP -This documentation is covered by the IBM Public License Version 1.0. This -man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. .rn }` '' .IX Title "CellAlias 5" diff --git a/doc/man-pages/man8/afsd.8 b/doc/man-pages/man8/afsd.8 index 0d5fc461b..2c3de8581 100644 --- a/doc/man-pages/man8/afsd.8 +++ b/doc/man-pages/man8/afsd.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH afsd 8 "OpenAFS" "5/Aug/2007" "AFS Command Reference" +.TH afsd 8 "OpenAFS" "9/Mar/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -476,12 +476,14 @@ Be sure to set the UDP timeouts on the firewall to be at least twenty minutes for the best callback performance. .SH "OPTIONS" .Ip "\fB\-afsdb\fR" 4 -Enable afsdb support. This will use \s-1DNS\s0 to lookup the \s-1AFSDB\s0 record and use -that for the database servers for each cell instead of the values in the -\fICellServDB\fR file. This has the advantage of only needing to update one -\s-1DNS\s0 record to reconfigure the \s-1AFS\s0 clients for a new database server as -opposed to touching all of the clients, and also allows one to access a -cell without preconfiguring its database servers in \fICellServDB\fR. +Enable afsdb support. This will use \s-1DNS\s0 to lookup the \s-1AFSDB\s0 record and +use that for the database servers for each cell instead of the values +in the \fICellServDB\fR file. This has the advantage of only needing to +update one \s-1DNS\s0 record to reconfigure the \s-1AFS\s0 clients for a new +database server as opposed to touching all of the clients, and also +allows one to access a cell without preconfiguring its database +servers in \fICellServDB\fR. The format of \s-1AFSDB\s0 records is defined in +\s-1RFC\s0 1183. .Ip "\fB\-backuptree\fR" 4 Prefer backup volumes for mountpoints in backup volumes. This option means that the \s-1AFS\s0 client will prefer to resolve mount points to backup volumes @@ -654,7 +656,11 @@ overrides the default of the \f(CWroot.afs\fR volume. This option is ignored if .Ip "\fB\-rxbind\fR" 4 Bind the Rx socket (one interface only). .Ip "\fB\-rxpck\fR <\fIvalue for rx_extraPackets\fR>" 4 -Set rx_extraPackets to this value. +Set rx_extraPackets to this value. This sets the number of extra Rx +packet structures that are available to handle Rx connections. This +value should be increased if the \*(L"rxdebug 127.0.0.1 \-port 7001 +\-rxstats\*(R" command shows no free Rx packets. Increasing this value may +improve OpenAFS client performance in some circumstances. .Ip "\fB\-settime\fR" 4 Enable native \s-1AFS\s0 time synchronization. This option is the opposite of \fB\-nosettime\fR and cannot be used with the \fB\-nosettime\fR option. @@ -709,6 +715,8 @@ the \fIfs_newcell(1)\fR manpage, the \fIafs_cache(5)\fR manpage, the \fICellServDB(5)\fR manpage, the \fIcacheinfo(5)\fR manpage +.PP +RFC 1183 the section on \fI/www.faqs.org/rfcs/rfc1183.html\fR in the \fIhttp:\fR manpage .SH "COPYRIGHT" IBM Corporation 2000. All Rights Reserved. .PP diff --git a/doc/man-pages/man8/backup_adddump.8 b/doc/man-pages/man8/backup_adddump.8 index d0050621c..98f5a4e26 100644 --- a/doc/man-pages/man8/backup_adddump.8 +++ b/doc/man-pages/man8/backup_adddump.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_adddump 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_adddump 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup adddump \- Defines a dump level in the dump hierarchy +backup_adddump \- Defines a dump level in the dump hierarchy .SH "SYNOPSIS" \fBbackup adddump\fR <<\ \fB\-dump\fR\ <\fIdump\ level\ name\fR+ >>> <<\ [\fB\-expires\fR\ <\fIexpiration\ date\fR+] >>> @@ -339,7 +339,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_adddump 8" -.IX Name "backup adddump - Defines a dump level in the dump hierarchy" +.IX Name "backup_adddump - Defines a dump level in the dump hierarchy" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_addhost.8 b/doc/man-pages/man8/backup_addhost.8 index a4fab0bf6..92583775f 100644 --- a/doc/man-pages/man8/backup_addhost.8 +++ b/doc/man-pages/man8/backup_addhost.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_addhost 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_addhost 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup addhost \- Adds a Tape Coordinator entry to the Backup Database +backup_addhost \- Adds a Tape Coordinator entry to the Backup Database .SH "SYNOPSIS" \fBbackup addhost\fR <<\ \fB\-tapehost\fR\ <\fItape\ machine\ name\fR >>> <<\ [\fB\-portoffset\fR\ <\fITC\ port\ offset\fR] >>> @@ -271,7 +271,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_addhost 8" -.IX Name "backup addhost - Adds a Tape Coordinator entry to the Backup Database" +.IX Name "backup_addhost - Adds a Tape Coordinator entry to the Backup Database" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_addvolentry.8 b/doc/man-pages/man8/backup_addvolentry.8 index 0d2a7531a..5a4d714b4 100644 --- a/doc/man-pages/man8/backup_addvolentry.8 +++ b/doc/man-pages/man8/backup_addvolentry.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_addvolentry 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_addvolentry 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup addvolentry \- Defines a volume entry in a volume set +backup_addvolentry \- Defines a volume entry in a volume set .SH "SYNOPSIS" \fBbackup addvolentry\fR <<\ \fB\-name\fR\ <\fIvolume\ set\ name\fR >>> <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ \fB\-partition\fR\ <\fIpartition\ name\fR >>> @@ -329,7 +329,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_addvolentry 8" -.IX Name "backup addvolentry - Defines a volume entry in a volume set" +.IX Name "backup_addvolentry - Defines a volume entry in a volume set" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_addvolset.8 b/doc/man-pages/man8/backup_addvolset.8 index 860e788b1..6b2808153 100644 --- a/doc/man-pages/man8/backup_addvolset.8 +++ b/doc/man-pages/man8/backup_addvolset.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_addvolset 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_addvolset 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup addvolset \- Creates a new (empty) volume set +backup_addvolset \- Creates a new (empty) volume set .SH "SYNOPSIS" \fBbackup addvolset\fR <<\ \fB\-name\fR\ <\fIvolume\ set\ name\fR >>> [\fB\-temporary\fR] [\fB\-localauth\fR] <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-help\fR] @@ -268,7 +268,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_addvolset 8" -.IX Name "backup addvolset - Creates a new (empty) volume set" +.IX Name "backup_addvolset - Creates a new (empty) volume set" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_apropos.8 b/doc/man-pages/man8/backup_apropos.8 index 2a9e8144e..a199087be 100644 --- a/doc/man-pages/man8/backup_apropos.8 +++ b/doc/man-pages/man8/backup_apropos.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_apropos 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_apropos 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup apropos \- Displays each help entry containing a keyword string +backup_apropos \- Displays each help entry containing a keyword string .SH "SYNOPSIS" \fBbackup apropos\fR <<\ \fB\-topic\fR\ <\fIhelp\ string\fR >>> [\fB\-help\fR] .PP @@ -237,7 +237,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_apropos 8" -.IX Name "backup apropos - Displays each help entry containing a keyword string" +.IX Name "backup_apropos - Displays each help entry containing a keyword string" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_dbverify.8 b/doc/man-pages/man8/backup_dbverify.8 index 93c3b3381..80cbceea7 100644 --- a/doc/man-pages/man8/backup_dbverify.8 +++ b/doc/man-pages/man8/backup_dbverify.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_dbverify 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_dbverify 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup dbverify \- Checks the integrity of the Backup Database +backup_dbverify \- Checks the integrity of the Backup Database .SH "SYNOPSIS" \fBbackup dbverify\fR [\fB\-detail\fR] [\fB\-localauth\fR] <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-help\fR] @@ -287,7 +287,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_dbverify 8" -.IX Name "backup dbverify - Checks the integrity of the Backup Database" +.IX Name "backup_dbverify - Checks the integrity of the Backup Database" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_deldump.8 b/doc/man-pages/man8/backup_deldump.8 index 7271cc416..42ec53947 100644 --- a/doc/man-pages/man8/backup_deldump.8 +++ b/doc/man-pages/man8/backup_deldump.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_deldump 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_deldump 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup deldump \- Deletes a dump level from the Backup Database +backup_deldump \- Deletes a dump level from the Backup Database .SH "SYNOPSIS" \fBbackup deldump\fR <<\ \fB\-dump\fR\ <\fIdump\ level\ name\fR >>> [\fB\-localauth\fR] <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-help\fR] @@ -239,7 +239,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_deldump 8" -.IX Name "backup deldump - Deletes a dump level from the Backup Database" +.IX Name "backup_deldump - Deletes a dump level from the Backup Database" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_deletedump.8 b/doc/man-pages/man8/backup_deletedump.8 index 396613b51..a850b99d4 100644 --- a/doc/man-pages/man8/backup_deletedump.8 +++ b/doc/man-pages/man8/backup_deletedump.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_deletedump 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_deletedump 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup deletedump \- Deletes one or more dump records from the Backup Database +backup_deletedump \- Deletes one or more dump records from the Backup Database .SH "SYNOPSIS" \fBbackup deletedump\fR <<\ [\fB\-dumpid\fR\ <\fIdump\ id\fR+] >>> <<\ [\fB\-from\fR\ <\fIdate\ time\fR+] >>> <<\ [\fB\-to\fR\ <\fIdate\ time\fR+] >>> [\fB\-localauth\fR] <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> @@ -342,7 +342,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_deletedump 8" -.IX Name "backup deletedump - Deletes one or more dump records from the Backup Database" +.IX Name "backup_deletedump - Deletes one or more dump records from the Backup Database" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_delhost.8 b/doc/man-pages/man8/backup_delhost.8 index a91c43115..a6cd05bab 100644 --- a/doc/man-pages/man8/backup_delhost.8 +++ b/doc/man-pages/man8/backup_delhost.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_delhost 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_delhost 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup delhost \- Deletes a Tape Coordinator entry from the Backup Database +backup_delhost \- Deletes a Tape Coordinator entry from the Backup Database .SH "SYNOPSIS" \fBbackup delhost\fR <<\ \fB\-tapehost\fR\ <\fItape\ machine\ name\fR >>> <<\ [\fB\-portoffset\fR\ <\fITC\ port\ offset\fR] >>> [\fB\-localauth\fR] @@ -255,7 +255,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_delhost 8" -.IX Name "backup delhost - Deletes a Tape Coordinator entry from the Backup Database" +.IX Name "backup_delhost - Deletes a Tape Coordinator entry from the Backup Database" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_delvolentry.8 b/doc/man-pages/man8/backup_delvolentry.8 index 1ad5e3c34..71dd42015 100644 --- a/doc/man-pages/man8/backup_delvolentry.8 +++ b/doc/man-pages/man8/backup_delvolentry.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_delvolentry 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_delvolentry 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup delvolentry \- Deletes a volume entry from a volume set +backup_delvolentry \- Deletes a volume entry from a volume set .SH "SYNOPSIS" \fBbackup delvolentry\fR <<\ \fB\-name\fR\ <\fIvolume\ set\ name\fR >>> <<\ \fB\-entry\fR\ <\fIvolume\ set\ index\fR >>> [\fB\-localauth\fR] @@ -254,7 +254,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_delvolentry 8" -.IX Name "backup delvolentry - Deletes a volume entry from a volume set" +.IX Name "backup_delvolentry - Deletes a volume entry from a volume set" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_delvolset.8 b/doc/man-pages/man8/backup_delvolset.8 index f5fe56ab1..dca085e63 100644 --- a/doc/man-pages/man8/backup_delvolset.8 +++ b/doc/man-pages/man8/backup_delvolset.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_delvolset 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_delvolset 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup delvolset \- Deletes one or more volume sets from the Backup Database +backup_delvolset \- Deletes one or more volume sets from the Backup Database .SH "SYNOPSIS" \fBbackup delvolset\fR <<\ \fB\-name\fR\ <\fIvolume\ set\ name\fR+ >>> [\fB\-localauth\fR] <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-help\fR] @@ -246,7 +246,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_delvolset 8" -.IX Name "backup delvolset - Deletes one or more volume sets from the Backup Database" +.IX Name "backup_delvolset - Deletes one or more volume sets from the Backup Database" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_diskrestore.8 b/doc/man-pages/man8/backup_diskrestore.8 index 7d98a8042..c41d17448 100644 --- a/doc/man-pages/man8/backup_diskrestore.8 +++ b/doc/man-pages/man8/backup_diskrestore.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_diskrestore 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_diskrestore 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup diskrestore \- Restores the entire contents of a partition +backup_diskrestore \- Restores the entire contents of a partition .SH "SYNOPSIS" \fBbackup diskrestore\fR <<\ \fB\-server\fR\ <\fImachine\ to\ restore\fR >>> <<\ \fB\-partition\fR\ <\fIpartition\ to\ restore\fR >>> @@ -421,7 +421,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_diskrestore 8" -.IX Name "backup diskrestore - Restores the entire contents of a partition" +.IX Name "backup_diskrestore - Restores the entire contents of a partition" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_dump.8 b/doc/man-pages/man8/backup_dump.8 index 8e94f3b2a..fc3242b47 100644 --- a/doc/man-pages/man8/backup_dump.8 +++ b/doc/man-pages/man8/backup_dump.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_dump 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_dump 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup dump \- Creates a dump (dumps a volume set at a particular dump level) +backup_dump \- Creates a dump (dumps a volume set at a particular dump level) .SH "SYNOPSIS" \fBbackup dump\fR <<\ [\fB\-volumeset\fR\ <\fIvolume\ set\ name\fR] >>> <<\ [\fB\-dump\fR\ <\fIdump\ level\ name\fR] >>> @@ -644,7 +644,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_dump 8" -.IX Name "backup dump - Creates a dump (dumps a volume set at a particular dump level)" +.IX Name "backup_dump - Creates a dump (dumps a volume set at a particular dump level)" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_dumpinfo.8 b/doc/man-pages/man8/backup_dumpinfo.8 index 844d24487..19c3a7acc 100644 --- a/doc/man-pages/man8/backup_dumpinfo.8 +++ b/doc/man-pages/man8/backup_dumpinfo.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_dumpinfo 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_dumpinfo 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup dumpinfo \- Displays a dump record from the Backup Database +backup_dumpinfo \- Displays a dump record from the Backup Database .SH "SYNOPSIS" \fBbackup dumpinfo\fR <<\ [\fB\-ndumps\fR\ <\fInumber\ of\ dumps\fR] >>> <<\ [\fB\-id\fR\ <\fIdump\ id\fR] >>> [\fB\-verbose\fR] [\fB\-localauth\fR] @@ -489,7 +489,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_dumpinfo 8" -.IX Name "backup dumpinfo - Displays a dump record from the Backup Database" +.IX Name "backup_dumpinfo - Displays a dump record from the Backup Database" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_help.8 b/doc/man-pages/man8/backup_help.8 index dbefa120f..22b6b4b03 100644 --- a/doc/man-pages/man8/backup_help.8 +++ b/doc/man-pages/man8/backup_help.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_help 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_help 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup help \- Displays help for backup commands +backup_help \- Displays help for backup commands .SH "SYNOPSIS" \fBbackup help\fR <<\ [\fB\-topic\fR\ <\fIhelp\ string\fR+] >>> [\fB\-help\fR] .PP @@ -247,7 +247,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_help 8" -.IX Name "backup help - Displays help for backup commands" +.IX Name "backup_help - Displays help for backup commands" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_interactive.8 b/doc/man-pages/man8/backup_interactive.8 index 4f8bcdcba..c80070797 100644 --- a/doc/man-pages/man8/backup_interactive.8 +++ b/doc/man-pages/man8/backup_interactive.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_interactive 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_interactive 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup interactive \- Enters interactive mode +backup_interactive \- Enters interactive mode .SH "SYNOPSIS" \fBbackup\fR [\fBinteractive\fR] [\fB\-localauth\fR] <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-help\fR] @@ -271,7 +271,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_interactive 8" -.IX Name "backup interactive - Enters interactive mode" +.IX Name "backup_interactive - Enters interactive mode" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_jobs.8 b/doc/man-pages/man8/backup_jobs.8 index 76a30cabc..b9c83c30f 100644 --- a/doc/man-pages/man8/backup_jobs.8 +++ b/doc/man-pages/man8/backup_jobs.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_jobs 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_jobs 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup jobs \- Lists pending and running operations in interactive mode +backup_jobs \- Lists pending and running operations in interactive mode .SH "SYNOPSIS" \fBjobs\fR [\fB\-help\fR] .PP @@ -337,7 +337,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_jobs 8" -.IX Name "backup jobs - Lists pending and running operations in interactive mode" +.IX Name "backup_jobs - Lists pending and running operations in interactive mode" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_kill.8 b/doc/man-pages/man8/backup_kill.8 index 7151e8071..b8a9f313e 100644 --- a/doc/man-pages/man8/backup_kill.8 +++ b/doc/man-pages/man8/backup_kill.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_kill 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_kill 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup kill \- Terminates a pending or running operation +backup_kill \- Terminates a pending or running operation .SH "SYNOPSIS" \fBkill\fR <<\ \fB\-id\fR\ <\fIjob\ ID\ or\ dump\ set\ name\fR >>> [\fB\-help\fR] .PP @@ -305,7 +305,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_kill 8" -.IX Name "backup kill - Terminates a pending or running operation" +.IX Name "backup_kill - Terminates a pending or running operation" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_labeltape.8 b/doc/man-pages/man8/backup_labeltape.8 index c90638456..bbca41589 100644 --- a/doc/man-pages/man8/backup_labeltape.8 +++ b/doc/man-pages/man8/backup_labeltape.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_labeltape 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_labeltape 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup labeltape \- Creates the magnetic label on a tape +backup_labeltape \- Creates the magnetic label on a tape .SH "SYNOPSIS" \fBbackup labeltape\fR <<\ [\fB\-name\fR\ <\fIAFS\ tape\ name,\ defaults\ to\ NULL\fR] >>> <<\ [\fB\-size\fR\ <\fItape\ size\ in\ Kbytes,\ defaults\ to\ size\ in\ tapeconfig\fR] >>> @@ -377,7 +377,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_labeltape 8" -.IX Name "backup labeltape - Creates the magnetic label on a tape" +.IX Name "backup_labeltape - Creates the magnetic label on a tape" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_listdumps.8 b/doc/man-pages/man8/backup_listdumps.8 index 5101a8918..067b2d4d0 100644 --- a/doc/man-pages/man8/backup_listdumps.8 +++ b/doc/man-pages/man8/backup_listdumps.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_listdumps 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_listdumps 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup listdumps \- Displays the dump hierarchy from the Backup Database +backup_listdumps \- Displays the dump hierarchy from the Backup Database .SH "SYNOPSIS" \fBbackup listdumps\fR [\fB\-localauth\fR] <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-help\fR] .PP @@ -299,7 +299,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_listdumps 8" -.IX Name "backup listdumps - Displays the dump hierarchy from the Backup Database" +.IX Name "backup_listdumps - Displays the dump hierarchy from the Backup Database" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_listhosts.8 b/doc/man-pages/man8/backup_listhosts.8 index 0aa793369..a43083e73 100644 --- a/doc/man-pages/man8/backup_listhosts.8 +++ b/doc/man-pages/man8/backup_listhosts.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_listhosts 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_listhosts 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup listhosts \- Lists Tape Coordinators registered in the Backup Database +backup_listhosts \- Lists Tape Coordinators registered in the Backup Database .SH "SYNOPSIS" \fBbackup listhosts\fR [\fB\-localauth\fR] <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-help\fR] .PP @@ -258,7 +258,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_listhosts 8" -.IX Name "backup listhosts - Lists Tape Coordinators registered in the Backup Database" +.IX Name "backup_listhosts - Lists Tape Coordinators registered in the Backup Database" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_listvolsets.8 b/doc/man-pages/man8/backup_listvolsets.8 index 747776e5c..47b3511db 100644 --- a/doc/man-pages/man8/backup_listvolsets.8 +++ b/doc/man-pages/man8/backup_listvolsets.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_listvolsets 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_listvolsets 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup listvolsets \- Lists volume set entries from the Backup Database +backup_listvolsets \- Lists volume set entries from the Backup Database .SH "SYNOPSIS" \fBbackup listvolsets\fR <<\ [\fB\-name\fR\ <\fIvolume\ set\ name\fR] >>> [\fB\-localauth\fR] <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-help\fR] @@ -262,7 +262,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_listvolsets 8" -.IX Name "backup listvolsets - Lists volume set entries from the Backup Database" +.IX Name "backup_listvolsets - Lists volume set entries from the Backup Database" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_quit.8 b/doc/man-pages/man8/backup_quit.8 index 0c7ea947c..dab398183 100644 --- a/doc/man-pages/man8/backup_quit.8 +++ b/doc/man-pages/man8/backup_quit.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_quit 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_quit 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup quit \- Leaves interactive mode +backup_quit \- Leaves interactive mode .SH "SYNOPSIS" \fBquit\fR [\fB\-help\fR] .PP @@ -230,7 +230,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_quit 8" -.IX Name "backup quit - Leaves interactive mode" +.IX Name "backup_quit - Leaves interactive mode" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_readlabel.8 b/doc/man-pages/man8/backup_readlabel.8 index 9624e3fb8..d9086ab90 100644 --- a/doc/man-pages/man8/backup_readlabel.8 +++ b/doc/man-pages/man8/backup_readlabel.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_readlabel 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_readlabel 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup readlabel \- Reads and displays a tape's label +backup_readlabel \- Reads and displays a tape's label .SH "SYNOPSIS" \fBbackup readlabel\fR <<\ [\fB\-portoffset\fR\ <\fITC\ port\ offset\fR] >>> [\fB\-localauth\fR] <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-help\fR] @@ -375,7 +375,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_readlabel 8" -.IX Name "backup readlabel - Reads and displays a tape's label" +.IX Name "backup_readlabel - Reads and displays a tape's label" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_restoredb.8 b/doc/man-pages/man8/backup_restoredb.8 index 27d42c46b..8a0a1d4d9 100644 --- a/doc/man-pages/man8/backup_restoredb.8 +++ b/doc/man-pages/man8/backup_restoredb.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_restoredb 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_restoredb 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup restoredb \- Restores a saved copy of the Backup Database +backup_restoredb \- Restores a saved copy of the Backup Database .SH "SYNOPSIS" \fBbackup restoredb\fR <<\ [\fB\-portoffset\fR\ <\fITC\ port\ offset\fR] >>> [\fB\-localauth\fR] <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-help\fR] @@ -284,7 +284,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_restoredb 8" -.IX Name "backup restoredb - Restores a saved copy of the Backup Database" +.IX Name "backup_restoredb - Restores a saved copy of the Backup Database" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_savedb.8 b/doc/man-pages/man8/backup_savedb.8 index 2c44ad3b2..c293c8a9f 100644 --- a/doc/man-pages/man8/backup_savedb.8 +++ b/doc/man-pages/man8/backup_savedb.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_savedb 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_savedb 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup savedb \- Creates a saved copy of the Backup Database +backup_savedb \- Creates a saved copy of the Backup Database .SH "SYNOPSIS" \fBbackup savedb\fR <<\ [\fB\-portoffset\fR\ <\fITC\ port\ offset\fR] >>> <<\ [\fB\-archive\fR\ <\fIdate\ time\fR+] >>> [\fB\-localauth\fR] @@ -311,7 +311,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_savedb 8" -.IX Name "backup savedb - Creates a saved copy of the Backup Database" +.IX Name "backup_savedb - Creates a saved copy of the Backup Database" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_scantape.8 b/doc/man-pages/man8/backup_scantape.8 index d310de1b1..eaff40aef 100644 --- a/doc/man-pages/man8/backup_scantape.8 +++ b/doc/man-pages/man8/backup_scantape.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_scantape 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_scantape 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup scantape \- Extracts dump information from a tape +backup_scantape \- Extracts dump information from a tape .SH "SYNOPSIS" \fBbackup scantape\fR [\fB\-dbadd\fR] <<\ [\fB\-portoffset\fR\ <\fITC\ port\ offset\fR] >>> [\fB\-localauth\fR] <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-help\fR] @@ -454,7 +454,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_scantape 8" -.IX Name "backup scantape - Extracts dump information from a tape" +.IX Name "backup_scantape - Extracts dump information from a tape" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_setexp.8 b/doc/man-pages/man8/backup_setexp.8 index cec879735..6bbfc47dd 100644 --- a/doc/man-pages/man8/backup_setexp.8 +++ b/doc/man-pages/man8/backup_setexp.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_setexp 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_setexp 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup setexp \- Sets the expiration date for existing dump levels. +backup_setexp \- Sets the expiration date for existing dump levels. .SH "SYNOPSIS" \fBbackup setexp\fR <<\ \fB\-dump\fR\ <\fIdump\ level\ name\fR+ >>> <<\ [\fB\-expires\fR\ <\fIexpiration\ date\fR+] >>> [\fB\-localauth\fR] @@ -316,7 +316,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_setexp 8" -.IX Name "backup setexp - Sets the expiration date for existing dump levels." +.IX Name "backup_setexp - Sets the expiration date for existing dump levels." .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_status.8 b/doc/man-pages/man8/backup_status.8 index cab94f780..601968a52 100644 --- a/doc/man-pages/man8/backup_status.8 +++ b/doc/man-pages/man8/backup_status.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_status 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_status 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup status \- Reports a Tape Coordinator's status +backup_status \- Reports a Tape Coordinator's status .SH "SYNOPSIS" \fBbackup status\fR <<\ [\fB\-portoffset\fR\ <\fITC\ port\ offset\fR] >>> [\fB\-localauth\fR] <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-help\fR] @@ -309,7 +309,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_status 8" -.IX Name "backup status - Reports a Tape Coordinator's status" +.IX Name "backup_status - Reports a Tape Coordinator's status" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_volinfo.8 b/doc/man-pages/man8/backup_volinfo.8 index 80ffdc526..6036d2698 100644 --- a/doc/man-pages/man8/backup_volinfo.8 +++ b/doc/man-pages/man8/backup_volinfo.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_volinfo 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_volinfo 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup volinfo \- Displays a volume's dump history from the Backup Database +backup_volinfo \- Displays a volume's dump history from the Backup Database .SH "SYNOPSIS" \fBbackup volinfo\fR <<\ \fB\-volume\fR\ <\fIvolume\ name\fR >>> [\fB\-localauth\fR] <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-help\fR] @@ -277,7 +277,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_volinfo 8" -.IX Name "backup volinfo - Displays a volume's dump history from the Backup Database" +.IX Name "backup_volinfo - Displays a volume's dump history from the Backup Database" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_volrestore.8 b/doc/man-pages/man8/backup_volrestore.8 index da964e6cb..71f277e41 100644 --- a/doc/man-pages/man8/backup_volrestore.8 +++ b/doc/man-pages/man8/backup_volrestore.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_volrestore 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_volrestore 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup volrestore \- Restores one or more volumes +backup_volrestore \- Restores one or more volumes .SH "SYNOPSIS" \fBbackup volrestore\fR <<\ \fB\-server\fR\ <\fIdestination\ machine\fR >>> <<\ \fB\-partition\fR\ <\fIdestination\ partition\fR >>> @@ -446,7 +446,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_volrestore 8" -.IX Name "backup volrestore - Restores one or more volumes" +.IX Name "backup_volrestore - Restores one or more volumes" .IX Header "NAME" diff --git a/doc/man-pages/man8/backup_volsetrestore.8 b/doc/man-pages/man8/backup_volsetrestore.8 index 2175d45d4..aee34a2db 100644 --- a/doc/man-pages/man8/backup_volsetrestore.8 +++ b/doc/man-pages/man8/backup_volsetrestore.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH backup_volsetrestore 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH backup_volsetrestore 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -backup volsetrestore \- Restores all volumes in a volume set +backup_volsetrestore \- Restores all volumes in a volume set .SH "SYNOPSIS" \fBbackup volsetrestore\fR <<\ [\fB\-name\fR\ <\fIvolume\ set\ name\fR] >>> <<\ [\fB\-file\fR\ <\fIfile\ name\fR] >>> <<\ [\fB\-portoffset\fR\ <\fITC\ port\ offset\fR+] >>> @@ -513,7 +513,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "backup_volsetrestore 8" -.IX Name "backup volsetrestore - Restores all volumes in a volume set" +.IX Name "backup_volsetrestore - Restores all volumes in a volume set" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_addhost.8 b/doc/man-pages/man8/bos_addhost.8 index 8c665cc1d..7bbffd9b9 100644 --- a/doc/man-pages/man8/bos_addhost.8 +++ b/doc/man-pages/man8/bos_addhost.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_addhost 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_addhost 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos addhost \- Adds a database server machine to the CellServDB file +bos_addhost \- Adds a database server machine to the CellServDB file .SH "SYNOPSIS" \fBbos addhost\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ \fB\-host\fR\ <\fIhost\ name\fR+ >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR] @@ -277,7 +277,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_addhost 8" -.IX Name "bos addhost - Adds a database server machine to the CellServDB file" +.IX Name "bos_addhost - Adds a database server machine to the CellServDB file" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_addkey.8 b/doc/man-pages/man8/bos_addkey.8 index 6a6c3ffed..3b6b3c19a 100644 --- a/doc/man-pages/man8/bos_addkey.8 +++ b/doc/man-pages/man8/bos_addkey.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_addkey 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_addkey 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos addkey \- Adds a new server encryption key to the KeyFile file +bos_addkey \- Adds a new server encryption key to the KeyFile file .SH "SYNOPSIS" \fBbos addkey\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ [\fB\-key\fR\ <\fIkey\fR] >>> <<\ \fB\-kvno\fR\ <\fIkey\ version\ number\fR >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> @@ -295,7 +295,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_addkey 8" -.IX Name "bos addkey - Adds a new server encryption key to the KeyFile file" +.IX Name "bos_addkey - Adds a new server encryption key to the KeyFile file" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_adduser.8 b/doc/man-pages/man8/bos_adduser.8 index c71192897..aa3b8a424 100644 --- a/doc/man-pages/man8/bos_adduser.8 +++ b/doc/man-pages/man8/bos_adduser.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_adduser 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_adduser 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos adduser \- Adds a privileged user to the UserList file +bos_adduser \- Adds a privileged user to the UserList file .SH "SYNOPSIS" \fBbos adduser\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ \fB\-user\fR\ <\fIuser\ names\fR+ >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR] @@ -258,7 +258,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_adduser 8" -.IX Name "bos adduser - Adds a privileged user to the UserList file" +.IX Name "bos_adduser - Adds a privileged user to the UserList file" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_apropos.8 b/doc/man-pages/man8/bos_apropos.8 index 936271123..eebc970e3 100644 --- a/doc/man-pages/man8/bos_apropos.8 +++ b/doc/man-pages/man8/bos_apropos.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_apropos 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_apropos 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos apropos \- Displays each help entry containing a keyword string +bos_apropos \- Displays each help entry containing a keyword string .SH "SYNOPSIS" \fBbos apropos\fR <<\ \fB\-topic\fR\ <\fIhelp\ string\fR >>> [\fB\-help\fR] .PP @@ -236,7 +236,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_apropos 8" -.IX Name "bos apropos - Displays each help entry containing a keyword string" +.IX Name "bos_apropos - Displays each help entry containing a keyword string" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_create.8 b/doc/man-pages/man8/bos_create.8 index 7003dbb10..91cc6b488 100644 --- a/doc/man-pages/man8/bos_create.8 +++ b/doc/man-pages/man8/bos_create.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_create 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_create 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos create \- Defines a new process in the BosConfig file and starts it +bos_create \- Defines a new process in the BosConfig file and starts it .SH "SYNOPSIS" \fBbos create\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ \fB\-instance\fR\ <\fIserver\ process\ name\fR >>> <<\ \fB\-type\fR\ <\fIserver\ type\fR >>> @@ -496,7 +496,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_create 8" -.IX Name "bos create - Defines a new process in the BosConfig file and starts it" +.IX Name "bos_create - Defines a new process in the BosConfig file and starts it" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_delete.8 b/doc/man-pages/man8/bos_delete.8 index 89f171346..3473e8621 100644 --- a/doc/man-pages/man8/bos_delete.8 +++ b/doc/man-pages/man8/bos_delete.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_delete 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_delete 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos delete \- Deletes a server process from the BosConfig file +bos_delete \- Deletes a server process from the BosConfig file .SH "SYNOPSIS" \fBbos delete\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ \fB\-instance\fR\ <\fIserver\ process\ name\fR+ >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> @@ -261,7 +261,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_delete 8" -.IX Name "bos delete - Deletes a server process from the BosConfig file" +.IX Name "bos_delete - Deletes a server process from the BosConfig file" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_exec.8 b/doc/man-pages/man8/bos_exec.8 index 6fcadfaf6..a651ca342 100644 --- a/doc/man-pages/man8/bos_exec.8 +++ b/doc/man-pages/man8/bos_exec.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_exec 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_exec 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos exec \- Executes a command on a remote server machine +bos_exec \- Executes a command on a remote server machine .SH "SYNOPSIS" \fBbos exec\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ \fB\-cmd\fR\ <\fIcommand\ to\ execute\fR >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR] @@ -248,7 +248,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_exec 8" -.IX Name "bos exec - Executes a command on a remote server machine" +.IX Name "bos_exec - Executes a command on a remote server machine" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_getdate.8 b/doc/man-pages/man8/bos_getdate.8 index 97e804f6a..8f60bc561 100644 --- a/doc/man-pages/man8/bos_getdate.8 +++ b/doc/man-pages/man8/bos_getdate.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_getdate 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_getdate 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos getdate \- Displays the time stamps on an AFS binary file +bos_getdate \- Displays the time stamps on an AFS binary file .SH "SYNOPSIS" \fBbos getdate\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ \fB\-file\fR\ <\fIfiles\ to\ check\fR+ >>> <<\ [\fB\-dir\fR\ <\fIdestination\ dir\fR] >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> @@ -272,7 +272,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_getdate 8" -.IX Name "bos getdate - Displays the time stamps on an AFS binary file" +.IX Name "bos_getdate - Displays the time stamps on an AFS binary file" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_getlog.8 b/doc/man-pages/man8/bos_getlog.8 index dd1b2ba70..bdcb14464 100644 --- a/doc/man-pages/man8/bos_getlog.8 +++ b/doc/man-pages/man8/bos_getlog.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_getlog 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_getlog 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos getlog \- Prints a server process's log file +bos_getlog \- Prints a server process's log file .SH "SYNOPSIS" \fBbos getlog\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ \fB\-file\fR\ <\fIlog\ file\ to\ examine\fR >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR] @@ -289,7 +289,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_getlog 8" -.IX Name "bos getlog - Prints a server process's log file" +.IX Name "bos_getlog - Prints a server process's log file" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_getrestart.8 b/doc/man-pages/man8/bos_getrestart.8 index 529c5a06b..dd297dba0 100644 --- a/doc/man-pages/man8/bos_getrestart.8 +++ b/doc/man-pages/man8/bos_getrestart.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_getrestart 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_getrestart 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos getrestart \- Displays the automatic restart times for server processes +bos_getrestart \- Displays the automatic restart times for server processes .SH "SYNOPSIS" \fBbos getrestart\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR] @@ -289,7 +289,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_getrestart 8" -.IX Name "bos getrestart - Displays the automatic restart times for server processes" +.IX Name "bos_getrestart - Displays the automatic restart times for server processes" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_help.8 b/doc/man-pages/man8/bos_help.8 index 0a5dc6e31..af7a8b99f 100644 --- a/doc/man-pages/man8/bos_help.8 +++ b/doc/man-pages/man8/bos_help.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_help 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_help 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos help \- Displays help for bos commands +bos_help \- Displays help for bos commands .SH "SYNOPSIS" \fBbos help\fR <<\ [\fB\-topic\fR\ <\fIhelp\ string\fR+] >>> [\fB\-help\fR] .PP @@ -248,7 +248,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_help 8" -.IX Name "bos help - Displays help for bos commands" +.IX Name "bos_help - Displays help for bos commands" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_install.8 b/doc/man-pages/man8/bos_install.8 index 38ecee7a0..4078eb06d 100644 --- a/doc/man-pages/man8/bos_install.8 +++ b/doc/man-pages/man8/bos_install.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_install 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_install 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos install \- Installs a new version of a binary file +bos_install \- Installs a new version of a binary file .SH "SYNOPSIS" \fBbos install\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ \fB\-file\fR\ <\fIfiles\ to\ install\fR+ >>> <<\ [\fB\-dir\fR\ <\fIdestination\ dir\fR] >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> @@ -292,7 +292,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_install 8" -.IX Name "bos install - Installs a new version of a binary file" +.IX Name "bos_install - Installs a new version of a binary file" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_listhosts.8 b/doc/man-pages/man8/bos_listhosts.8 index 2bc2b7a62..28eb01b7f 100644 --- a/doc/man-pages/man8/bos_listhosts.8 +++ b/doc/man-pages/man8/bos_listhosts.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_listhosts 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_listhosts 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos listhosts \- Displays the contents of the CellServDB file +bos_listhosts \- Displays the contents of the CellServDB file .SH "SYNOPSIS" \fBbos listhosts\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR] @@ -271,7 +271,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_listhosts 8" -.IX Name "bos listhosts - Displays the contents of the CellServDB file" +.IX Name "bos_listhosts - Displays the contents of the CellServDB file" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_listkeys.8 b/doc/man-pages/man8/bos_listkeys.8 index ff1c2a6ac..17b18a185 100644 --- a/doc/man-pages/man8/bos_listkeys.8 +++ b/doc/man-pages/man8/bos_listkeys.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_listkeys 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_listkeys 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos listkeys \- Displays the server encryption keys from the KeyFile file +bos_listkeys \- Displays the server encryption keys from the KeyFile file .SH "SYNOPSIS" \fBbos listkeys\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> [\fB\-showkey\fR] <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR] @@ -297,7 +297,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_listkeys 8" -.IX Name "bos listkeys - Displays the server encryption keys from the KeyFile file" +.IX Name "bos_listkeys - Displays the server encryption keys from the KeyFile file" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_listusers.8 b/doc/man-pages/man8/bos_listusers.8 index f25bab797..60cad8d8f 100644 --- a/doc/man-pages/man8/bos_listusers.8 +++ b/doc/man-pages/man8/bos_listusers.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_listusers 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_listusers 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos listusers \- Lists the privileged users from the UserList file +bos_listusers \- Lists the privileged users from the UserList file .SH "SYNOPSIS" \fBbos listusers\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR] @@ -256,7 +256,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_listusers 8" -.IX Name "bos listusers - Lists the privileged users from the UserList file" +.IX Name "bos_listusers - Lists the privileged users from the UserList file" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_prune.8 b/doc/man-pages/man8/bos_prune.8 index 752a99b78..d6e9a4b31 100644 --- a/doc/man-pages/man8/bos_prune.8 +++ b/doc/man-pages/man8/bos_prune.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_prune 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_prune 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos prune \- Removes obsolete files from /usr/afs/bin and /usr/afs/logs +bos_prune \- Removes obsolete files from /usr/afs/bin and /usr/afs/logs .SH "SYNOPSIS" \fBbos prune\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> [\fB\-bak\fR] [\fB\-old\fR] [\fB\-core\fR] [\fB\-all\fR] <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] @@ -284,7 +284,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_prune 8" -.IX Name "bos prune - Removes obsolete files from /usr/afs/bin and /usr/afs/logs" +.IX Name "bos_prune - Removes obsolete files from /usr/afs/bin and /usr/afs/logs" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_removehost.8 b/doc/man-pages/man8/bos_removehost.8 index fdb9ab48f..f2b0a2bc9 100644 --- a/doc/man-pages/man8/bos_removehost.8 +++ b/doc/man-pages/man8/bos_removehost.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_removehost 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_removehost 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos removehost \- Removes a database server machine from the CellServDB file +bos_removehost \- Removes a database server machine from the CellServDB file .SH "SYNOPSIS" \fBbos removehost\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ \fB\-host\fR\ <\fIhost\ name\fR+ >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR] @@ -268,7 +268,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_removehost 8" -.IX Name "bos removehost - Removes a database server machine from the CellServDB file" +.IX Name "bos_removehost - Removes a database server machine from the CellServDB file" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_removekey.8 b/doc/man-pages/man8/bos_removekey.8 index a5659ab07..7f0f73e00 100644 --- a/doc/man-pages/man8/bos_removekey.8 +++ b/doc/man-pages/man8/bos_removekey.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_removekey 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_removekey 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos removekey \- Removes a server encryption key from the KeyFile file +bos_removekey \- Removes a server encryption key from the KeyFile file .SH "SYNOPSIS" \fBbos removekey\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ \fB\-kvno\fR\ <\fIkey\ version\ number\fR+ >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> @@ -264,7 +264,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_removekey 8" -.IX Name "bos removekey - Removes a server encryption key from the KeyFile file" +.IX Name "bos_removekey - Removes a server encryption key from the KeyFile file" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_removeuser.8 b/doc/man-pages/man8/bos_removeuser.8 index cb4feccce..012071bed 100644 --- a/doc/man-pages/man8/bos_removeuser.8 +++ b/doc/man-pages/man8/bos_removeuser.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_removeuser 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_removeuser 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos removeuser \- Removes a privileged user from the UserList file +bos_removeuser \- Removes a privileged user from the UserList file .SH "SYNOPSIS" \fBbos removeuser\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ \fB\-user\fR\ <\fIuser\ names\fR+ >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR] @@ -256,7 +256,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_removeuser 8" -.IX Name "bos removeuser - Removes a privileged user from the UserList file" +.IX Name "bos_removeuser - Removes a privileged user from the UserList file" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_restart.8 b/doc/man-pages/man8/bos_restart.8 index 4e5c8799d..97ca3c510 100644 --- a/doc/man-pages/man8/bos_restart.8 +++ b/doc/man-pages/man8/bos_restart.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_restart 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_restart 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos restart \- Restarts a server process +bos_restart \- Restarts a server process .SH "SYNOPSIS" \fBbos restart\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ [\fB\-instance\fR\ <\fIinstances\fR+] >>> [\fB\-bosserver\fR] [\fB\-all\fR] <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] @@ -296,7 +296,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_restart 8" -.IX Name "bos restart - Restarts a server process" +.IX Name "bos_restart - Restarts a server process" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_salvage.8 b/doc/man-pages/man8/bos_salvage.8 index d07565253..0265869c7 100644 --- a/doc/man-pages/man8/bos_salvage.8 +++ b/doc/man-pages/man8/bos_salvage.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_salvage 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_salvage 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos salvage \- Restores internal consistency to a file system or volume +bos_salvage \- Restores internal consistency to a file system or volume .SH "SYNOPSIS" \fBbos salvage\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ [\fB\-partition\fR\ <\fIsalvage\ partition\fR] >>> @@ -452,7 +452,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_salvage 8" -.IX Name "bos salvage - Restores internal consistency to a file system or volume" +.IX Name "bos_salvage - Restores internal consistency to a file system or volume" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_setauth.8 b/doc/man-pages/man8/bos_setauth.8 index 1ce9c0931..be35e0add 100644 --- a/doc/man-pages/man8/bos_setauth.8 +++ b/doc/man-pages/man8/bos_setauth.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_setauth 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_setauth 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos setauth \- Sets authorization checking requirements for all server processes +bos_setauth \- Sets authorization checking requirements for all server processes .SH "SYNOPSIS" \fBbos setauth\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ \fB\-authrequired\fR\ (on\ |\ off)\ >> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR] @@ -266,7 +266,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_setauth 8" -.IX Name "bos setauth - Sets authorization checking requirements for all server processes" +.IX Name "bos_setauth - Sets authorization checking requirements for all server processes" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_setcellname.8 b/doc/man-pages/man8/bos_setcellname.8 index 50dc56c9e..10b668cac 100644 --- a/doc/man-pages/man8/bos_setcellname.8 +++ b/doc/man-pages/man8/bos_setcellname.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_setcellname 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_setcellname 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos setcellname \- Sets the cell's name in ThisCell and CellServDB +bos_setcellname \- Sets the cell's name in ThisCell and CellServDB .SH "SYNOPSIS" \fBbos setcellname\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ \fB\-name\fR\ <\fIcell\ name\fR >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR] @@ -280,7 +280,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_setcellname 8" -.IX Name "bos setcellname - Sets the cell's name in ThisCell and CellServDB" +.IX Name "bos_setcellname - Sets the cell's name in ThisCell and CellServDB" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_setrestart.8 b/doc/man-pages/man8/bos_setrestart.8 index ed264492d..fffaff308 100644 --- a/doc/man-pages/man8/bos_setrestart.8 +++ b/doc/man-pages/man8/bos_setrestart.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_setrestart 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_setrestart 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos setrestart \- Sets when the BOS Server restarts processes +bos_setrestart \- Sets when the BOS Server restarts processes .SH "SYNOPSIS" \fBbos setrestart\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ \fB\-time\fR\ <\fItime\ to\ restart\ server\fR >>> [\fB\-general\fR] [\fB\-newbinary\fR] @@ -316,7 +316,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_setrestart 8" -.IX Name "bos setrestart - Sets when the BOS Server restarts processes" +.IX Name "bos_setrestart - Sets when the BOS Server restarts processes" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_shutdown.8 b/doc/man-pages/man8/bos_shutdown.8 index 53e9838e4..03d1d4052 100644 --- a/doc/man-pages/man8/bos_shutdown.8 +++ b/doc/man-pages/man8/bos_shutdown.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_shutdown 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_shutdown 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos shutdown \- Stops a process without changing its status flag +bos_shutdown \- Stops a process without changing its status flag .SH "SYNOPSIS" \fBbos shutdown\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ [\fB\-instance\fR\ <\fIinstances\fR+] >>> [\fB\-wait\fR] <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> @@ -280,7 +280,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_shutdown 8" -.IX Name "bos shutdown - Stops a process without changing its status flag" +.IX Name "bos_shutdown - Stops a process without changing its status flag" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_start.8 b/doc/man-pages/man8/bos_start.8 index 0e8ca9567..a347072c5 100644 --- a/doc/man-pages/man8/bos_start.8 +++ b/doc/man-pages/man8/bos_start.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_start 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_start 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos start \- Starts a process after setting its status flag +bos_start \- Starts a process after setting its status flag .SH "SYNOPSIS" \fBbos start\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ \fB\-instance\fR\ <\fIserver\ process\ name\fR+ >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> @@ -261,7 +261,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_start 8" -.IX Name "bos start - Starts a process after setting its status flag" +.IX Name "bos_start - Starts a process after setting its status flag" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_startup.8 b/doc/man-pages/man8/bos_startup.8 index accaaa618..940a82d98 100644 --- a/doc/man-pages/man8/bos_startup.8 +++ b/doc/man-pages/man8/bos_startup.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_startup 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_startup 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos startup \- Starts a process without changing its status flag +bos_startup \- Starts a process without changing its status flag .SH "SYNOPSIS" \fBbos startup\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ [\fB\-instance\fR\ <\fIinstances\fR+] >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR] @@ -270,7 +270,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_startup 8" -.IX Name "bos startup - Starts a process without changing its status flag" +.IX Name "bos_startup - Starts a process without changing its status flag" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_status.8 b/doc/man-pages/man8/bos_status.8 index 6b8e265af..63bda2be2 100644 --- a/doc/man-pages/man8/bos_status.8 +++ b/doc/man-pages/man8/bos_status.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_status 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_status 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos status \- Displays the status of server processes +bos_status \- Displays the status of server processes .SH "SYNOPSIS" <<\ \fBbos\ status\ \-server\fR\ <\fImachine\ name\fR >>> [\-instance <\fIserver process name\fR>+] [\fB\-long\fR] <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR] @@ -376,7 +376,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_status 8" -.IX Name "bos status - Displays the status of server processes" +.IX Name "bos_status - Displays the status of server processes" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_stop.8 b/doc/man-pages/man8/bos_stop.8 index 15e2d932d..2cd82953d 100644 --- a/doc/man-pages/man8/bos_stop.8 +++ b/doc/man-pages/man8/bos_stop.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_stop 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_stop 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos stop \- Stops a process after changing its status flag +bos_stop \- Stops a process after changing its status flag .SH "SYNOPSIS" \fBbos stop\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ \fB\-instance\fR\ <\fIserver\ process\ name\fR+ >>> [\fB\-wait\fR] @@ -262,7 +262,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_stop 8" -.IX Name "bos stop - Stops a process after changing its status flag" +.IX Name "bos_stop - Stops a process after changing its status flag" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_uninstall.8 b/doc/man-pages/man8/bos_uninstall.8 index e709b5a30..f46a78f15 100644 --- a/doc/man-pages/man8/bos_uninstall.8 +++ b/doc/man-pages/man8/bos_uninstall.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_uninstall 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bos_uninstall 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -bos uninstall \- Reverts to the former version of a process's binary file +bos_uninstall \- Reverts to the former version of a process's binary file .SH "SYNOPSIS" \fBbos uninstall\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ \fB\-file\fR\ <\fIfiles\ to\ uninstall\fR+ >>> <<\ [\fB\-dir\fR\ <\fIdestination\ dir\fR] >>> @@ -275,7 +275,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "bos_uninstall 8" -.IX Name "bos uninstall - Reverts to the former version of a process's binary file" +.IX Name "bos_uninstall - Reverts to the former version of a process's binary file" .IX Header "NAME" diff --git a/doc/man-pages/man8/bos_util.8 b/doc/man-pages/man8/bos_util.8 index 864f6282f..3ee15f065 100644 --- a/doc/man-pages/man8/bos_util.8 +++ b/doc/man-pages/man8/bos_util.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bos_util 8 "OpenAFS" "17/Aug/2007" "AFS Command Reference" +.TH bos_util 8 "OpenAFS" "25/Dec/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -270,8 +270,9 @@ the \fIbos_removekey(8)\fR manpage, .SH "COPYRIGHT" Copyright 2007 Jason Edgecombe .PP -This documentation is covered by the IBM Public License Version 1.0. -This man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. .rn }` '' .IX Title "bos_util 8" diff --git a/doc/man-pages/man8/bosserver.8 b/doc/man-pages/man8/bosserver.8 index 25eaaf545..df6a389a9 100644 --- a/doc/man-pages/man8/bosserver.8 +++ b/doc/man-pages/man8/bosserver.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH bosserver 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH bosserver 8 "OpenAFS" "4/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -191,7 +191,7 @@ bosserver \- Initializes the BOS Server .SH "SYNOPSIS" \fBbosserver\fR [\fB\-noauth\fR] [\fB\-log\fR] [\fB\-enable_peer_stats\fR] - [\fB\-enable_process_stats\fR] [\fB\-help\fR] + [\fB\-enable_process_stats\fR] [\fB\-allow-dotted-principal\fR] [\fB\-help\fR] .SH "DESCRIPTION" The bosserver command initializes the Basic OverSeer (BOS) Server (\fBbosserver\fR process). In the conventional configuration, the binary file @@ -263,6 +263,13 @@ storage. A separate record is kept for each type of \s-1RPC\s0 (FetchFile, GetStatus, and so on) sent or received, aggregated over all connections to other machines. To display or otherwise access the records, use the Rx Monitoring \s-1API\s0. +.Ip "\fB\-allow-dotted-principal\fR" 4 +By default, the \s-1RXKAD\s0 security layer will disallow access by Kerberos +principals with a dot in the first component of their name. This is to avoid +the confusion where principals user/admin and user.admin are both mapped to the +user.admin \s-1PTS\s0 entry. Sites whose Kerberos realms don't have these collisions +between principal names may disable this check by starting the server +with this option. .Ip "\fB\-help\fR" 4 Prints the online help for this command. All other valid options are ignored. @@ -325,6 +332,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Item "\fB\-enable_process_stats\fR" +.IX Item "\fB\-allow-dotted-principal\fR" + .IX Item "\fB\-help\fR" .IX Header "EXAMPLES" diff --git a/doc/man-pages/man8/fileserver.8 b/doc/man-pages/man8/fileserver.8 index bf6f115f3..0343ee9ac 100644 --- a/doc/man-pages/man8/fileserver.8 +++ b/doc/man-pages/man8/fileserver.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH fileserver 8 "OpenAFS" "11/Jun/2007" "AFS Command Reference" +.TH fileserver 8 "OpenAFS" "4/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -190,19 +190,20 @@ .SH "NAME" fileserver \- Initializes the File Server component of the fs process .SH "SYNOPSIS" -\fBfileserver\fR <<\ [\fB\-auditlog\fR\ <\fIlog\ path\fR] >>> +\fBfileserver\fR <<\ [\fB\-auditlog\fR\ <\fIpath\ to\ log\ file\fR] >>> <<\ [\fB\-d\fR\ <\fIdebug\ level\fR] >>> <<\ [\fB\-p\fR\ <\fInumber\ of\ processes\fR] >>> <<\ [\fB\-spare\fR\ <\fInumber\ of\ spare\ blocks\fR] >>> <<\ [\fB\-pctspare\fR\ <\fIpercentage\ spare\fR] >>> <<\ [\fB\-b\fR\ <\fIbuffers\fR] >>> - <<\ [\fB\-l\fR\ <\fIlarge\ vnodes\fR] >>> <<\ [\fB\-s\fR\ <\fIsmall\ nodes\fR] >>> + <<\ [\fB\-l\fR\ <\fIlarge\ vnodes\fR] >>> <<\ [\fB\-s\fR\ <\fIsmall\ vnodes\fR] >>> <<\ [\fB\-vc\fR\ <\fIvolume\ cachesize\fR] >>> <<\ [\fB\-w\fR\ <\fIcall\ back\ wait\ interval\fR] >>> <<\ [\fB\-cb\fR\ <\fInumber\ of\ call\ backs\fR] >>> [\fB\-banner\fR] [\fB\-novbc\fR] <<\ [\fB\-implicit\fR\ <\fIadmin\ mode\ bits:\ rlidwka\fR] >>> [\fB\-readonly\fR] <<\ [\fB\-hr\fR\ <\fInumber\ of\ hours\ between\ refreshing\ the\ host\ cps\fR] >>> - [\fB\-busyat\fR <\fI< redirect clients when queue \fR n >>>] + <<\ [\fB\-busyat\fR\ <\fI<\ redirect\ clients\ when\ queue\ \fR\ n\ >>] >>> [\fB\-nobusy\fR] <<\ [\fB\-rxpck\fR\ <\fInumber\ of\ rx\ extra\ packets\fR] >>> [\fB\-rxdbg\fR] [\fB\-rxdbge\fR] <<\ [\fB\-rxmaxmtu\fR\ <\fIbytes\fR] >>> + [\fB\-allow-dotted-principal\fR] <<\ [\fB\-rxbind\fR\ <\fIaddress\ to\ bind\ the\ Rx\ socket\ to\fR] >>> <<\ [\fB\-vattachpar\fR\ <\fInumber\ of\ volume\ attach\ threads\fR] >>> <<\ [\fB\-m\fR\ <\fImin\ percentage\ spare\ in\ partition\fR] >>> @@ -211,7 +212,6 @@ fileserver \- Initializes the File Server component of the fs process <<\ [\fB\-udpsize\fR\ <\fIsize\ of\ socket\ buffer\ in\ bytes\fR] >>> <<\ [\fB\-sendsize\fR\ <\fIsize\ of\ send\ buffer\ in\ bytes\fR] >>> <<\ [\fB\-abortthreshold\fR\ <\fIabort\ threshold\fR] >>> - <<\ [\fB\-auditlog\fR\ <\fIpath\ to\ log\ file\fR] >>> [\fB\-enable_peer_stats\fR] [\fB\-enable_process_stats\fR] [\fB\-help\fR] .SH "DESCRIPTION" The \fBfileserver\fR command initializes the File Server component of the @@ -226,9 +226,9 @@ file server machine as the local superuser \f(CWroot\fR. .PP The File Server creates the \fI/usr/afs/logs/FileLog\fR log file as it initializes, if the file does not already exist. It does not write a -detailed trace by default, but use the \fB\-d\fR option to increase the amount -of detail. Use the \fBbos getlog\fR command to display the contents of the -log file. +detailed trace by default, but the \fB\-d\fR option may be used to +increase the amount of detail. Use the \fBbos getlog\fR command to +display the contents of the log file. .PP The command's arguments enable the administrator to control many aspects of the File Server's performance, as detailed in the \fIOPTIONS\fR manpage. By default @@ -242,7 +242,7 @@ machine sizes. .Ip "\(bu" 4 The maximum number of lightweight processes (LWPs) the File Server uses to handle requests for data; corresponds to the \fB\-p\fR argument. The File -Server always uses a minimum of 32 \s-1KB\s0 for these processes. +Server always uses a minimum of 32 \s-1KB\s0 of memory for these processes. .Ip "\(bu" 4 The maximum number of directory blocks the File Server caches in memory; corresponds to the \fB\-b\fR argument. Each cached directory block (buffer) @@ -321,6 +321,16 @@ the Protection Server every two hours to recompute host CPSs, implying that it can take that long for changed group memberships to become effective. To change this frequency, use the \fB\-hr\fR argument. .PP +The File Server stores volumes in partitions. A partition is a +filesystem or directory on the server machine that is named \f(CW/vicepX\fR +or \f(CW/vicepXX\fR where \s-1XX\s0 is \*(L"a\*(R" through \*(L"z\*(R" or \*(L"aa\*(R" though \*(L"zz\*(R". The +File Server expects that the /vicepXX directories are each on a +dedicated filesystem. The File Server will only use a /vicepXX if it's +a mountpoint for another filesystem, unless the file +\f(CW/vicepXX/AlwaysAttach\fR exists. The data in the partition is a +special format that can only be access using OpenAFS commands or an +OpenAFS client. +.PP The File Server generates the following message when a partition is nearly full: .PP @@ -330,12 +340,12 @@ full: This command does not use the syntax conventions of the \s-1AFS\s0 command suites. Provide the command name and all option names in full. .SH "CAUTIONS" -Do not use the \fB\-k\fR and \-w arguments, which are intended for use by the -AFS Development group only. Changing them from their default values can -result in unpredictable File Server behavior. In any case, on many -operating systems the File Server uses native threads rather than the LWP -threads, so using the \fB\-k\fR argument to set the number of LWP threads has -no effect. +Do not use the \fB\-k\fR and \fB\-w\fR arguments, which are intended for use +by the OpenAFS developers only. Changing them from their default +values can result in unpredictable File Server behavior. In any case, +on many operating systems the File Server uses native threads rather +than the LWP threads, so using the \fB\-k\fR argument to set the number of +LWP threads has no effect. .PP Do not specify both the \fB\-spare\fR and \fB\-pctspare\fR arguments. Doing so causes the File Server to exit, leaving an error message in the @@ -344,6 +354,27 @@ causes the File Server to exit, leaving an error message in the Options that are available only on some system types, such as the \fB\-m\fR and \fB\-lock\fR options, appear in the output generated by the \fB\-help\fR option only on the relevant system type. +.PP +Currently, the maximum size of a volume is 2 terabytes (2^31 bytes) +and the maximum size of a /vicepX partition on a fileserver is also 2 +terabytes. The fileserver will not report an error when it has access +to a partition larger than 2 terabytes, but it will probably fail if +the administrator attempts to use more than 2 terabytes of space. In +addition, there are reports of erroneous disk usage numbers when +\fBvos partinfo\fR or other OpenAFS disk reporting tools are used with +partitions larger than 2 terabytes. +.PP +The maximum number of directory entries is 64,000 if all of the +entries have names that are 15 characters or less in length. A name +that is 15 characters long requires the use of only one block in the +directory. Additional sequential blocks are required to store entries +with names that are longer than 15 characters. Each additional block +provides an additional length of 32 characters for the name of the +entry. +.PP +In real world use, the maximum number of objects in an AFS directory +is usually between 16,000 and 25,000, depending on the average name +length. .SH "OPTIONS" .Ip "\fB\-auditlog\fR <\fIlog path\fR>" 4 Set and enable auditing. @@ -433,6 +464,13 @@ Writes a trace of the File Server's operations on Rx packets to the file .Ip "\fI\-rxdbge\fR" 4 Writes a trace of the File Server's operations on Rx events (such as retransmissions) to the file \fI/usr/afs/logs/rx_dbg\fR. +.Ip "\fB\-allow-dotted-principal\fR" 4 +By default, the \s-1RXKAD\s0 security layer will disallow access by Kerberos +principals with a dot in the first component of their name. This is to avoid +the confusion where principals user/admin and user.admin are both mapped to the +user.admin \s-1PTS\s0 entry. Sites whose Kerberos realms don't have these collisions +between principal names may disabled this check by starting the server +with this option. .Ip "\fI\-m\fR <\fImin percentage spare in partition\fR>" 4 Specifies the percentage of each \s-1AFS\s0 server partition that the \s-1AIX\s0 version of the File Server creates as a reserve. Specify an integer value between @@ -474,6 +512,22 @@ storage. A separate record is kept for each type of \s-1RPC\s0 (FetchFile, GetStatus, and so on) sent or received, aggregated over all connections to other machines. To display or otherwise access the records, use the Rx Monitoring \s-1API\s0. +.Ip "\fB\-abortthreshold\fR <\fIabort threshold\fR>" 4 +Sets the abort threshold, which is triggered when an \s-1AFS\s0 client sends +a number of FetchStatus requests in a row and all of them fail due to +access control or some other error. When the abort threshold is +reached, the file server starts to slow down the responses to the +problem client in order to reduce the load on the file server. +.Sp +The throttling behaviour can cause issues especially for some versions +of the Windows OpenAFS client. When using Windows Explorer to navigate +the \s-1AFS\s0 directory tree, directories with only \*(L"look\*(R" access for the +current user may load more slowly because of the throttling. This is +because the Windows OpenAFS client sends FetchStatus calls one at a +time instead of in bulk like the Unix Open \s-1AFS\s0 client. +.Sp +Setting the threshold to 0 disables the throttling behavior. This +option is available in OpenAFS versions 1.4.1 and later. .Ip "\fB\-help\fR" 4 Prints the online help for this command. All other valid options are ignored. @@ -488,9 +542,176 @@ line: \& -cmd "/usr/afs/bin/fileserver -pctspare 10 \e \& -L" /usr/afs/bin/volserver /usr/afs/bin/salvager .Ve +.SH "TROUBLESHOOTING" +Sending process signals to the File Server Process can change its +behavior in the following ways: +.PP +.Vb 2 +\& Process Signal OS Result +\& --------------------------------------------------------------------- +.Ve +.Vb 2 +\& File Server XCPU Unix Prints a list of client IP +\& Addresses. +.Ve +.Vb 2 +\& File Server USR2 Windows Prints a list of client IP +\& Addresses. +.Ve +.Vb 2 +\& File Server POLL HPUX Prints a list of client IP +\& Addresses. +.Ve +.Vb 4 +\& Any server TSTP Any Increases Debug level by a power +\& of 5 -- 1,5,25,125, etc. +\& This has the same effect as the +\& -d XXX command-line option. +.Ve +.Vb 1 +\& Any Server HUP Any Resets Debug level to 0 +.Ve +.Vb 2 +\& File Server TERM Any Run minor instrumentation over +\& the list of descriptors. +.Ve +.Vb 1 +\& Other Servers TERM Any Causes the process to quit. +.Ve +.Vb 2 +\& File Server QUIT Any Causes the File Server to Quit. +\& Bos Server knows this. +.Ve +The basic metric of whether an AFS file server is doing well is the number +of connections waiting for a thread, +which can be found by running the following command: +.PP +.Vb 1 +\& % rxdebug | grep waiting_for | wc -l +.Ve +Each line returned by \f(CWrxdebug\fR that contains the text \*(L"waiting_for\*(R" +represents a connection that's waiting for a file server thread. +.PP +If the blocked connection count is ever above 0, the server is having +problems replying to clients in a timely fashion. If it gets above 10, +roughly, there will be noticable slowness by the user. The total number of +connections is a mostly irrelevant number that goes essentially +monotonically for as long as the server has been running and then goes back +down to zero when it's restarted. +.PP +The most common cause of blocked connections rising on a server is some +process somewhere performing an abnormal number of accesses to that server +and its volumes. If multiple servers have a blocked connection count, the +most likely explanation is that there is a volume replicated between those +servers that is absorbing an abnormally high access rate. +.PP +To get an access count on all the volumes on a server, run: +.PP +.Vb 1 +\& % vos listvol -long +.Ve +and save the output in a file. The results will look like a bunch of \fBvos +examine\fR output for each volume on the server. Look for lines like: +.PP +.Vb 1 +\& 40065 accesses in the past day (i.e., vnode references) +.Ve +and look for volumes with an abnormally high number of accesses. Anything +over 10,000 is fairly high, but some volumes like root.cell and other +volumes close to the root of the cell will have that many hits routinely. +Anything over 100,000 is generally abnormally high. The count resets about +once a day. +.PP +Another approach that can be used to narrow the possibilities for a +replicated volume, when multiple servers are having trouble, is to find all +replicated volumes for that server. Run: +.PP +.Vb 1 +\& % vos listvldb -server +.Ve +where is one of the servers having problems to refresh the VLDB +cache, and then run: +.PP +.Vb 1 +\& % vos listvldb -server -part +.Ve +to get a list of all volumes on that server and partition, including every +other server with replicas. +.PP +Once the volume causing the problem has been identified, the best way to +deal with the problem is to move that volume to another server with a low +load or to stop any runaway programs that are accessing that volume +unnecessarily. Often the volume will be enough information to tell what's +going on. +.PP +If you still need additional information about who's hitting that server, +sometimes you can guess at that information from the failed callbacks in the +\fIFileLog\fR log in \fI/var/log/afs\fR on the server, or from the output of: +.PP +.Vb 1 +\& % /usr/afsws/etc/rxdebug -rxstats +.Ve +but the best way is to turn on debugging output from the file server. +(Warning: This generates a lot of output into FileLog on the AFS server.) +To do this, log on to the AFS server, find the PID of the fileserver +process, and do: +.PP +.Vb 1 +\& kill -TSTP +.Ve +where is the PID of the file server process. This will raise the +debugging level so that you'll start seeing what people are actually doing +on the server. You can do this up to three more times to get even more +output if needed. To reset the debugging level back to normal, use (The +following command will NOT terminate the file server): +.PP +.Vb 1 +\& kill -HUP +.Ve +The debugging setting on the File Server should be reset back to normal when +debugging is no longer needed. Otherwise, the AFS server may well fill its +disks with debugging output. +.PP +The lines of the debugging output that are most useful for debugging load +problems are: +.PP +.Vb 2 +\& SAFS_FetchStatus, Fid = 2003828163.77154.82248, Host 171.64.15.76 +\& SRXAFS_FetchData, Fid = 2003828163.77154.82248 +.Ve +(The example above is partly truncated to highlight the interesting +information). The Fid identifies the volume and inode within the volume; +the volume is the first long number. So, for example, this was: +.PP +.Vb 8 +\& % vos examine 2003828163 +\& pubsw.matlab61 2003828163 RW 1040060 K On-line +\& afssvr5.Stanford.EDU /vicepa +\& RWrite 2003828163 ROnly 2003828164 Backup 2003828165 +\& MaxQuota 3000000 K +\& Creation Mon Aug 6 16:40:55 2001 +\& Last Update Tue Jul 30 19:00:25 2002 +\& 86181 accesses in the past day (i.e., vnode references) +.Ve +.Vb 5 +\& RWrite: 2003828163 ROnly: 2003828164 Backup: 2003828165 +\& number of sites -> 3 +\& server afssvr5.Stanford.EDU partition /vicepa RW Site +\& server afssvr11.Stanford.EDU partition /vicepd RO Site +\& server afssvr5.Stanford.EDU partition /vicepa RO Site +.Ve +and from the Host information one can tell what system is accessing that +volume. +.PP +Note that the output of the \fIvos_examine(1)\fR manpage also includes the access count, so +once the problem has been identified, vos examine can be used to see if the +access count is still increasing. Also remember that you can run vos +examine on the read-only replica (e.g., pubsw.matlab61.readonly) to see the +access counts on the read-only replica on all of the servers that it's +located on. .SH "PRIVILEGE REQUIRED" The issuer must be logged in as the superuser \f(CWroot\fR on a file server -machine to issue the command at a command shell prompt. It is conventional +machine to issue the command at a command shell prompt. It is conventional instead to create and start the process by issuing the \fBbos create\fR command. .SH "SEE ALSO" @@ -500,7 +721,8 @@ the \fIbos_create(8)\fR manpage, the \fIbos_getlog(8)\fR manpage, the \fIfs_setacl(1)\fR manpage, the \fIsalvager(8)\fR manpage, -the \fIvolserver(8)\fR manpage +the \fIvolserver(8)\fR manpage, +the \fIvos_examine(1)\fR manpage .SH "COPYRIGHT" IBM Corporation 2000. All Rights Reserved. .PP @@ -578,6 +800,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Item "\fI\-rxdbge\fR" +.IX Item "\fB\-allow-dotted-principal\fR" + .IX Item "\fI\-m\fR <\fImin percentage spare in partition\fR>" .IX Item "\fB\-lock\fR" @@ -596,10 +820,14 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Item "\fB\-enable_process_stats\fR" +.IX Item "\fB\-abortthreshold\fR <\fIabort threshold\fR>" + .IX Item "\fB\-help\fR" .IX Header "EXAMPLES" +.IX Header "TROUBLESHOOTING" + .IX Header "PRIVILEGE REQUIRED" .IX Header "SEE ALSO" diff --git a/doc/man-pages/man8/fstrace_apropos.8 b/doc/man-pages/man8/fstrace_apropos.8 index b474b2a0d..b873cef00 100644 --- a/doc/man-pages/man8/fstrace_apropos.8 +++ b/doc/man-pages/man8/fstrace_apropos.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH fstrace_apropos 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH fstrace_apropos 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fstrace apropos \- Displays each help entry containing a keyword string +fstrace_apropos \- Displays each help entry containing a keyword string .SH "SYNOPSIS" \fBfstrace apropos\fR <<\ \fB\-topic\fR\ <\fIhelp\ string\fR >>> [\fB\-help\fR] .PP @@ -237,7 +237,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "fstrace_apropos 8" -.IX Name "fstrace apropos - Displays each help entry containing a keyword string" +.IX Name "fstrace_apropos - Displays each help entry containing a keyword string" .IX Header "NAME" diff --git a/doc/man-pages/man8/fstrace_clear.8 b/doc/man-pages/man8/fstrace_clear.8 index 671c0683d..696e8dd63 100644 --- a/doc/man-pages/man8/fstrace_clear.8 +++ b/doc/man-pages/man8/fstrace_clear.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH fstrace_clear 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH fstrace_clear 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fstrace clear \- Clears the trace log +fstrace_clear \- Clears the trace log .SH "SYNOPSIS" \fBfstrace clear\fR <<\ [\fB\-set\fR\ <\fIset\ name\fR+] >>> <<\ [\fB\-log\fR\ <\fIlog\ name\fR+] >>> [\fB\-help\fR] @@ -231,7 +231,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "fstrace_clear 8" -.IX Name "fstrace clear - Clears the trace log" +.IX Name "fstrace_clear - Clears the trace log" .IX Header "NAME" diff --git a/doc/man-pages/man8/fstrace_dump.8 b/doc/man-pages/man8/fstrace_dump.8 index 529d2ed75..41255cafd 100644 --- a/doc/man-pages/man8/fstrace_dump.8 +++ b/doc/man-pages/man8/fstrace_dump.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH fstrace_dump 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH fstrace_dump 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fstrace dump \- Dumps a trace log +fstrace_dump \- Dumps a trace log .SH "SYNOPSIS" \fBfstrace dump\fR <<\ [\fB\-set\fR\ <\fIset\ name\fR+] >>> <<\ [\fB\-follow\fR\ <\fIlog\ name\fR] >>> <<\ [\fB\-file\fR\ <\fIoutput\ filename\fR] >>> <<\ [\fB\-sleep\fR\ <\fIseconds\ between\ reads\fR] >>> @@ -374,7 +374,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "fstrace_dump 8" -.IX Name "fstrace dump - Dumps a trace log" +.IX Name "fstrace_dump - Dumps a trace log" .IX Header "NAME" diff --git a/doc/man-pages/man8/fstrace_help.8 b/doc/man-pages/man8/fstrace_help.8 index 59ed5e29b..947e2dfdf 100644 --- a/doc/man-pages/man8/fstrace_help.8 +++ b/doc/man-pages/man8/fstrace_help.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH fstrace_help 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH fstrace_help 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fstrace help \- Displays help for fstrace commands +fstrace_help \- Displays help for fstrace commands .SH "SYNOPSIS" \fBfstrace help\fR <<\ [\fB\-topic\fR\ <\fIhelp\ string\fR+] >>> [\fB\-help\fR] .PP @@ -247,7 +247,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "fstrace_help 8" -.IX Name "fstrace help - Displays help for fstrace commands" +.IX Name "fstrace_help - Displays help for fstrace commands" .IX Header "NAME" diff --git a/doc/man-pages/man8/fstrace_lslog.8 b/doc/man-pages/man8/fstrace_lslog.8 index 3375957c9..3972e0d89 100644 --- a/doc/man-pages/man8/fstrace_lslog.8 +++ b/doc/man-pages/man8/fstrace_lslog.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH fstrace_lslog 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH fstrace_lslog 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fstrace lslog \- Displays information about a log +fstrace_lslog \- Displays information about a log .SH "SYNOPSIS" \fBfstrace lslog\fR <<\ [\fB\-set\fR\ <\fIset\ name\fR+] >>> <<\ [\fB\-log\fR\ <\fIlog\ name\fR] >>> [\fB\-long\fR] [\fB\-help\fR] @@ -274,7 +274,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "fstrace_lslog 8" -.IX Name "fstrace lslog - Displays information about a log" +.IX Name "fstrace_lslog - Displays information about a log" .IX Header "NAME" diff --git a/doc/man-pages/man8/fstrace_lsset.8 b/doc/man-pages/man8/fstrace_lsset.8 index daabb624c..ee85fa2bf 100644 --- a/doc/man-pages/man8/fstrace_lsset.8 +++ b/doc/man-pages/man8/fstrace_lsset.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH fstrace_lsset 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH fstrace_lsset 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fstrace lsset \- Reports the status of an event set +fstrace_lsset \- Reports the status of an event set .SH "SYNOPSIS" \fBfstrace lsset\fR <<\ [\fB\-set\fR\ <\fIset\ name\fR+] >>> [\fB\-help\fR] .PP @@ -245,7 +245,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "fstrace_lsset 8" -.IX Name "fstrace lsset - Reports the status of an event set" +.IX Name "fstrace_lsset - Reports the status of an event set" .IX Header "NAME" diff --git a/doc/man-pages/man8/fstrace_setlog.8 b/doc/man-pages/man8/fstrace_setlog.8 index 8ea9a4549..27ad209b2 100644 --- a/doc/man-pages/man8/fstrace_setlog.8 +++ b/doc/man-pages/man8/fstrace_setlog.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH fstrace_setlog 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH fstrace_setlog 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fstrace setlog \- Sets the size of a trace log +fstrace_setlog \- Sets the size of a trace log .SH "SYNOPSIS" \fBfstrace setlog\fR <<\ [\fB\-log\fR\ <\fIlog\ name\fR+] >>> <<\ \fB\-buffersize\fR\ <\fI1-kilobyte\ units\fR >>> [\fB\-help\fR] @@ -241,7 +241,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "fstrace_setlog 8" -.IX Name "fstrace setlog - Sets the size of a trace log" +.IX Name "fstrace_setlog - Sets the size of a trace log" .IX Header "NAME" diff --git a/doc/man-pages/man8/fstrace_setset.8 b/doc/man-pages/man8/fstrace_setset.8 index b4491cb60..1f38d17f8 100644 --- a/doc/man-pages/man8/fstrace_setset.8 +++ b/doc/man-pages/man8/fstrace_setset.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH fstrace_setset 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH fstrace_setset 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -fstrace setset \- Sets the status of an event set +fstrace_setset \- Sets the status of an event set .SH "SYNOPSIS" \fBfstrace setset\fR <<\ [\fB\-set\fR\ <\fIset\ name\fR+] >>> [\fB\-active\fR] [\fB\-inactive\fR] [\fB\-dormant\fR] [\fB\-help\fR] @@ -238,7 +238,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "fstrace_setset 8" -.IX Name "fstrace setset - Sets the status of an event set" +.IX Name "fstrace_setset - Sets the status of an event set" .IX Header "NAME" diff --git a/doc/man-pages/man8/kas_apropos.8 b/doc/man-pages/man8/kas_apropos.8 index 7ef8f6caf..3ba5486b6 100644 --- a/doc/man-pages/man8/kas_apropos.8 +++ b/doc/man-pages/man8/kas_apropos.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH kas_apropos 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH kas_apropos 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -kas apropos \- Displays each help entry containing a keyword string +kas_apropos \- Displays each help entry containing a keyword string .SH "SYNOPSIS" \fBkas apropos\fR <<\ \fB\-topic\fR\ <\fIhelp\ string\fR >>> [\fB\-help\fR] .PP @@ -235,7 +235,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "kas_apropos 8" -.IX Name "kas apropos - Displays each help entry containing a keyword string" +.IX Name "kas_apropos - Displays each help entry containing a keyword string" .IX Header "NAME" diff --git a/doc/man-pages/man8/kas_create.8 b/doc/man-pages/man8/kas_create.8 index e2282f177..3f9233025 100644 --- a/doc/man-pages/man8/kas_create.8 +++ b/doc/man-pages/man8/kas_create.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH kas_create 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH kas_create 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -kas create \- Creates an entry in the Authentication Database +kas_create \- Creates an entry in the Authentication Database .SH "SYNOPSIS" \fBkas create\fR <<\ \fB\-name\fR\ <\fIname\ of\ user\fR >>> <<\ [\fB\-initial_password\fR\ <\fIinitial\ password\fR] >>> @@ -277,7 +277,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "kas_create 8" -.IX Name "kas create - Creates an entry in the Authentication Database" +.IX Name "kas_create - Creates an entry in the Authentication Database" .IX Header "NAME" diff --git a/doc/man-pages/man8/kas_delete.8 b/doc/man-pages/man8/kas_delete.8 index b4181bcce..3739596bb 100644 --- a/doc/man-pages/man8/kas_delete.8 +++ b/doc/man-pages/man8/kas_delete.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH kas_delete 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH kas_delete 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -kas delete \- Deletes an entry from the Authentication Database +kas_delete \- Deletes an entry from the Authentication Database .SH "SYNOPSIS" \fBkas delete\fR <<\ \fB\-name\fR\ <\fIname\ of\ user\fR >>> <<\ [\fB\-admin_username\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR] >>> @@ -260,7 +260,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "kas_delete 8" -.IX Name "kas delete - Deletes an entry from the Authentication Database" +.IX Name "kas_delete - Deletes an entry from the Authentication Database" .IX Header "NAME" diff --git a/doc/man-pages/man8/kas_examine.8 b/doc/man-pages/man8/kas_examine.8 index 3ac078df2..58599f5de 100644 --- a/doc/man-pages/man8/kas_examine.8 +++ b/doc/man-pages/man8/kas_examine.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH kas_examine 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH kas_examine 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -kas examine \- Displays information from an Authentication Database entry +kas_examine \- Displays information from an Authentication Database entry .SH "SYNOPSIS" \fBkas examine\fR <<\ \fB\-name\fR\ <\fIname\ of\ user\fR >>> [\fB\-showkey\fR] <<\ [\fB\-admin_username\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR] >>> @@ -403,7 +403,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "kas_examine 8" -.IX Name "kas examine - Displays information from an Authentication Database entry" +.IX Name "kas_examine - Displays information from an Authentication Database entry" .IX Header "NAME" diff --git a/doc/man-pages/man8/kas_forgetticket.8 b/doc/man-pages/man8/kas_forgetticket.8 index 32d7d84e0..0386d784e 100644 --- a/doc/man-pages/man8/kas_forgetticket.8 +++ b/doc/man-pages/man8/kas_forgetticket.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH kas_forgetticket 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH kas_forgetticket 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -kas forgetticket \- Discards all tickets for the issuer +kas_forgetticket \- Discards all tickets for the issuer .SH "SYNOPSIS" \fBkas forgetticket\fR [\fB\-all\fR] [\fB\-help\fR] .PP @@ -225,7 +225,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "kas_forgetticket 8" -.IX Name "kas forgetticket - Discards all tickets for the issuer" +.IX Name "kas_forgetticket - Discards all tickets for the issuer" .IX Header "NAME" diff --git a/doc/man-pages/man8/kas_help.8 b/doc/man-pages/man8/kas_help.8 index 615c780cf..10916133f 100644 --- a/doc/man-pages/man8/kas_help.8 +++ b/doc/man-pages/man8/kas_help.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH kas_help 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH kas_help 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -kas help \- Displays help for kas commands +kas_help \- Displays help for kas commands .SH "SYNOPSIS" \fBkas help\fR <<\ [\fB\-topic\fR\ <\fIhelp\ string\fR+] >>> [\fB\-help\fR] .PP @@ -251,7 +251,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "kas_help 8" -.IX Name "kas help - Displays help for kas commands" +.IX Name "kas_help - Displays help for kas commands" .IX Header "NAME" diff --git a/doc/man-pages/man8/kas_interactive.8 b/doc/man-pages/man8/kas_interactive.8 index f7a88a16f..0f0bc4e6b 100644 --- a/doc/man-pages/man8/kas_interactive.8 +++ b/doc/man-pages/man8/kas_interactive.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH kas_interactive 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH kas_interactive 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -kas interactive \- Enters interactive mode +kas_interactive \- Enters interactive mode .SH "SYNOPSIS" \fBkas interactive\fR <<\ [\fB\-admin_username\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR] >>> @@ -298,7 +298,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "kas_interactive 8" -.IX Name "kas interactive - Enters interactive mode" +.IX Name "kas_interactive - Enters interactive mode" .IX Header "NAME" diff --git a/doc/man-pages/man8/kas_list.8 b/doc/man-pages/man8/kas_list.8 index 7dce65164..317166f6e 100644 --- a/doc/man-pages/man8/kas_list.8 +++ b/doc/man-pages/man8/kas_list.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH kas_list 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH kas_list 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -kas list \- Displays all entries in the Authentication Database +kas_list \- Displays all entries in the Authentication Database .SH "SYNOPSIS" \fBkas list\fR [\fB\-long\fR] [\fB\-showadmin\fR] [\fB\-showkey\fR] <<\ [\fB\-admin_username\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR] >>> @@ -281,7 +281,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "kas_list 8" -.IX Name "kas list - Displays all entries in the Authentication Database" +.IX Name "kas_list - Displays all entries in the Authentication Database" .IX Header "NAME" diff --git a/doc/man-pages/man8/kas_listtickets.8 b/doc/man-pages/man8/kas_listtickets.8 index a5e9c939d..fee175278 100644 --- a/doc/man-pages/man8/kas_listtickets.8 +++ b/doc/man-pages/man8/kas_listtickets.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH kas_listtickets 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH kas_listtickets 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -kas listtickets \- Displays all of the issuer's tickets (tokens) +kas_listtickets \- Displays all of the issuer's tickets (tokens) .SH "SYNOPSIS" \fBkas listtickets\fR <<\ [\fB\-name\fR\ <\fIname\ of\ server\fR] >>> [\fB\-long\fR] [\fB\-help\fR] .PP @@ -267,7 +267,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "kas_listtickets 8" -.IX Name "kas listtickets - Displays all of the issuer's tickets (tokens)" +.IX Name "kas_listtickets - Displays all of the issuer's tickets (tokens)" .IX Header "NAME" diff --git a/doc/man-pages/man8/kas_noauthentication.8 b/doc/man-pages/man8/kas_noauthentication.8 index cb200a1f1..9ba0dd22e 100644 --- a/doc/man-pages/man8/kas_noauthentication.8 +++ b/doc/man-pages/man8/kas_noauthentication.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH kas_noauthentication 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH kas_noauthentication 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -kas noauthentication \- Discards an authenticated identity in interactive mode +kas_noauthentication \- Discards an authenticated identity in interactive mode .SH "SYNOPSIS" \fBnoauthentication\fR [\fB\-help\fR] .PP @@ -233,7 +233,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "kas_noauthentication 8" -.IX Name "kas noauthentication - Discards an authenticated identity in interactive mode" +.IX Name "kas_noauthentication - Discards an authenticated identity in interactive mode" .IX Header "NAME" diff --git a/doc/man-pages/man8/kas_quit.8 b/doc/man-pages/man8/kas_quit.8 index 4569f94e2..12cd68e8d 100644 --- a/doc/man-pages/man8/kas_quit.8 +++ b/doc/man-pages/man8/kas_quit.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH kas_quit 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH kas_quit 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -kas quit \- Leaves interactive mode +kas_quit \- Leaves interactive mode .SH "SYNOPSIS" \fBquit\fR [\fB\-help\fR] .PP @@ -226,7 +226,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "kas_quit 8" -.IX Name "kas quit - Leaves interactive mode" +.IX Name "kas_quit - Leaves interactive mode" .IX Header "NAME" diff --git a/doc/man-pages/man8/kas_setfields.8 b/doc/man-pages/man8/kas_setfields.8 index 6c5671a4e..145ff0a12 100644 --- a/doc/man-pages/man8/kas_setfields.8 +++ b/doc/man-pages/man8/kas_setfields.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH kas_setfields 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH kas_setfields 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -kas setfields \- Sets fields in an Authentication Database entry +kas_setfields \- Sets fields in an Authentication Database entry .SH "SYNOPSIS" \fBkas setfields\fR <<\ \fB\-name\fR\ <\fIname\ of\ user\fR >>> <<\ [\fB\-flags\fR\ <\fIhex\ flag\ value\ or\ flag\ name\ expression\fR] >>> @@ -496,7 +496,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "kas_setfields 8" -.IX Name "kas setfields - Sets fields in an Authentication Database entry" +.IX Name "kas_setfields - Sets fields in an Authentication Database entry" .IX Header "NAME" diff --git a/doc/man-pages/man8/kas_setpassword.8 b/doc/man-pages/man8/kas_setpassword.8 index 0b56ce447..22fc926f8 100644 --- a/doc/man-pages/man8/kas_setpassword.8 +++ b/doc/man-pages/man8/kas_setpassword.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH kas_setpassword 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH kas_setpassword 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -kas setpassword \- Changes the key field in an Authentication Database entry +kas_setpassword \- Changes the key field in an Authentication Database entry .SH "SYNOPSIS" \fBkas setpassword\fR <<\ \fB\-name\fR\ <\fIname\ of\ user\fR >>> <<\ [\fB\-new_password\fR\ <\fInew\ password\fR] >>> <<\ [\fB\-kvno\fR\ <\fIkey\ version\ number\fR] >>> @@ -317,7 +317,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "kas_setpassword 8" -.IX Name "kas setpassword - Changes the key field in an Authentication Database entry" +.IX Name "kas_setpassword - Changes the key field in an Authentication Database entry" .IX Header "NAME" diff --git a/doc/man-pages/man8/kas_statistics.8 b/doc/man-pages/man8/kas_statistics.8 index ef1dc60fb..66b4a3d12 100644 --- a/doc/man-pages/man8/kas_statistics.8 +++ b/doc/man-pages/man8/kas_statistics.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH kas_statistics 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH kas_statistics 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -kas statistics \- Displays statistics from an Authentication Server process +kas_statistics \- Displays statistics from an Authentication Server process .SH "SYNOPSIS" \fBkas statistics\fR <<\ [\fB\-admin_username\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR] >>> @@ -286,7 +286,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "kas_statistics 8" -.IX Name "kas statistics - Displays statistics from an Authentication Server process" +.IX Name "kas_statistics - Displays statistics from an Authentication Server process" .IX Header "NAME" diff --git a/doc/man-pages/man8/kas_stringtokey.8 b/doc/man-pages/man8/kas_stringtokey.8 index 546e88b65..75559aa2c 100644 --- a/doc/man-pages/man8/kas_stringtokey.8 +++ b/doc/man-pages/man8/kas_stringtokey.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH kas_stringtokey 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH kas_stringtokey 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -kas stringtokey \- Converts a character string into an octal key +kas_stringtokey \- Converts a character string into an octal key .SH "SYNOPSIS" \fBkas stringtokey\fR <<\ \fB\-string\fR\ <\fIpassword\ string\fR >>> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-help\fR] @@ -253,7 +253,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "kas_stringtokey 8" -.IX Name "kas stringtokey - Converts a character string into an octal key" +.IX Name "kas_stringtokey - Converts a character string into an octal key" .IX Header "NAME" diff --git a/doc/man-pages/man8/kas_unlock.8 b/doc/man-pages/man8/kas_unlock.8 index a0f95f7db..cfe6f8154 100644 --- a/doc/man-pages/man8/kas_unlock.8 +++ b/doc/man-pages/man8/kas_unlock.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH kas_unlock 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH kas_unlock 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -kas unlock \- Unlocks a locked user account +kas_unlock \- Unlocks a locked user account .SH "SYNOPSIS" \fBkas unlock\fR <<\ \fB\-name\fR\ <\fIauthentication\ ID\fR >>> <<\ [\fB\-admin_username\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR] >>> @@ -260,7 +260,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "kas_unlock 8" -.IX Name "kas unlock - Unlocks a locked user account" +.IX Name "kas_unlock - Unlocks a locked user account" .IX Header "NAME" diff --git a/doc/man-pages/man8/ptserver.8 b/doc/man-pages/man8/ptserver.8 index 959b3b5ee..546f75aee 100644 --- a/doc/man-pages/man8/ptserver.8 +++ b/doc/man-pages/man8/ptserver.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH ptserver 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH ptserver 8 "OpenAFS" "4/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -192,7 +192,7 @@ ptserver \- Initializes the Protection Server .SH "SYNOPSIS" \fBptserver\fR <<\ [\fB\-database\fR\ <\fIdb\ path\fR] >>> <<\ [\fB\-p\fR\ <\fInumber\ of\ processes\fR] >>> [\fB\-rebuildDB\fR] [\fB\-enable_peer_stats\fR] [\fB\-enable_process_stats\fR] - [\fB\-help\fR] + [\fB\-allow-dotted-principal\fR] [\fB\-help\fR] .SH "DESCRIPTION" The \fBptserver\fR command initializes the Protection Server, which must run on every database server machine. In the conventional configuration, its @@ -244,6 +244,13 @@ storage. A separate record is kept for each type of \s-1RPC\s0 (FetchFile, GetStatus, and so on) sent or received, aggregated over all connections to other machines. To display or otherwise access the records, use the Rx Monitoring \s-1API\s0. +.Ip "\fB\-allow-dotted-principal\fR" 4 +By default, the \s-1RXKAD\s0 security layer will disallow access by Kerberos +principals with a dot in the first component of their name. This is to avoid +the confusion where principals user/admin and user.admin are both mapped to the +user.admin \s-1PTS\s0 entry. Sites whose Kerberos realms don't have these collisions +between principal names may disabled this check by starting the server +with this option. .Ip "\fB\-help\fR" 4 Prints the online help for this command. All other valid options are ignored. @@ -302,6 +309,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Item "\fB\-enable_process_stats\fR" +.IX Item "\fB\-allow-dotted-principal\fR" + .IX Item "\fB\-help\fR" .IX Header "EXAMPLES" diff --git a/doc/man-pages/man8/read_tape.8 b/doc/man-pages/man8/read_tape.8 new file mode 100644 index 000000000..f476e326b --- /dev/null +++ b/doc/man-pages/man8/read_tape.8 @@ -0,0 +1,295 @@ +.rn '' }` +''' $RCSfile$$Revision$$Date$ +''' +''' $Log$ +''' +.de Sh +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp +.if t .sp .5v +.if n .sp +.. +.de Ip +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.de Vb +.ft CW +.nf +.ne \\$1 +.. +.de Ve +.ft R + +.fi +.. +''' +''' +''' Set up \*(-- to give an unbreakable dash; +''' string Tr holds user defined translation string. +''' Bell System Logo is used as a dummy character. +''' +.tr \(*W-|\(bv\*(Tr +.ie n \{\ +.ds -- \(*W- +.ds PI pi +.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +.ds L" "" +.ds R" "" +''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of +''' \*(L" and \*(R", except that they are used on ".xx" lines, +''' such as .IP and .SH, which do another additional levels of +''' double-quote interpretation +.ds M" """ +.ds S" """ +.ds N" """"" +.ds T" """"" +.ds L' ' +.ds R' ' +.ds M' ' +.ds S' ' +.ds N' ' +.ds T' ' +'br\} +.el\{\ +.ds -- \(em\| +.tr \*(Tr +.ds L" `` +.ds R" '' +.ds M" `` +.ds S" '' +.ds N" `` +.ds T" '' +.ds L' ` +.ds R' ' +.ds M' ` +.ds S' ' +.ds N' ` +.ds T' ' +.ds PI \(*p +'br\} +.\" If the F register is turned on, we'll generate +.\" index entries out stderr for the following things: +.\" TH Title +.\" SH Header +.\" Sh Subsection +.\" Ip Item +.\" X<> Xref (embedded +.\" Of course, you have to process the output yourself +.\" in some meaninful fashion. +.if \nF \{ +.de IX +.tm Index:\\$1\t\\n%\t"\\$2" +.. +.nr % 0 +.rr F +.\} +.TH read_tape 8 "OpenAFS" "25/Dec/2007" "AFS Command Reference" +.UC +.if n .hy 0 +.if n .na +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.de CQ \" put $1 in typewriter font +.ft CW +'if n "\c +'if t \\&\\$1\c +'if n \\&\\$1\c +'if n \&" +\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 +'.ft R +.. +.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 +. \" AM - accent mark definitions +.bd B 3 +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds ? ? +. ds ! ! +. ds / +. ds q +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' +. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] +.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' +.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' +.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +.ds oe o\h'-(\w'o'u*4/10)'e +.ds Oe O\h'-(\w'O'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds v \h'-1'\o'\(aa\(ga' +. ds _ \h'-1'^ +. ds . \h'-1'. +. ds 3 3 +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +. ds oe oe +. ds Oe OE +.\} +.rm #[ #] #H #V #F C +.SH "NAME" +read_tape \- Reads volume dumps from a backup tape to a file +.SH "SYNOPSIS" +\fBread_tape\fR <<\ \fB\-tape\fR\ <\fItape\ device\fR >>> + <<\ \fB\-restore\fR\ <\fI#\ of\ volumes\ to\ restore\fR >>> + <<\ \fB\-skip\fR\ <\fI#\ of\ volumes\ to\ skip\fR >>> + <<\ \fB\-file\fR\ <\fIfilename\fR >>> [\fB\-scan\fR] [\fB\-noask\fR] [\fB\-label\fR] + [\fB\-vheaders\fR] [\fB\-verbose\fR] [\fB\-help\fR] +.SH "DESCRIPTION" +\fBread_tape\fR reads an OpenAFS backup tape and prompts for each dump file to +save. This command does not require any OpenAFS infrastructure. This +command does not need an OpenAFS client or server to be available, which is +not the case with the the \fIbackup(8)\fR manpage command. +.PP +The dump files will be named for the Read/Write name of the volume restored. +After saving each dump file, \fBvos restore\fR or \fBrestorevol\fR can be used to +restore the volume into AFS and non-AFS space respectively. +.PP +\fBread_tape\fR reads the tape while skipping the specified number of volumes. +After that, it restores the specified number of volumes. \fBread_tape\fR +doesn't rewind the tape so that it may be used multiple times in succession. +.SH "OPTIONS" +.Ip "\fB\-tape\fR <\fItape device\fR>" 4 +Specifies the tape device from which to restore. +.Ip "\fB\-restore\fR <\fI# of volumes to restore\fR>" 4 +Specifies the number of volumes to restore from tape. +.Ip "\fB\-skip\fR <\fI# of volumes to skip\fR>" 4 +Specifies the number of volumes to skip before starting the restore. +.Ip "\fB\-file\fR <\fIfilename\fR>" 4 +Specifies an alternate name for the restored volume dump file rather than +the default of the volume name. +.Ip "\fB\-scan\fR" 4 +Scans the tape. +.Ip "\fB\-noask\fR" 4 +Doesn't prompt for each volume. +.Ip "\fB\-label\fR" 4 +Displays the full dump label. +.Ip "\fB\-vheaders\fR" 4 +Displays the full volume headers. +.Ip "\fB\-verbose\fR" 4 +Produces on the standard output stream a detailed trace of the command's +execution. If this argument is omitted, only warnings and error messages +appear. +.Ip "\fB\-help\fR" 4 +Prints the online help for this command. All other valid options are +ignored. +.SH "EXAMPLES" +The following command will read the third through fifth volumes from +the tape device /dev/tape without prompting: +.PP +.Vb 1 +\& % read_tape -tape /dev/tape -skip 2 -restore 3 -noask +.Ve +.SH "PRIVILEGE REQUIRED" +The issuer must have access to read and write to the specified tape device. +.SH "SEE ALSO" +the \fIbackup(8)\fR manpage, +the \fIrestorevol(8)\fR manpage, +the \fIvos_restore(1)\fR manpage +.SH "COPYRIGHT" +Copyright 2007 Jason Edgecombe +.PP +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. + +.rn }` '' +.IX Title "read_tape 8" +.IX Name "read_tape - Reads volume dumps from a backup tape to a file" + +.IX Header "NAME" + +.IX Header "SYNOPSIS" + +.IX Header "DESCRIPTION" + +.IX Header "OPTIONS" + +.IX Item "\fB\-tape\fR <\fItape device\fR>" + +.IX Item "\fB\-restore\fR <\fI# of volumes to restore\fR>" + +.IX Item "\fB\-skip\fR <\fI# of volumes to skip\fR>" + +.IX Item "\fB\-file\fR <\fIfilename\fR>" + +.IX Item "\fB\-scan\fR" + +.IX Item "\fB\-noask\fR" + +.IX Item "\fB\-label\fR" + +.IX Item "\fB\-vheaders\fR" + +.IX Item "\fB\-verbose\fR" + +.IX Item "\fB\-help\fR" + +.IX Header "EXAMPLES" + +.IX Header "PRIVILEGE REQUIRED" + +.IX Header "SEE ALSO" + +.IX Header "COPYRIGHT" + diff --git a/doc/man-pages/man8/uss_add.8 b/doc/man-pages/man8/uss_add.8 index f150cb801..76e552982 100644 --- a/doc/man-pages/man8/uss_add.8 +++ b/doc/man-pages/man8/uss_add.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH uss_add 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH uss_add 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -uss add \- Creates a user account +uss_add \- Creates a user account .SH "SYNOPSIS" \fBuss add\fR <<\ \fB\-user\fR\ <\fIlogin\ name\fR >>> <<\ [\fB\-realname\fR\ <\fIfull\ name\ in\ quotes\fR] >>> <<\ [\fB\-pass\fR\ <\fIinitial\ password\fR] >>> @@ -450,7 +450,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "uss_add 8" -.IX Name "uss add - Creates a user account" +.IX Name "uss_add - Creates a user account" .IX Header "NAME" diff --git a/doc/man-pages/man8/uss_apropos.8 b/doc/man-pages/man8/uss_apropos.8 index 148d0ccde..42c913fbb 100644 --- a/doc/man-pages/man8/uss_apropos.8 +++ b/doc/man-pages/man8/uss_apropos.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH uss_apropos 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH uss_apropos 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -uss apropos \- Displays each help entry containing a keyword string. +uss_apropos \- Displays each help entry containing a keyword string. .SH "SYNOPSIS" \fBuss apropos\fR <<\ \fB\-topic\fR\ <\fIhelp\ string\fR >>> [\fB\-help\fR] .PP @@ -234,7 +234,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "uss_apropos 8" -.IX Name "uss apropos - Displays each help entry containing a keyword string." +.IX Name "uss_apropos - Displays each help entry containing a keyword string." .IX Header "NAME" diff --git a/doc/man-pages/man8/uss_bulk.8 b/doc/man-pages/man8/uss_bulk.8 index d7bd9665b..ca60cb3c1 100644 --- a/doc/man-pages/man8/uss_bulk.8 +++ b/doc/man-pages/man8/uss_bulk.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH uss_bulk 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH uss_bulk 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -uss bulk \- Executes multiple uss commands listed in a file +uss_bulk \- Executes multiple uss commands listed in a file .SH "SYNOPSIS" \fBuss bulk\fR <<\ \fB\-file\fR\ <\fIbulk\ input\ file\fR >>> <<\ [\fB\-template\fR\ <\fIpathname\ of\ template\ file\fR] >>> [\fB\-verbose\fR] @@ -297,7 +297,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "uss_bulk 8" -.IX Name "uss bulk - Executes multiple uss commands listed in a file" +.IX Name "uss_bulk - Executes multiple uss commands listed in a file" .IX Header "NAME" diff --git a/doc/man-pages/man8/uss_delete.8 b/doc/man-pages/man8/uss_delete.8 index b4afbd622..00f9ea610 100644 --- a/doc/man-pages/man8/uss_delete.8 +++ b/doc/man-pages/man8/uss_delete.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH uss_delete 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH uss_delete 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -uss delete \- Deletes a user account +uss_delete \- Deletes a user account .SH "SYNOPSIS" \fBuss delete\fR <<\ \fB\-user\fR\ <\fIlogin\ name\fR >>> <<\ [\fB\-mountpoint\fR\ <\fImountpoint\ for\ user's\ volume\fR] >>> @@ -287,7 +287,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "uss_delete 8" -.IX Name "uss delete - Deletes a user account" +.IX Name "uss_delete - Deletes a user account" .IX Header "NAME" diff --git a/doc/man-pages/man8/uss_help.8 b/doc/man-pages/man8/uss_help.8 index 0f50b3237..b5fcb53be 100644 --- a/doc/man-pages/man8/uss_help.8 +++ b/doc/man-pages/man8/uss_help.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH uss_help 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH uss_help 8 "OpenAFS" "11/Nov/2007" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -188,7 +188,7 @@ .\} .rm #[ #] #H #V #F C .SH "NAME" -uss help \- Displays help for uss commands +uss_help \- Displays help for uss commands .SH "SYNOPSIS" \fBuss help\fR <<\ [\fB\-topic\fR\ <\fIhelp\ string\fR+] >>> [\fB\-help\fR] .PP @@ -249,7 +249,7 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .rn }` '' .IX Title "uss_help 8" -.IX Name "uss help - Displays help for uss commands" +.IX Name "uss_help - Displays help for uss commands" .IX Header "NAME" diff --git a/doc/man-pages/man8/vlserver.8 b/doc/man-pages/man8/vlserver.8 index be8bbc74e..7d8ef7a90 100644 --- a/doc/man-pages/man8/vlserver.8 +++ b/doc/man-pages/man8/vlserver.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH vlserver 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH vlserver 8 "OpenAFS" "4/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -191,7 +191,8 @@ vlserver \- Initializes the Volume Location Server .SH "SYNOPSIS" \fBvlserver\fR <<\ [\fB\-p\fR\ <\fIlwp\ processes\fR] >>> [\fB\-nojumbo\fR] - [\fB\-enable_peer_stats\fR] [\fB\-enable_process_stats\fR] [\fB\-help\fR] + [\fB\-allow-dotted-principal\fR] [\fB\-enable_peer_stats\fR] [\fB\-enable_process_stats\fR] + [\fB\-help\fR] .SH "DESCRIPTION" The \fBvlserver\fR command initializes the Volume Location (VL) Server, which runs on every database server machine. In the conventional configuration, @@ -249,6 +250,13 @@ storage. A separate record is kept for each type of \s-1RPC\s0 (FetchFile, GetStatus, and so on) sent or received, aggregated over all connections to other machines. To display or otherwise access the records, use the Rx Monitoring \s-1API\s0. +.Ip "\fB\-allow-dotted-principal\fR" 4 +By default, the \s-1RXKAD\s0 security layer will disallow access by Kerberos +principals with a dot in the first component of their name. This is to avoid +the confusion where principals user/admin and user.admin are both mapped to the +user.admin \s-1PTS\s0 entry. Sites whose Kerberos realms don't have these collisions +between principal names may disabled this check by starting the server +with this option. .Ip "\fB\-help\fR" 4 Prints the online help for this command. All other valid options are ignored. @@ -299,6 +307,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Item "\fB\-enable_process_stats\fR" +.IX Item "\fB\-allow-dotted-principal\fR" + .IX Item "\fB\-help\fR" .IX Header "EXAMPLES" diff --git a/doc/man-pages/man8/volserver.8 b/doc/man-pages/man8/volserver.8 index de4fe1275..ed387ff15 100644 --- a/doc/man-pages/man8/volserver.8 +++ b/doc/man-pages/man8/volserver.8 @@ -93,7 +93,7 @@ .nr % 0 .rr F .\} -.TH volserver 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference" +.TH volserver 8 "OpenAFS" "4/Feb/2008" "AFS Command Reference" .UC .if n .hy 0 .if n .na @@ -192,7 +192,8 @@ volserver \- Initializes the Volume Server component of the fs process .SH "SYNOPSIS" \fBvolserver\fR [\fB\-log\fR] <<\ [\fB\-p\fR\ <\fInumber\ of\ processes\fR] >>> <<\ [\fB\-udpsize\fR\ <\fIsize\ of\ socket\ buffer\ in\ bytes\fR] >>> - [\fB\-enable_peer_stats\fR] [\fB\-enable_process_stats\fR] [\fB\-help\fR] + [\fB\-enable_peer_stats\fR] [\fB\-enable_process_stats\fR] + [\fB\-allow-dotted-principal\fR] [\fB\-help\fR] .SH "DESCRIPTION" The \fBvolserver\fR command initializes the Volume Server component of the \f(CWfs\fR process. In the conventional configuration, its binary file is @@ -241,6 +242,13 @@ storage. A separate record is kept for each type of \s-1RPC\s0 (FetchFile, GetStatus, and so on) sent or received, aggregated over all connections to other machines. To display or otherwise access the records, use the Rx Monitoring \s-1API\s0. +.Ip "\fB\-allow-dotted-principal\fR" 4 +By default, the \s-1RXKAD\s0 security layer will disallow access by Kerberos +principals with a dot in the first component of their name. This is to avoid +the confusion where principals user/admin and user.admin are both mapped to the +user.admin \s-1PTS\s0 entry. Sites whose Kerberos realms don't have these collisions +between principal names may disabled this check by starting the server +with this option. .Ip "\fB\-help\fR" 4 Prints the online help for this command. All other valid options are ignored. @@ -292,6 +300,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. .IX Item "\fB\-enable_process_stats\fR" +.IX Item "\fB\-allow-dotted-principal\fR" + .IX Item "\fB\-help\fR" .IX Header "EXAMPLES" diff --git a/doc/man-pages/pod1/cmdebug.pod b/doc/man-pages/pod1/cmdebug.pod index d315c8f26..c01cb312d 100644 --- a/doc/man-pages/pod1/cmdebug.pod +++ b/doc/man-pages/pod1/cmdebug.pod @@ -8,20 +8,33 @@ cmdebug - Reports the status of a host Cache Manager
B S<<< B<-servers> > >>> S<<< [B<-port> >] >>> - [B<-long>] [B<-refcounts>] [B<-callbacks>] [B<-addrs>] [B<-cache>] + [B<-long>] [B<-refcounts>] [B<-callbacks>] [B<-ctime>] [B<-addrs>] + [B<-cache>] [B<-cellservdb>] [B<-help>] -B S<<< B<-s> > >>> S<<< [B<-p> >] >>> [B<-l>] [B<-r>] [B<-c>] - [B<-a>] [B<-h>] +B S<<< B<-s> > >>> S<<< [B<-p> >] >>> [B<-l>] [B<-r>] [B<-cal>] + [B<-ct>] [B<-a>] [B<-cac>] B<-ce>] [B<-h>] =for html
=head1 DESCRIPTION -The B command displays information about the Cache Manager and -client cache status on an AFS client machine. By default, it displays all -locked cache entries, but other information can be requested via various -options. +The B command displays information about the Cache Manager +and client cache status on a local or remote AFS client machine. By +default, it displays all locked cache entries, but other information +can be requested via various options. + +=head1 CAUTIONS + +The B<-ctime> option is only available with OpenAFS version 1.4.7 and +later or version 1.5.28 or later. This option can be used to gather +information from any version of the Unix OpenAFS client, but can only +query Windows clients running OpenAFS version 1.5.28 or later. + +The B<-cellservdb> option is only available with OpenAFS version 1.4.7 +and later or version 1.5.31 or later. This option can be used to gather +information from any version of the Unix OpenAFS client, but can only +query Windows clients running OpenAFS version 1.5.31 or later. =head1 OPTIONS @@ -31,11 +44,11 @@ options. Names the client machine for which to display Cache Manager status. Provide the machine's IP address in dotted decimal format, its fully -qualified host name (for example, B), or the shortest +qualified host name (for example, B), or the shortest abbreviated form of its host name that distinguishes it from other machines. Successful use of an abbreviated form depends on the -availability of a name resolution service (such as the Domain Name Service -or a local host table) at the time the command is issued. +availability of a name resolution service (such as the Domain Name +Service or a local host table) at the time the command is issued. =item B<-port> > @@ -46,7 +59,7 @@ the standard port 7001 is used, so this option is very rarely needed. Reports on all lock statuses and all cache entries, rather than only locked cache entries. Do not use this option with B<-refcounts>, -B<-callbacks>, B<-addrs>, or B<-cache>. +B<-callbacks>, B<-addrs>, B<-cache>, or B<-cellservdb>. =item B<-refcounts> @@ -58,6 +71,11 @@ use this option with B<-long>, B<-callbacks>, B<-addrs>, or B<-cache>. Reports only those cache entries with callbacks. Do not use this option with B<-long>, B<-refcounts>, B<-addrs>, or B<-cache>. +=item B<-ctime> + +Causes entry expiration times to be shown in human-readable format. Do +not use this option with B<-addrs> or B<-cache>. + =item B<-addrs> Rather than showing any cache entries, displays the interfaces the Cache @@ -73,6 +91,15 @@ for the client machine. The information displayed is essentially the information that can be configured via parameters to B. Do not use this option with B<-long>, B<-refcounts>, B<-callbacks>, or B<-addrs>. +=item B<-cellservdb> + +Lists all known volume location database records in a +CellServDB-compatible format. This includes all records in memory, +including those from the CellServDB file, AFSDB DNS records, and the +B command. This option could be used to see if a client +has the latest copy of the CellServDB file. Do not use this option +with B<-long>, B<-refcounts>, B<-callbacks>, or B<-cache>. + =item B<-help> Prints the online help for this command. All other valid options are @@ -86,13 +113,13 @@ Displays all of the locked cache entries on C: % cmdebug client1 -Displays the cache configuration for C: +Displays the cache configuration for C: - % cmdebug client1.abc.com -cache + % cmdebug client1.example.com -cache -Displays all cache entries for C: +Displays all cache entries for C: - % cmdebug client2.abc.com -long + % cmdebug client2.example.com -long =head1 PRIVILEGE REQUIRED @@ -100,7 +127,9 @@ None =head1 SEE ALSO -L +L, +L, +L =head1 COPYRIGHT diff --git a/doc/man-pages/pod1/fs.pod b/doc/man-pages/pod1/fs.pod index 75dce00cb..773762434 100644 --- a/doc/man-pages/pod1/fs.pod +++ b/doc/man-pages/pod1/fs.pod @@ -27,6 +27,7 @@ L|fs_setcell(1)>, L|fs_setcrypt(1)>, L|fs_setserverprefs(1)>, L|fs_sysname(1)>, +L|fs_uuid(1)>, and L|fs_wscell(1)>. =item * diff --git a/doc/man-pages/pod1/fs_apropos.pod b/doc/man-pages/pod1/fs_apropos.pod index ba0b3d42b..b626d4c1c 100644 --- a/doc/man-pages/pod1/fs_apropos.pod +++ b/doc/man-pages/pod1/fs_apropos.pod @@ -1,6 +1,6 @@ =head1 NAME -fs apropos - Displays each help entry containing a keyword string +fs_apropos - Displays each help entry containing a keyword string =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_checkservers.pod b/doc/man-pages/pod1/fs_checkservers.pod index 71fb179ed..9f6996f64 100644 --- a/doc/man-pages/pod1/fs_checkservers.pod +++ b/doc/man-pages/pod1/fs_checkservers.pod @@ -1,6 +1,6 @@ =head1 NAME -fs checkservers - Displays the status of server machines +fs_checkservers - Displays the status of server machines =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_checkvolumes.pod b/doc/man-pages/pod1/fs_checkvolumes.pod index 3e41e1eb2..e822b36ca 100644 --- a/doc/man-pages/pod1/fs_checkvolumes.pod +++ b/doc/man-pages/pod1/fs_checkvolumes.pod @@ -1,6 +1,6 @@ =head1 NAME -fs checkvolumes - Forces the Cache Manager to update volume information +fs_checkvolumes - Forces the Cache Manager to update volume information =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_cleanacl.pod b/doc/man-pages/pod1/fs_cleanacl.pod index 50bf48139..538076b47 100644 --- a/doc/man-pages/pod1/fs_cleanacl.pod +++ b/doc/man-pages/pod1/fs_cleanacl.pod @@ -1,6 +1,6 @@ =head1 NAME -fs cleanacl - Remove obsolete entries from an ACL +fs_cleanacl - Remove obsolete entries from an ACL =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_copyacl.pod b/doc/man-pages/pod1/fs_copyacl.pod index d11549d5e..6228ec2ff 100644 --- a/doc/man-pages/pod1/fs_copyacl.pod +++ b/doc/man-pages/pod1/fs_copyacl.pod @@ -1,6 +1,6 @@ =head1 NAME -fs copyacl - Copies an ACL from a directory to one or more other directories +fs_copyacl - Copies an ACL from a directory to one or more other directories =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_diskfree.pod b/doc/man-pages/pod1/fs_diskfree.pod index 6dc8ad311..bb8fbdecd 100644 --- a/doc/man-pages/pod1/fs_diskfree.pod +++ b/doc/man-pages/pod1/fs_diskfree.pod @@ -1,6 +1,6 @@ =head1 NAME -fs diskfree - Shows data about the partition housing a directory or file +fs_diskfree - Shows data about the partition housing a directory or file =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_examine.pod b/doc/man-pages/pod1/fs_examine.pod index 5db1e970d..26219a47d 100644 --- a/doc/man-pages/pod1/fs_examine.pod +++ b/doc/man-pages/pod1/fs_examine.pod @@ -1,6 +1,6 @@ =head1 NAME -fs examine - Shows data about the volume containing a directory or file +fs_examine - Shows data about the volume containing a directory or file =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_exportafs.pod b/doc/man-pages/pod1/fs_exportafs.pod index b4d1f31b5..ecc3d568b 100644 --- a/doc/man-pages/pod1/fs_exportafs.pod +++ b/doc/man-pages/pod1/fs_exportafs.pod @@ -1,6 +1,6 @@ =head1 NAME -fs exportafs - Configures export of AFS to clients of other file systems +fs_exportafs - Configures export of AFS to clients of other file systems =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_flush.pod b/doc/man-pages/pod1/fs_flush.pod index 3caaecdd5..61ee4dab2 100644 --- a/doc/man-pages/pod1/fs_flush.pod +++ b/doc/man-pages/pod1/fs_flush.pod @@ -1,6 +1,6 @@ =head1 NAME -fs flush - Forces the Cache Manager to discard a cached file or directory +fs_flush - Forces the Cache Manager to discard a cached file or directory =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_flushall.pod b/doc/man-pages/pod1/fs_flushall.pod index 3fac90f51..92a621ebc 100644 --- a/doc/man-pages/pod1/fs_flushall.pod +++ b/doc/man-pages/pod1/fs_flushall.pod @@ -1,6 +1,6 @@ =head1 NAME -fs flushall - Force the AFS Cache Manager to discard all data +fs_flushall - Force the AFS Cache Manager to discard all data =head1 SYNOPSIS @@ -58,5 +58,6 @@ L Copyright 2007 Jason Edgecombe -This documentation is covered by the IBM Public License Version 1.0. This -man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. diff --git a/doc/man-pages/pod1/fs_flushmount.pod b/doc/man-pages/pod1/fs_flushmount.pod index 061c85d08..b7709695a 100644 --- a/doc/man-pages/pod1/fs_flushmount.pod +++ b/doc/man-pages/pod1/fs_flushmount.pod @@ -1,6 +1,6 @@ =head1 NAME -fs flushmount - Forces the Cache Manager to discard a mount point +fs_flushmount - Forces the Cache Manager to discard a mount point =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_flushvolume.pod b/doc/man-pages/pod1/fs_flushvolume.pod index be98d162c..c8ac98175 100644 --- a/doc/man-pages/pod1/fs_flushvolume.pod +++ b/doc/man-pages/pod1/fs_flushvolume.pod @@ -1,6 +1,6 @@ =head1 NAME -fs flushvolume - Forces the Cache Manager to discard cached data from a volume +fs_flushvolume - Forces the Cache Manager to discard cached data from a volume =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_getcacheparms.pod b/doc/man-pages/pod1/fs_getcacheparms.pod index dde57a3d7..f65be0f05 100644 --- a/doc/man-pages/pod1/fs_getcacheparms.pod +++ b/doc/man-pages/pod1/fs_getcacheparms.pod @@ -1,6 +1,6 @@ =head1 NAME -fs getcacheparms - Displays the current size and usage of the cache +fs_getcacheparms - Displays the current size and usage of the cache =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_getcalleraccess.pod b/doc/man-pages/pod1/fs_getcalleraccess.pod index 56a14f892..9c7cc9c99 100644 --- a/doc/man-pages/pod1/fs_getcalleraccess.pod +++ b/doc/man-pages/pod1/fs_getcalleraccess.pod @@ -1,6 +1,6 @@ =head1 NAME -fs getcalleraccess - Show the current user's access to a file or directory +fs_getcalleraccess - Show the current user's access to a file or directory =head1 SYNOPSIS @@ -69,5 +69,6 @@ L Copyright 2007 Jason Edgecombe -This documentation is covered by the IBM Public License Version 1.0. This -man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. diff --git a/doc/man-pages/pod1/fs_getcellstatus.pod b/doc/man-pages/pod1/fs_getcellstatus.pod index 1d835d6de..f3fb9a0d5 100644 --- a/doc/man-pages/pod1/fs_getcellstatus.pod +++ b/doc/man-pages/pod1/fs_getcellstatus.pod @@ -1,6 +1,6 @@ =head1 NAME -fs getcellstatus - Reports whether setuid programs are honored in a cell +fs_getcellstatus - Reports whether setuid programs are honored in a cell =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_getclientaddrs.pod b/doc/man-pages/pod1/fs_getclientaddrs.pod index 692aa57c0..6dc9abca8 100644 --- a/doc/man-pages/pod1/fs_getclientaddrs.pod +++ b/doc/man-pages/pod1/fs_getclientaddrs.pod @@ -1,6 +1,6 @@ =head1 NAME -fs getclientaddrs - Displays the client interfaces to register +fs_getclientaddrs - Displays the client interfaces to register =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_getcrypt.pod b/doc/man-pages/pod1/fs_getcrypt.pod index a1402f5aa..a0bf89112 100644 --- a/doc/man-pages/pod1/fs_getcrypt.pod +++ b/doc/man-pages/pod1/fs_getcrypt.pod @@ -1,6 +1,6 @@ =head1 NAME -fs getcrypt - Displays the state of encryption for AFS file transfers +fs_getcrypt - Displays the state of encryption for AFS file transfers =head1 SYNOPSIS @@ -73,5 +73,6 @@ L. Copyright 2007 Jason Edgecombe -This documentation is covered by the IBM Public License Version 1.0. This -man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. diff --git a/doc/man-pages/pod1/fs_getserverprefs.pod b/doc/man-pages/pod1/fs_getserverprefs.pod index e59ef3e15..0bb00c4ef 100644 --- a/doc/man-pages/pod1/fs_getserverprefs.pod +++ b/doc/man-pages/pod1/fs_getserverprefs.pod @@ -1,6 +1,6 @@ =head1 NAME -fs getserverprefs - Displays preference ranks for file servers or VL servers +fs_getserverprefs - Displays preference ranks for file servers or VL servers =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_help.pod b/doc/man-pages/pod1/fs_help.pod index a0d73a30b..98ae7ba6d 100644 --- a/doc/man-pages/pod1/fs_help.pod +++ b/doc/man-pages/pod1/fs_help.pod @@ -1,6 +1,6 @@ =head1 NAME -fs help - Displays help for fs commands +fs_help - Displays help for fs commands =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_listacl.pod b/doc/man-pages/pod1/fs_listacl.pod index 35098cc89..8537fa161 100644 --- a/doc/man-pages/pod1/fs_listacl.pod +++ b/doc/man-pages/pod1/fs_listacl.pod @@ -1,6 +1,6 @@ =head1 NAME -fs listacl - Displays ACLs +fs_listacl - Displays ACLs =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_listaliases.pod b/doc/man-pages/pod1/fs_listaliases.pod index 225aa42bf..420c7da8a 100644 --- a/doc/man-pages/pod1/fs_listaliases.pod +++ b/doc/man-pages/pod1/fs_listaliases.pod @@ -1,6 +1,6 @@ =head1 NAME -fs listaliases - Displays the current list of aliases for AFS cells +fs_listaliases - Displays the current list of aliases for AFS cells =head1 SYNOPSIS @@ -57,5 +57,6 @@ L Copyright 2007 Jason Edgecombe -This documentation is covered by the IBM Public License Version 1.0. This -man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. diff --git a/doc/man-pages/pod1/fs_listcells.pod b/doc/man-pages/pod1/fs_listcells.pod index 513cc0867..4725a8ef7 100644 --- a/doc/man-pages/pod1/fs_listcells.pod +++ b/doc/man-pages/pod1/fs_listcells.pod @@ -1,6 +1,6 @@ =head1 NAME -fs listcells - Displays the database server machines known to the Cache Manager +fs_listcells - Displays the database server machines known to the Cache Manager =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_listquota.pod b/doc/man-pages/pod1/fs_listquota.pod index 41f9ec9e7..117ad5f6c 100644 --- a/doc/man-pages/pod1/fs_listquota.pod +++ b/doc/man-pages/pod1/fs_listquota.pod @@ -1,6 +1,6 @@ =head1 NAME -fs listquota - Displays quota information for a volume +fs_listquota - Displays quota information for a volume =head1 SYNOPSIS @@ -28,6 +28,17 @@ examine> command. To set volume quota, use the B or B command. +=head1 CAUTIONS + +Currently, the maximum size of a volume is 2 terabytes (2^31 bytes) +and the maximum size of a /vicepX partition on a fileserver is also 2 +terabytes. The fileserver will not report an error when it has access +to a partition larger than 2 terabytes, but it will probably fail if +the administrator attempts to use more than 2 terabytes of space. In +addition, there are reports of erroneous disk usage numbers when +B or other OpenAFS disk reporting tools are used with +partitions larger than 2 terabytes. + =head1 OPTIONS =over 4 diff --git a/doc/man-pages/pod1/fs_lsmount.pod b/doc/man-pages/pod1/fs_lsmount.pod index 9b238da52..d79e6e7ed 100644 --- a/doc/man-pages/pod1/fs_lsmount.pod +++ b/doc/man-pages/pod1/fs_lsmount.pod @@ -1,6 +1,6 @@ =head1 NAME -fs lsmount - Reports the volume for which a directory is the mount point. +fs_lsmount - Reports the volume for which a directory is the mount point. =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_messages.pod b/doc/man-pages/pod1/fs_messages.pod index ee1921d3e..2a47345fe 100644 --- a/doc/man-pages/pod1/fs_messages.pod +++ b/doc/man-pages/pod1/fs_messages.pod @@ -1,6 +1,6 @@ =head1 NAME -fs messages - Sets whether the Cache Manager writes log messages +fs_messages - Sets whether the Cache Manager writes log messages =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_minidump.pod b/doc/man-pages/pod1/fs_minidump.pod new file mode 100644 index 000000000..9be46e71f --- /dev/null +++ b/doc/man-pages/pod1/fs_minidump.pod @@ -0,0 +1,47 @@ +=head1 NAME + +fs_minidump - Generate a minidump from the current afsd service + +=head1 SYNOPSIS + +=for html +
+ +B [B<-help>] + +=for html +
+ +=head1 DESCRIPTION + +B generates a mini dump file containing the current stack +of the afsd_service.exe process. This output can be very helpful when +debugging the AFS Client Service when it is unresponsive to SMB/CIFS +requests. + +=head1 CAUTIONS + +This command is only available in OpenAFS for Windows version 1.4 and later. + +=head1 OPTIONS + +=over 4 + +=item B<-help> + +Prints the online help for this command. All other valid options are +ignored. + +=back + +=head1 SEE ALSO + +L + +=head1 COPYRIGHT + +Copyright 2007 Jason Edgecombe + +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. diff --git a/doc/man-pages/pod1/fs_mkmount.pod b/doc/man-pages/pod1/fs_mkmount.pod index 4ec5949f9..fd74d9b50 100644 --- a/doc/man-pages/pod1/fs_mkmount.pod +++ b/doc/man-pages/pod1/fs_mkmount.pod @@ -1,6 +1,6 @@ =head1 NAME -fs mkmount - Creates a mount point for a volume +fs_mkmount - Creates a mount point for a volume =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_newalias.pod b/doc/man-pages/pod1/fs_newalias.pod index 2c56c83ce..d69aa1aec 100644 --- a/doc/man-pages/pod1/fs_newalias.pod +++ b/doc/man-pages/pod1/fs_newalias.pod @@ -1,6 +1,6 @@ =head1 NAME -fs newalias - Creates a new alias for a cell +fs_newalias - Creates a new alias for a cell =head1 SYNOPSIS @@ -92,5 +92,6 @@ L Copyright 2007 Jason Edgecombe -This documentation is covered by the IBM Public License Version 1.0. This -man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. diff --git a/doc/man-pages/pod1/fs_newcell.pod b/doc/man-pages/pod1/fs_newcell.pod index 6e337b48f..3c56f5682 100644 --- a/doc/man-pages/pod1/fs_newcell.pod +++ b/doc/man-pages/pod1/fs_newcell.pod @@ -1,6 +1,6 @@ =head1 NAME -fs newcell - Changes the kernel-resident list of a cell's database servers +fs_newcell - Changes the kernel-resident list of a cell's database servers =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_quota.pod b/doc/man-pages/pod1/fs_quota.pod index 40b715ff5..f6528772c 100644 --- a/doc/man-pages/pod1/fs_quota.pod +++ b/doc/man-pages/pod1/fs_quota.pod @@ -1,6 +1,6 @@ =head1 NAME -fs quota - Displays the quota used in the volume containing a directory or file +fs_quota - Displays the quota used in the volume containing a directory or file =head1 SYNOPSIS @@ -24,6 +24,17 @@ resides on, use the B and B commands. To set volume quota, use the B or B command. +=head1 CAUTIONS + +Currently, the maximum size of a volume is 2 terabytes (2^31 bytes) +and the maximum size of a /vicepX partition on a fileserver is also 2 +terabytes. The fileserver will not report an error when it has access +to a partition larger than 2 terabytes, but it will probably fail if +the administrator attempts to use more than 2 terabytes of space. In +addition, there are reports of erroneous disk usage numbers when +B or other OpenAFS disk reporting tools are used with +partitions larger than 2 terabytes. + =head1 OPTIONS =over 4 diff --git a/doc/man-pages/pod1/fs_rmmount.pod b/doc/man-pages/pod1/fs_rmmount.pod index 306a22b5d..9a68aa5ff 100644 --- a/doc/man-pages/pod1/fs_rmmount.pod +++ b/doc/man-pages/pod1/fs_rmmount.pod @@ -1,6 +1,6 @@ =head1 NAME -fs rmmount - Removes a mount point +fs_rmmount - Removes a mount point =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_rxstatpeer.pod b/doc/man-pages/pod1/fs_rxstatpeer.pod new file mode 100644 index 000000000..ed9aab051 --- /dev/null +++ b/doc/man-pages/pod1/fs_rxstatpeer.pod @@ -0,0 +1,68 @@ +=head1 NAME + +fs_rxstatpeer - Enables Rx packet logging in the OpenAFS kernel module + +=head1 SYNOPSIS + +=for html +
+ +B [B<-clear>] [B<-disable>] [B<-enable>] [B<-help>] + +=for html +
+ +=head1 DESCRIPTION + +B manipulates some of the Rx protocol counters in the +OpenAFS kernel interface. + +=head1 OPTIONS + +=over 4 + +=item B<-clear> + +Clear the Rx stats for peers in the kernel module. + +=item B<-disable> + +Disable logging of Rx stats for peers in the kernel module. + +=item B<-enable> + +Enable logging of Rx stats for peers in the kernel module. + +=item B<-help> + +Prints the online help for this command. All other valid options are +ignored. + +=back + +=head1 OUTPUT + +This command produces no output other than error messages. + +=head1 EXAMPLES + +Enable Rx Stats for peers: + + % fs rxstatpeer -enable + +=head1 PRIVILEGE REQUIRED + +The issuer must be logged in as the local superuser root. + +=head1 SEE ALSO + +L, +L + +=head1 COPYRIGHT + +Copyright 2007 Jason Edgecombe + +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. diff --git a/doc/man-pages/pod1/fs_setacl.pod b/doc/man-pages/pod1/fs_setacl.pod index ec437023e..fa0562e1e 100644 --- a/doc/man-pages/pod1/fs_setacl.pod +++ b/doc/man-pages/pod1/fs_setacl.pod @@ -1,6 +1,6 @@ =head1 NAME -fs setacl - Sets the ACL for a directory +fs_setacl - Sets the ACL for a directory =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_setcachesize.pod b/doc/man-pages/pod1/fs_setcachesize.pod index 5c53b5faf..b0aafd7fc 100644 --- a/doc/man-pages/pod1/fs_setcachesize.pod +++ b/doc/man-pages/pod1/fs_setcachesize.pod @@ -1,6 +1,6 @@ =head1 NAME -fs setcachesize - Sets the size of the disk cache +fs_setcachesize - Sets the size of the disk cache =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_setcell.pod b/doc/man-pages/pod1/fs_setcell.pod index 0a0963f60..fb4971fae 100644 --- a/doc/man-pages/pod1/fs_setcell.pod +++ b/doc/man-pages/pod1/fs_setcell.pod @@ -1,6 +1,6 @@ =head1 NAME -fs setcell - Configures permissions for setuid programs from specified cells +fs_setcell - Configures permissions for setuid programs from specified cells =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_setclientaddrs.pod b/doc/man-pages/pod1/fs_setclientaddrs.pod index e76a05d5a..213d45160 100644 --- a/doc/man-pages/pod1/fs_setclientaddrs.pod +++ b/doc/man-pages/pod1/fs_setclientaddrs.pod @@ -1,6 +1,6 @@ =head1 NAME -fs setclientaddrs - Sets the client interfaces to register with the File Server +fs_setclientaddrs - Sets the client interfaces to register with the File Server =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_setcrypt.pod b/doc/man-pages/pod1/fs_setcrypt.pod index 76676f167..495b415d4 100644 --- a/doc/man-pages/pod1/fs_setcrypt.pod +++ b/doc/man-pages/pod1/fs_setcrypt.pod @@ -1,6 +1,6 @@ =head1 NAME -fs setcrypt - Enables of disables the encryption of AFS file transfers +fs_setcrypt - Enables of disables the encryption of AFS file transfers =head1 SYNOPSIS @@ -94,5 +94,6 @@ L. Copyright 2007 Jason Edgecombe -This documentation is covered by the IBM Public License Version 1.0. This -man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. diff --git a/doc/man-pages/pod1/fs_setquota.pod b/doc/man-pages/pod1/fs_setquota.pod index 19a0fded0..f0cd853a7 100644 --- a/doc/man-pages/pod1/fs_setquota.pod +++ b/doc/man-pages/pod1/fs_setquota.pod @@ -1,6 +1,6 @@ =head1 NAME -fs setquota - Sets the quota for the volume containing a file or directory +fs_setquota - Sets the quota for the volume containing a file or directory =head1 SYNOPSIS @@ -29,6 +29,17 @@ setvol> command. To display a volume's quota, use the B, B, or B command. +=head1 CAUTIONS + +Currently, the maximum size of a volume is 2 terabytes (2^31 bytes) +and the maximum size of a /vicepX partition on a fileserver is also 2 +terabytes. The fileserver will not report an error when it has access +to a partition larger than 2 terabytes, but it will probably fail if +the administrator attempts to use more than 2 terabytes of space. In +addition, there are reports of erroneous disk usage numbers when +B or other OpenAFS disk reporting tools are used with +partitions larger than 2 terabytes. + =head1 OPTIONS =over 4 diff --git a/doc/man-pages/pod1/fs_setserverprefs.pod b/doc/man-pages/pod1/fs_setserverprefs.pod index 2a709147f..9b4c0c3ff 100644 --- a/doc/man-pages/pod1/fs_setserverprefs.pod +++ b/doc/man-pages/pod1/fs_setserverprefs.pod @@ -1,6 +1,6 @@ =head1 NAME -fs setserverprefs - Sets the preference ranks for file servers or VL servers +fs_setserverprefs - Sets the preference ranks for file servers or VL servers =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_setvol.pod b/doc/man-pages/pod1/fs_setvol.pod index 104faa5ef..8540f7b00 100644 --- a/doc/man-pages/pod1/fs_setvol.pod +++ b/doc/man-pages/pod1/fs_setvol.pod @@ -1,6 +1,6 @@ =head1 NAME -fs setvol - Set quota and messages for a volume containing a file or directory +fs_setvol - Set quota and messages for a volume containing a file or directory =head1 SYNOPSIS @@ -36,6 +36,17 @@ and the B command the percent of quota used. To set quota on one volume at a time, use the B command. +=head1 CAUTIONS + +Currently, the maximum size of a volume is 2 terabytes (2^31 bytes) +and the maximum size of a /vicepX partition on a fileserver is also 2 +terabytes. The fileserver will not report an error when it has access +to a partition larger than 2 terabytes, but it will probably fail if +the administrator attempts to use more than 2 terabytes of space. In +addition, there are reports of erroneous disk usage numbers when +B or other OpenAFS disk reporting tools are used with +partitions larger than 2 terabytes. + =head1 OPTIONS =over 4 diff --git a/doc/man-pages/pod1/fs_storebehind.pod b/doc/man-pages/pod1/fs_storebehind.pod index 82f1682d8..70e804166 100644 --- a/doc/man-pages/pod1/fs_storebehind.pod +++ b/doc/man-pages/pod1/fs_storebehind.pod @@ -1,6 +1,6 @@ =head1 NAME -fs storebehind - Enables asynchronous writes to the file server +fs_storebehind - Enables asynchronous writes to the file server =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_sysname.pod b/doc/man-pages/pod1/fs_sysname.pod index de6c9abd6..b3026a646 100644 --- a/doc/man-pages/pod1/fs_sysname.pod +++ b/doc/man-pages/pod1/fs_sysname.pod @@ -1,15 +1,15 @@ =head1 NAME -fs sysname - Reports or sets the CPU/operating system type +fs_sysname - Reports or sets the CPU/operating system type =head1 SYNOPSIS =for html
-B S<<< [B<-newsys> >] >>> [B<-help>] +B S<<< [B<-newsys> >]+ >>> [B<-help>] -B S<<< [B<-n> >] >>> [B<-h>] +B S<<< [B<-n> >]+ >>> [B<-h>] =for html
@@ -19,7 +19,7 @@ B S<<< [B<-n> >] >>> [B<-h>] The B command sets or displays the local machine's CPU/operating system type as recorded in kernel memory. The Cache Manager substitutes the string for the I<@sys> variable which can occur in AFS -pathnames; the I and I and I explain how using I<@sys> can simplify cell configuration. It is best to use it sparingly, however, because it can make the effect of changing directories unpredictable. @@ -42,10 +42,14 @@ must verify that the correct string is set for the new identity also. =item B<-newsys> > -Sets the CPU/operating system indicator string for the local machine. If -this argument is omitted, the output displays the current setting -instead. AFS uses a standardized set of strings; consult the I or I. +Sets the CPU/operating system indicator string for the local machine. This +option may be used multiple times in the same invocation, which sets I<@sys> +to an array of values. When I<@sys> contains an array of values, the first +value that matches a path is used. + +If this argument is omitted, the output displays the current setting +instead. AFS uses a standardized set of strings; consult the I or I. =item B<-help> @@ -61,6 +65,10 @@ system type in the following format: Current sysname is '' +When the B<-newsys> argument is included, the output is the following: + + fs: new sysname list set. + =head1 EXAMPLES The following example shows the output produced on a Sun SPARCStation @@ -74,6 +82,18 @@ The following command defines a machine to be a IBM RS/6000 running AIX % fs sysname -newsys rs_aix42 +The following command defines a machine to be Mac OS X PPC and a +custom type 'foo'. The second command queries the new sysname: + + % fs sysname -newsys ppc_darwin_80 -newsys foo + fs: new sysname list set. + % fs sysname + Current sysname list is 'ppc_darwin_80' 'foo' + +If I<@sys> is C, then C will try to change +to the C directory. If the C directory +doesn't exist, then the C directory is tried. + =head1 PRIVILEGE REQUIRED To display the current setting, no privilege is required. To include the @@ -85,9 +105,14 @@ as the local superuser C. L, L -I +I +L + +I +L -I +For the list of assigned standard sysname values, see +L =head1 COPYRIGHT diff --git a/doc/man-pages/pod1/fs_uuid.pod b/doc/man-pages/pod1/fs_uuid.pod index 244f5aa2f..308eebc16 100644 --- a/doc/man-pages/pod1/fs_uuid.pod +++ b/doc/man-pages/pod1/fs_uuid.pod @@ -1,6 +1,6 @@ =head1 NAME -fs uuid - Prints the uuid of the client or generates a new one +fs_uuid - Prints the uuid of the client or generates a new one =head1 SYNOPSIS @@ -14,18 +14,18 @@ B [B<-generate>] [B<-help>] =head1 DESCRIPTION -B prints the current uuid of an OpenAFS client. It can -optionally force the generation of a new uuid, if needed. The client -uuid is used by the B to differentiate clients with the -same IP address. +B prints the current UUID of an OpenAFS client. It can +optionally force the generation of a new UUID, if needed. The client UUID +is used by the B to differentiate clients with the same IP +address. =head1 CAUTIONS -The B command is only available in OpenAFS versions after -1.4.5 and 1.5.8. The behavior differs slightly between versions. In -OpenAFS 1.4.5 and later, the B<-generate> option is required and the -uuid for the client machine is never printed. OpenAFS versions 1.5.8 -and later will print the uuid. +The B command is only available in OpenAFS versions after 1.4.5 +and 1.5.8. The behavior differs slightly between versions. In OpenAFS +1.4.5 and later, the B<-generate> option is required and the UUID for the +client machine is never printed. OpenAFS versions 1.5.8 and later will +print the UUID. =head1 OPTIONS @@ -33,21 +33,21 @@ and later will print the uuid. =item B<-generate> -Generates a new uuid for the cache manager. This is useful if two -clients share the same uuid. B<-generate> is optional in OpenAFS -versions 1.5.8 and later, but it is required in OpenAFS versions 1.4.5 -and later. +Generates a new UUID for the cache manager. This is useful if two clients +share the same UUID (if systems were cloned incorrectly, for example). +B<-generate> is optional in OpenAFS versions 1.5.8 and later, but it is +required in OpenAFS versions 1.4.5 and later. =item B<-help> -Prints the online help for this command. All other valid options are +Prints the online help for this command. All other valid options are ignored. =back =head1 OUTPUT -B prints out the current uuid for the client or the new uuid +B prints out the current UUID for the client or the new UUID if the B<-generate> option is passed to it. =head1 EXAMPLES @@ -65,7 +65,6 @@ Here is the only way to invoke B under OpenAFS 1.4.5 and later: % fs uuid -generate New uuid generated. - =head1 PRIVILEGE REQUIRED The issuer must be logged on as the local superuser C. @@ -78,5 +77,6 @@ L Copyright 2007 Jason Edgecombe -This documentation is covered by the IBM Public License Version 1.0. This -man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. diff --git a/doc/man-pages/pod1/fs_whereis.pod b/doc/man-pages/pod1/fs_whereis.pod index 1665c60ca..23dfc75bd 100644 --- a/doc/man-pages/pod1/fs_whereis.pod +++ b/doc/man-pages/pod1/fs_whereis.pod @@ -1,6 +1,6 @@ =head1 NAME -fs whereis - Reports each file server housing a file or directory +fs_whereis - Reports each file server housing a file or directory =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_whichcell.pod b/doc/man-pages/pod1/fs_whichcell.pod index 101c111b0..56fdfb9b3 100644 --- a/doc/man-pages/pod1/fs_whichcell.pod +++ b/doc/man-pages/pod1/fs_whichcell.pod @@ -1,6 +1,6 @@ =head1 NAME -fs whichcell - Returns the cell to which a file or directory belongs +fs_whichcell - Returns the cell to which a file or directory belongs =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/fs_wscell.pod b/doc/man-pages/pod1/fs_wscell.pod index cfd689827..a71fa2677 100644 --- a/doc/man-pages/pod1/fs_wscell.pod +++ b/doc/man-pages/pod1/fs_wscell.pod @@ -1,6 +1,6 @@ =head1 NAME -fs wscell - Returns the name of the cell to which a machine belongs +fs_wscell - Returns the name of the cell to which a machine belongs =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/pts.pod b/doc/man-pages/pod1/pts.pod index 476117485..913a9ff18 100644 --- a/doc/man-pages/pod1/pts.pod +++ b/doc/man-pages/pod1/pts.pod @@ -91,6 +91,12 @@ The value of the AFSCELL environment variable. The local F file. +Do not combine the B<-cell> and B<-localauth> options. A command on which +the B<-localauth> flag is included always runs in the local cell (as +defined in the server machine's local F file), +whereas a command on which the B<-cell> argument is included runs in the +specified foreign cell. + =back =item B<-force> @@ -123,6 +129,29 @@ privileged users to issue commands that change the Protection Database, and refuses to perform such an action even if the B<-noauth> flag is provided. +=item B<-localauth> + +Constructs a server ticket using the server encryption key with the +highest key version number in the local F file. The +B command interpreter presents the ticket, which never expires, to +the BOS Server during mutual authentication. + +Use this flag only when issuing a command on a server machine; client +machines do not usually have a F file. The issuer +of a command that includes this flag must be logged on to the server +machine as the local superuser C. The flag is useful for commands +invoked by an unattended application program, such as a process controlled +by the UNIX B utility. It is also useful if an administrator is +unable to authenticate to AFS but is logged in as the local superuser +C. + +Do not combine the B<-cell> and B<-localauth> options. A command on which +the B<-localauth> flag is included always runs in the local cell (as +defined in the server machine's local F file), +whereas a command on which the B<-cell> argument is included runs in the +specified foreign cell. Also, do not combine the B<-localauth> and +B<-noauth> flags. + =back =head1 PRIVILEGE REQUIRED diff --git a/doc/man-pages/pod1/pts_adduser.pod b/doc/man-pages/pod1/pts_adduser.pod index 671c76e6b..cefc97099 100644 --- a/doc/man-pages/pod1/pts_adduser.pod +++ b/doc/man-pages/pod1/pts_adduser.pod @@ -1,6 +1,6 @@ =head1 NAME -pts adduser - Adds a user or machine to a Protection Database group +pts_adduser - Adds a user or machine to a Protection Database group =head1 SYNOPSIS @@ -8,10 +8,10 @@ pts adduser - Adds a user or machine to a Protection Database group
B S<<< B<-user> >+ >>> S<<< B<-group> >+ >>> - S<<< [B<-cell> >] >>> [B<-noauth>] [B<-force>] [B<-help>] + S<<< [B<-cell> >] >>> [B<-noauth>] [B<-localauth>] [B<-force>] [B<-help>] B S<<< B<-u> >+ >>> S<<< B<-g> >+ >>> - S<<< [B<-c> >] >>> [B<-n>] [B<-f>] [B<-h>] + S<<< [B<-c> >] >>> [B<-n>] [B<-l>] [B<-f>] [B<-h>] =for html
@@ -60,6 +60,14 @@ L. Assigns the unprivileged identity anonymous to the issuer. For more details, see L. +=item B<-localauth> + +Constructs a server ticket using a key from the local +F file. The B command interpreter presents the +ticket to the Protection Server during mutual authentication. Do not combine +this flag with the B<-cell> or B<-noauth> options. For more details, see +L. + =item B<-force> Enables the command to continue executing as far as possible when errors diff --git a/doc/man-pages/pod1/pts_apropos.pod b/doc/man-pages/pod1/pts_apropos.pod index 89653617e..9e213710e 100644 --- a/doc/man-pages/pod1/pts_apropos.pod +++ b/doc/man-pages/pod1/pts_apropos.pod @@ -1,6 +1,6 @@ =head1 NAME -pts apropos - Displays each help entry containing a keyword string +pts_apropos - Displays each help entry containing a keyword string =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/pts_chown.pod b/doc/man-pages/pod1/pts_chown.pod index 397ed0c5e..c3de2c398 100644 --- a/doc/man-pages/pod1/pts_chown.pod +++ b/doc/man-pages/pod1/pts_chown.pod @@ -1,6 +1,6 @@ =head1 NAME -pts chown - Changes the owner of a Protection Database entry +pts_chown - Changes the owner of a Protection Database entry =head1 SYNOPSIS @@ -8,10 +8,10 @@ pts chown - Changes the owner of a Protection Database entry
B S<<< B<-name> > >>> S<<< B<-owner> > >>> - S<<< [B<-cell> >] >>> [B<-noauth>] [B<-force>] [B<-help>] + S<<< [B<-cell> >] >>> [B<-noauth>] [B<-localauth>] [B<-force>] [B<-help>] B S<<< B<-na> > >>> S<<< B<-o> > >>> - S<<< [B<-c> >] >>> [B<-no>] [B<-f>] [B<-h>] + S<<< [B<-c> >] >>> [B<-no>] [B<-l>] [B<-f>] [B<-h>] =for html
@@ -62,6 +62,12 @@ L. Assigns the unprivileged identity anonymous to the issuer. For more details, see L. +=item B<-localauth> + +Constructs a server ticket using a key from the local +F file. Do not combine this flag with the B<-cell> +or B<-noauth> options. For more details, see L. + =item B<-force> Enables the command to continue executing as far as possible when errors diff --git a/doc/man-pages/pod1/pts_creategroup.pod b/doc/man-pages/pod1/pts_creategroup.pod index 861efe359..ed78053b8 100644 --- a/doc/man-pages/pod1/pts_creategroup.pod +++ b/doc/man-pages/pod1/pts_creategroup.pod @@ -1,6 +1,6 @@ =head1 NAME -pts creategroup - Creates an (empty) Protection Database group entry +pts_creategroup - Creates an (empty) Protection Database group entry =head1 SYNOPSIS @@ -10,15 +10,15 @@ pts creategroup - Creates an (empty) Protection Database group entry B S<<< B<-name> >+ >>> S<<< [B<-owner> >] >>> S<<< [B<-id> >+] >>> S<<< [B<-cell> >] >>> - [B<-noauth>] [B<-force>] [B<-help>] + [B<-noauth>] [B<-localauth>] [B<-force>] [B<-help>] B S<<< B<-na> >+ >>> S<<< [B<-o> >] >>> S<<< [B<-i> >+] >>> S<<< [B<-c> >] >>> - [B<-no>] [B<-f>] [B<-h>] + [B<-no>] [B<-l>] [B<-f>] [B<-h>] B S<<< B<-na> >+ >>> S<<< [B<-o> >] >>> S<<< [B<-i> >+] >>> S<<< [B<-c> >] >>> - [B<-no>] [B<-f>] [B<-h>] + [B<-no>] [B<-l>] [B<-f>] [B<-h>] =for html @@ -154,6 +154,12 @@ L. Assigns the unprivileged identity anonymous to the issuer. For more details, see L. +=item B<-localauth> + +Constructs a server ticket using a key from the local +F file. Do not combine this flag with the +B<-cell> or B<-noauth> options. For more details, see L. + =item B<-force> Enables the command to continue executing as far as possible when errors diff --git a/doc/man-pages/pod1/pts_createuser.pod b/doc/man-pages/pod1/pts_createuser.pod index 1b706daa7..75c8bff14 100644 --- a/doc/man-pages/pod1/pts_createuser.pod +++ b/doc/man-pages/pod1/pts_createuser.pod @@ -1,6 +1,6 @@ =head1 NAME -pts createuser - Creates a user or machine entry in the Protection Database +pts_createuser - Creates a user or machine entry in the Protection Database =head1 SYNOPSIS @@ -8,13 +8,14 @@ pts createuser - Creates a user or machine entry in the Protection Database
B S<<< B<-name> >+ >>> S<<< [B<-id> >+] >>> - S<<< [B<-cell> >] >>> [B<-noauth>] [B<-force>] [B<-help>] + S<<< [B<-cell> >] >>> [B<-noauth>] [B<-localauth>] [B<-force>] + [B<-help>] B S<<< B<-na> >+ >>> S<<< [B<-i> >+] >>> - S<<< [B<-c> >] >>> [B<-no>] [B<-f>] [B<-h>] + S<<< [B<-c> >] >>> [B<-no>] [B<-l>] [B<-f>] [B<-h>] B S<<< B<-na> >+ >>> S<<< [B<-i> >+] >>> - S<<< [B<-c> >] >>> [B<-no>] [B<-f>] [B<-h>] + S<<< [B<-c> >] >>> [B<-no>] [B<-l>] [B<-f>] [B<-h>] =for html
@@ -137,6 +138,12 @@ L. Assigns the unprivileged identity anonymous to the issuer. For more details, see L. +=item B<-localauth> + +Constructs a server ticket using a key from the local +F file. Do not combine this flag with the +B<-cell> or B<-noauth> options. For more details, see L. + =item B<-force> Enables the command to continue executing as far as possible when errors diff --git a/doc/man-pages/pod1/pts_delete.pod b/doc/man-pages/pod1/pts_delete.pod index b88274be5..b06b35b0a 100644 --- a/doc/man-pages/pod1/pts_delete.pod +++ b/doc/man-pages/pod1/pts_delete.pod @@ -1,6 +1,6 @@ =head1 NAME -pts delete - Deletes a Protection Database entry +pts_delete - Deletes a Protection Database entry =head1 SYNOPSIS @@ -8,10 +8,11 @@ pts delete - Deletes a Protection Database entry
B S<<< B<-nameorid> >+ >>> - S<<< [B<-cell> >] >>> [B<-noauth>] [B<-force>] [B<-help>] + S<<< [B<-cell> >] >>> [B<-noauth>] [B<-localauth>] + [B<-force>] [B<-help>] B S<<< B<-na> >+ >>> - S<<< [B<-c> >] >>> [B<-no>] [B<-f>] [-h] + S<<< [B<-c> >] >>> [B<-no>] [B<-l>] [B<-f>] [-h] =for html
@@ -71,6 +72,12 @@ L. Assigns the unprivileged identity anonymous to the issuer. For more details, see L. +=item B<-localauth> + +Constructs a server ticket using a key from the local +F file. Do not combine this flag with the +B<-cell> or B<-noauth> options. For more details, see L. + =item B<-force> Enables the command to continue executing as far as possible when errors diff --git a/doc/man-pages/pod1/pts_examine.pod b/doc/man-pages/pod1/pts_examine.pod index 0a7572756..6921d979b 100644 --- a/doc/man-pages/pod1/pts_examine.pod +++ b/doc/man-pages/pod1/pts_examine.pod @@ -1,6 +1,6 @@ =head1 NAME -pts examine - Displays a Protection Database entry +pts_examine - Displays a Protection Database entry =head1 SYNOPSIS @@ -8,16 +8,17 @@ pts examine - Displays a Protection Database entry
B S<<< B<-nameorid> >+ >>> - S<<< [B<-cell> >] >>> [B<-noauth>] [B<-force>] [B<-help>] + S<<< [B<-cell> >] >>> [B<-noauth>] [B<-localauth>] + [B<-force>] [B<-help>] B S<<< B<-na> >+ >>> S<<< [B<-c> >] >>> - [B<-no>] [B<-f>] [B<-h>] + [B<-no>] [B<-l>] [B<-f>] [B<-h>] B S<<< B<-na> >+ >>> S<<< [B<-c> >] >>> - [B<-no>] [B<-f>] [B<-h>] + [B<-no>] [B<-l>] [B<-f>] [B<-h>] B S<<< B<-na> >+ >>> S<<< [B<-c> >] >>> - [B<-no>] [B<-f>] [B<-h>] + [B<-no>] [B<-l>] [B<-f>] [B<-h>] =for html
@@ -51,6 +52,12 @@ L. Assigns the unprivileged identity anonymous to the issuer. For more details, see L. +=item B<-localauth> + +Constructs a server ticket using a key from the local +F file. Do not combine this flag with the +B<-cell> or B<-noauth> options. For more details, see L. + =item B<-force> Enables the command to continue executing as far as possible when errors diff --git a/doc/man-pages/pod1/pts_help.pod b/doc/man-pages/pod1/pts_help.pod index 970c22f09..6a26098fa 100644 --- a/doc/man-pages/pod1/pts_help.pod +++ b/doc/man-pages/pod1/pts_help.pod @@ -1,6 +1,6 @@ =head1 NAME -pts help - Displays help for pts commands +pts_help - Displays help for pts commands =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/pts_interactive.pod b/doc/man-pages/pod1/pts_interactive.pod index 9d6257246..6c8a64127 100644 --- a/doc/man-pages/pod1/pts_interactive.pod +++ b/doc/man-pages/pod1/pts_interactive.pod @@ -1,6 +1,6 @@ =head1 NAME -pts interactive - Enters interactive mode +pts_interactive - Enters interactive mode =head1 SYNOPSIS @@ -8,7 +8,7 @@ pts interactive - Enters interactive mode
B S<<< [B<-cell>] > >>> [B<-noauth>] - [B<-force>] + [B<-auth>] [B<-localauth>] [B<-force>] B S<<< [B<-c>] > >>> [B<-n>] [B<-f>] @@ -20,6 +20,12 @@ B S<<< [B<-c>] > >>> [B<-n>] [B<-f>] The B command allows the user to enter an interactive mode, useful for running bulk commands like creating new users or groups. +B uses the authentication state supplied on its command +line to run all bulk commands. However, if a bulk command is supplied +with authentication options such as B<-cell>, B<-localauth>, B<-auth> +or B<-noauth> then it, and all subsequent bulk commands, will be run with +those options. + =head1 CAUTIONS Prior to OpenAFS 1.4.5 and OpenAFS 1.5.23, the B command @@ -56,6 +62,12 @@ if one of many operations fails. Assigns the unprivileged identity anonymous to the issuer. For more details, see L. +=item B<-localauth> + +Constructs a server ticket using a key from the local +F file. Do not combine this flag with the +B<-cell> or B<-noauth> options. For more details, see L. + =back =head1 OUTPUT @@ -115,5 +127,6 @@ L Copyright 2007 Jason Edgecombe -This documentation is covered by the IBM Public License Version 1.0. This -man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. diff --git a/doc/man-pages/pod1/pts_listentries.pod b/doc/man-pages/pod1/pts_listentries.pod index 10c8b6903..79d53c13a 100644 --- a/doc/man-pages/pod1/pts_listentries.pod +++ b/doc/man-pages/pod1/pts_listentries.pod @@ -1,6 +1,6 @@ =head1 NAME -pts listentries - Displays all users or groups in the Protection Database +pts_listentries - Displays all users or groups in the Protection Database =head1 SYNOPSIS @@ -8,9 +8,10 @@ pts listentries - Displays all users or groups in the Protection Database
B [B<-users>] [B<-groups>] S<<< [B<-cell> >] >>> - [B<-noauth>] [B<-force>] [B<-help>] + [B<-noauth>] [B<-localauth>] [B<-force>] [B<-help>] -B [B<-u>] [B<-g>] S<<< [B<-c> >] >>> [B<-n>] [B<-f>] [B<-h>] +B [B<-u>] [B<-g>] S<<< [B<-c> >] >>> [B<-n>] [B<-l>] + [B<-f>] [B<-h>] =for html
@@ -47,6 +48,12 @@ L. Assigns the unprivileged identity anonymous to the issuer. For more details, see L. +=item B<-localauth> + +Constructs a server ticket using a key from the local +F file. Do not combine this flag with the +B<-cell> or B<-noauth> options. For more details, see L. + =item B<-force> Enables the command to continue executing as far as possible when errors diff --git a/doc/man-pages/pod1/pts_listmax.pod b/doc/man-pages/pod1/pts_listmax.pod index 110dc200c..4fec04e46 100644 --- a/doc/man-pages/pod1/pts_listmax.pod +++ b/doc/man-pages/pod1/pts_listmax.pod @@ -1,15 +1,16 @@ =head1 NAME -pts listmax - Displays the max user id and max group id counters +pts_listmax - Displays the max user id and max group id counters =head1 SYNOPSIS =for html
-B S<<< [B<-cell> >] >>> [B<-noauth>] [B<-force>] [B<-help>] +B S<<< [B<-cell> >] >>> [B<-noauth>] [B<-localauth>] + [B<-force>] [B<-help>] -B S<<< [B<-c> >] >>> [B<-n>] [B<-f>] [B<-h>] +B S<<< [B<-c> >] >>> [B<-n>] [B<-l>] [B<-f>] [B<-h>] =for html
@@ -44,6 +45,12 @@ L. Assigns the unprivileged identity anonymous to the issuer. For more details, see L. +=item B<-localauth> + +Constructs a server ticket using a key from the local +F file. Do not combine this flag with the +B<-cell> or B<-noauth> options. For more details, see L. + =item B<-force> Enables the command to continue executing as far as possible when errors diff --git a/doc/man-pages/pod1/pts_listowned.pod b/doc/man-pages/pod1/pts_listowned.pod index 2d3de80c8..5baf3a618 100644 --- a/doc/man-pages/pod1/pts_listowned.pod +++ b/doc/man-pages/pod1/pts_listowned.pod @@ -1,6 +1,6 @@ =head1 NAME -pts listowned - Show the Protection Database groups owned by a user or group +pts_listowned - Show the Protection Database groups owned by a user or group =head1 SYNOPSIS @@ -8,10 +8,10 @@ pts listowned - Show the Protection Database groups owned by a user or group
B S<<< B<-nameorid> >+ >>> - [-cell >] [B<-noauth>] [B<-force>] [B<-help>] + [-cell >] [B<-noauth>] [B<-localauth>] [B<-force>] [B<-help>] B S<<< B<-na> >+ >>> - [-c >] [B<-no>] [B<-f>] [B<-h>] + [-c >] [B<-no>] [B<-l>] [B<-f>] [B<-h>] =for html
@@ -51,6 +51,12 @@ L. Assigns the unprivileged identity anonymous to the issuer. For more details, see L. +=item B<-localauth> + +Constructs a server ticket using a key from the local +F file. Do not combine this flag with the +B<-cell> or B<-noauth> options. For more details, see L. + =item B<-force> Enables the command to continue executing as far as possible when errors diff --git a/doc/man-pages/pod1/pts_membership.pod b/doc/man-pages/pod1/pts_membership.pod index 36455ebef..e5cbdc48e 100644 --- a/doc/man-pages/pod1/pts_membership.pod +++ b/doc/man-pages/pod1/pts_membership.pod @@ -1,6 +1,6 @@ =head1 NAME -pts membership - Displays the membership list for a user or group +pts_membership - Displays the membership list for a user or group =head1 SYNOPSIS @@ -8,16 +8,17 @@ pts membership - Displays the membership list for a user or group
B S<<< B<-nameorid> >+ >>> - S<<< [B<-cell> >] >>> [B<-noauth>] [B<-force>] [B<-help>] + S<<< [B<-cell> >] >>> [B<-localauth>] [B<-noauth>] + [B<-force>] [B<-help>] B S<<< B<-na> >+ >>> S<<< [B<-c> >] >>> - [B<-no>] [B<-f>] [B<-h>] + [B<-no>] [B<-l>] [B<-f>] [B<-h>] B S<<< B<-na> >+ >>> [-c >] - [B<-no>] [B<-f>] [B<-h>] + [B<-no>] [B<-l>] [B<-f>] [B<-h>] B S<<< B<-na> >+ >>> S<<< [B<-c> >] >>> - [B<-no>] [B<-f>] [B<-h>] + [B<-no>] [B<-l>] [B<-f>] [B<-h>] =for html
@@ -59,6 +60,12 @@ L. Assigns the unprivileged identity anonymous to the issuer. For more details, see L. +=item B<-localauth> + +Constructs a server ticket using a key from the local +F file. Do not combine this flag with the +B<-cell> or B<-noauth> options. For more details, see L. + =item B<-force> Enables the command to continue executing as far as possible when errors diff --git a/doc/man-pages/pod1/pts_quit.pod b/doc/man-pages/pod1/pts_quit.pod index 4f8abfa2e..a7a25107e 100644 --- a/doc/man-pages/pod1/pts_quit.pod +++ b/doc/man-pages/pod1/pts_quit.pod @@ -1,15 +1,16 @@ =head1 NAME -pts quit - Exit from pts interactive mode +pts_quit - Exit from pts interactive mode =head1 SYNOPSIS =for html
-B S<<< [B<-cell>] > >>> [B<-noauth>] [B<-force>] +B S<<< [B<-cell>] > >>> [B<-noauth>] [B<-localauth>] + [B<-force>] -B S<<< [B<-c>] > >>> [B<-n>] [B<-f>] +B S<<< [B<-c>] > >>> [B<-n>] [B<-l>] [B<-f>] =for html
@@ -44,6 +45,12 @@ L. Enables the command to continue executing as far as possible when errors or other problems occur, rather than halting execution at the first error. +=item B<-localauth> + +Constructs a server ticket using a key from the local +F file. Do not combine this flag with the +B<-cell> or B<-noauth> options. For more details, see L. + =item B<-noauth> Assigns the unprivileged identity anonymous to the issuer. For more @@ -72,5 +79,6 @@ L Copyright 2007 Jason Edgecombe -This documentation is covered by the IBM Public License Version 1.0. This -man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. diff --git a/doc/man-pages/pod1/pts_removeuser.pod b/doc/man-pages/pod1/pts_removeuser.pod index 7012d6066..f60a66400 100644 --- a/doc/man-pages/pod1/pts_removeuser.pod +++ b/doc/man-pages/pod1/pts_removeuser.pod @@ -1,6 +1,6 @@ =head1 NAME -pts removeuser - Removes a user from a Protection Database group +pts_removeuser - Removes a user from a Protection Database group =head1 SYNOPSIS @@ -8,10 +8,11 @@ pts removeuser - Removes a user from a Protection Database group
B S<<< B<-user> >+ >>> S<<< B<-group> >+ >>> - S<<< [B<-cell> >] >>> [B<-noauth>] [B<-force>] [B<-help>] + S<<< [B<-cell> >] >>> [B<-noauth>] [B<-localauth>] [B<-force>] + [B<-help>] B S<<< B<-u> >+ >>> S<<< B<-g> >+ >>> - S<<< [B<-c> >] >>> [B<-n>] [B<-f>] [B<-h>] + S<<< [B<-c> >] >>> [B<-n>] [B<-l>] [B<-f>] [B<-h>] =for html
@@ -56,6 +57,12 @@ L. Assigns the unprivileged identity anonymous to the issuer. For more details, see L. +=item B<-localauth> + +Constructs a server ticket using a key from the local +F file. Do not combine this flag with the +B<-cell> or B<-noauth> options. For more details, see L. + =item B<-force> Enables the command to continue executing as far as possible when errors diff --git a/doc/man-pages/pod1/pts_rename.pod b/doc/man-pages/pod1/pts_rename.pod index 72c8ffb93..3d461e818 100644 --- a/doc/man-pages/pod1/pts_rename.pod +++ b/doc/man-pages/pod1/pts_rename.pod @@ -1,6 +1,6 @@ =head1 NAME -pts rename - Changes the name of a Protection Database entry +pts_rename - Changes the name of a Protection Database entry =head1 SYNOPSIS @@ -8,10 +8,11 @@ pts rename - Changes the name of a Protection Database entry
B S<<< B<-oldname> > >>> S<<< B<-newname> > >>> - S<<< [B<-cell> >] >>> [B<-noauth>] [B<-force>] [B<-help>] + S<<< [B<-cell> >] >>> [B<-noauth>] [B<-localauth>] + [B<-force>] [B<-help>] B S<<< B<-o> > >>> S<<< B<-ne> > >>> S<<< [B<-c> >] >>> - [B<-no>] [B<-f>] [B<-h>] + [B<-no>] [B<-l>] [B<-f>] [B<-h>] =for html
@@ -69,6 +70,12 @@ L. Assigns the unprivileged identity anonymous to the issuer. For more details, see L. +=item B<-localauth> + +Constructs a server ticket using a key from the local +F file. Do not combine this flag with the +B<-cell> or B<-noauth> options. For more details, see L. + =item B<-force> Enables the command to continue executing as far as possible when errors diff --git a/doc/man-pages/pod1/pts_setfields.pod b/doc/man-pages/pod1/pts_setfields.pod index 76050c9ce..ac7bf0edd 100644 --- a/doc/man-pages/pod1/pts_setfields.pod +++ b/doc/man-pages/pod1/pts_setfields.pod @@ -1,6 +1,6 @@ =head1 NAME -pts setfields - Sets privacy flags or quota for a Protection Database entry +pts_setfields - Sets privacy flags or quota for a Protection Database entry =head1 SYNOPSIS @@ -10,12 +10,13 @@ pts setfields - Sets privacy flags or quota for a Protection Database entry B S<<< B<-nameorid> >+ >>> S<<< [B<-access> >] >>> S<<< [B<-groupquota> >] >>> - S<<< [B<-cell> >] >>> [B<-noauth>] [B<-force>] [B<-help>] + S<<< [B<-cell> >] >>> [B<-noauth>] [B<-localauth>] + [B<-force>] [B<-help>] B S<<< B<-na> >+ >>> S<<< [B<-a> >] >>> S<<< [B<-g> >] >>> S<<< [B<-c> >] >>> - [B<-no>] [B<-f>] [B<-h>] + [B<-no>] [B<-l>] [B<-f>] [B<-h>] =for html
@@ -203,6 +204,12 @@ L. Assigns the unprivileged identity anonymous to the issuer. For more details, see L. +=item B<-localauth> + +Constructs a server ticket using a key from the local +F file. Do not combine this flag with the +B<-cell> or B<-noauth> options. For more details, see L. + =item B<-force> Enables the command to continue executing as far as possible when errors diff --git a/doc/man-pages/pod1/pts_setmax.pod b/doc/man-pages/pod1/pts_setmax.pod index 9a5bce5c5..97498480b 100644 --- a/doc/man-pages/pod1/pts_setmax.pod +++ b/doc/man-pages/pod1/pts_setmax.pod @@ -1,6 +1,6 @@ =head1 NAME -pts setmax - Sets the value of the max group id or max user id counter +pts_setmax - Sets the value of the max group id or max user id counter =head1 SYNOPSIS @@ -8,10 +8,10 @@ pts setmax - Sets the value of the max group id or max user id counter
B S<<< [B<-group> >] >>> S<<< [B<-user> >] >>> - S<<< [B<-cell> >] >>> [B<-noauth>] [B<-force>] [B<-help>] + S<<< [B<-cell> >] >>> [B<-noauth>] [B<-localauth>] [B<-force>] [B<-help>] B [B<-g> I>] S<<< [B<-u> >] >>> - S<<< [B<-c> >] >>> [B<-n>] [B<-f>] [B<-h>] + S<<< [B<-c> >] >>> [B<-n>] [B<-l>] [B<-f>] [B<-h>] =for html
@@ -56,6 +56,12 @@ L. Assigns the unprivileged identity anonymous to the issuer. For more details, see L. +=item B<-localauth> + +Constructs a server ticket using a key from the local +F file. Do not combine this flag with the +B<-cell> or B<-noauth> options. For more details, see L. + =item B<-force> Enables the command to continue executing as far as possible when errors diff --git a/doc/man-pages/pod1/pts_sleep.pod b/doc/man-pages/pod1/pts_sleep.pod index 23db3b547..4c009081e 100644 --- a/doc/man-pages/pod1/pts_sleep.pod +++ b/doc/man-pages/pod1/pts_sleep.pod @@ -1,6 +1,6 @@ =head1 NAME -pts sleep - Pauses for a few seconds +pts_sleep - Pauses for a few seconds =head1 SYNOPSIS @@ -8,10 +8,10 @@ pts sleep - Pauses for a few seconds
B S<<< [B<-delay>] > >>> - S<<< [B<-cell>] > >>> [B<-noauth>] [B<-force>] + S<<< [B<-cell>] > >>> [B<-noauth>] [B<-localauth>] [B<-force>] B S<<< [B<-d>] > >>> S<<< [B<-c>] > >>> - [B<-n>] [B<-f>] + [B<-n>] [B<-l>] [B<-f>] =for html
@@ -33,7 +33,7 @@ it is always available. =head1 OPTIONS -Although they have no effect, B takes the following standard +Although they have no effect, B takes the following standard B options: =over 4 @@ -53,6 +53,12 @@ or other problems occur, rather than halting execution at the first error. Assigns the unprivileged identity anonymous to the issuer. For more details, see L. +=item B<-localauth> + +Constructs a server ticket using a key from the local +F file. Do not combine this flag with the +B<-cell> or B<-noauth> options. For more details, see L. + =back =head1 OUTPUT @@ -77,5 +83,6 @@ L Copyright 2007 Jason Edgecombe -This documentation is covered by the IBM Public License Version 1.0. This -man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. diff --git a/doc/man-pages/pod1/pts_source.pod b/doc/man-pages/pod1/pts_source.pod index 0992690ad..ccaffd69f 100644 --- a/doc/man-pages/pod1/pts_source.pod +++ b/doc/man-pages/pod1/pts_source.pod @@ -1,6 +1,6 @@ =head1 NAME -pts source - Read pts commands from a file +pts_source - Read pts commands from a file =head1 SYNOPSIS @@ -8,10 +8,10 @@ pts source - Read pts commands from a file
B S<<< [B<-file>] > >>> S<<< [B<-cell>] > >>> - [B<-noauth>] [B<-force>] + [B<-noauth>] [B<-localauth>] [B<-force>] B S<<< [B<-f>] > >>> S<<< [B<-c>] > >>> - [B<-n>] [B<-f>] + [B<-n>] [B<-l>] [B<-f>] =for html
@@ -56,6 +56,12 @@ if one of many operations fails. Assigns the unprivileged identity anonymous to the issuer. For more details, see L. +=item B<-localauth> + +Constructs a server ticket using a key from the local +F file. Do not combine this flag with the +B<-cell> or B<-noauth> options. For more details, see L. + =back =head1 OUTPUT @@ -86,5 +92,6 @@ L Copyright 2007 Jason Edgecombe -This documentation is covered by the IBM Public License Version 1.0. This -man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. diff --git a/doc/man-pages/pod1/rxdebug.pod b/doc/man-pages/pod1/rxdebug.pod index 9370448a2..3a023cee6 100644 --- a/doc/man-pages/pod1/rxdebug.pod +++ b/doc/man-pages/pod1/rxdebug.pod @@ -183,6 +183,25 @@ additional information as described in L. The output is intended for debugging purposes and is meaningful to someone familiar with the implementation of Rx. +=head1 EXAMPLES + +The following command shows Rx statistics on the server 192.168.1.100: + + % rxdebug 192.168.1.100 + Trying 192.168.1.100 (port 7000): + Free packets: 265, packet reclaims: 0, calls: 0, used FDs: 34 + not waiting for packets. + 0 calls waiting for a thread + 11 threads are idle + Done. + +The following command shows the OpenAFS version running on the server +192.168.1.100: + + % rxdebug 192.168.1.100 -version + Trying 192.168.1.100 (port 7000): + AFS version: OpenAFS 1.4.2fc2 built 2006-08-31 + =head1 PRIVILEGE REQUIRED None. diff --git a/doc/man-pages/pod1/symlink.pod b/doc/man-pages/pod1/symlink.pod new file mode 100644 index 000000000..a024edb33 --- /dev/null +++ b/doc/man-pages/pod1/symlink.pod @@ -0,0 +1,41 @@ +=head1 NAME + +symlink - Introduction to the symlink command suite + +=head1 DESCRIPTION + +The B command creates, lists and removes Unix-style symbolic links +(symlinks) in OpenAFS filespace from a platform that does not support +symlinks, like Windows. The B command is equivalent to +C on a Unix platform. B can manipulate symlinks created +by C on Unix and vice versa. + +=head1 CAUTIONS + +The B commands are only available on Windows platforms. On +other platforms, use the C command. + +=head1 OPTIONS + +=over 4 + +=item B<-help> + +Prints the online help for this command. All other valid options are +ignored. + +=back + +=head1 SEE ALSO + +L, +L, +L + +=head1 COPYRIGHT + +Copyright 2007 Jason Edgecombe + +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. diff --git a/doc/man-pages/pod1/symlink_list.pod b/doc/man-pages/pod1/symlink_list.pod new file mode 100644 index 000000000..8b21fc86f --- /dev/null +++ b/doc/man-pages/pod1/symlink_list.pod @@ -0,0 +1,80 @@ +=head1 NAME + +symlink_list - Show the file to which a symlink points + +=head1 SYNOPSIS + +=for html +
+ +B S<<< [B<-name>] > >>> [B<-help>] + +=for html +
+ +=head1 DESCRIPTION + +The B command shows if a file is a symbolic link and, if so, +shows to which file the link points. + +=head1 CAUTIONS + +The B commands are only available on Windows platforms. On other +platforms, use the B command. + +=head1 OPTIONS + +=over 4 + +=item [B<-name>] > + +Specify one or more symbolic links to list. The C<-name> is optional, but +the file name is not. + +=item B<-help> + +Prints the online help for this command. All other valid options are +ignored. + +=back + +=head1 OUTPUT + +This command prints "'file' is a symlink to 'otherfile'" or "'file' is +not a symlink." + +=head1 EXAMPLES + +Given that file C is a link pointing to file C, the +following commands will list the files: + + % symlink list -name mylink + 'mylink' is a symlink to 'myfile' + + % symlink list mylink + 'mylink' is a symlink to 'myfile' + + % symlink list -name myfile + 'myfile' is not a symlink. + + % symlink list myfile + 'myfile' is not a symlink. + +=head1 PRIVILEGE REQUIRED + +The issuer must have the C (look) and C (read) permissions on the ACL +of the directory that houses the symlink. + +=head1 SEE ALSO + +L, +L, +L + +=head1 COPYRIGHT + +Copyright 2007 Jason Edgecombe + +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. diff --git a/doc/man-pages/pod1/symlink_make.pod b/doc/man-pages/pod1/symlink_make.pod new file mode 100644 index 000000000..f04a7086e --- /dev/null +++ b/doc/man-pages/pod1/symlink_make.pod @@ -0,0 +1,77 @@ +=head1 NAME + +symlink_make - Create a symbolic link + +=head1 SYNOPSIS + +=for html +
+ +B S<<< [B<-name>] > >>> + S<<< [B<-to>] > >>> [B<-help>] + +=for html +
+ +=head1 DESCRIPTION + +The B command creates a new symbolic link to a file. The file +to which the link points does not have to exist when the link is created. + +=head1 CAUTIONS + +The B commands are only available on Windows platforms. On other +platforms, use the C command. + +=head1 OPTIONS + +=over 4 + +=item [B<-name>] > + +Specify the name of the new link. B<-name> is optional, but the file name +is not. + +=item [B<-to>] > + +Specify the file to which the new link points. B<-to> is optional, but the +file name is not. + +=item B<-help> + +Prints the online help for this command. All other valid options are +ignored. + +=back + +=head1 OUTPUT + +Prints the online help for this command. All other valid options are +ignored. + +=head1 EXAMPLES + +In order to create a link named C pointing to the file C, +use one of the following commands: + + % symlink make -name mylink -to myfile + % symlink make mylink myfile + +=head1 PRIVILEGE REQUIRED + +The issuer must have the C (look) and C (insert) permissions on the +ACL of the directory that houses the symlink. + +=head1 SEE ALSO + +L, +L, +L + +=head1 COPYRIGHT + +Copyright 2007 Jason Edgecombe + +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. diff --git a/doc/man-pages/pod1/symlink_remove.pod b/doc/man-pages/pod1/symlink_remove.pod new file mode 100644 index 000000000..bec9a92ec --- /dev/null +++ b/doc/man-pages/pod1/symlink_remove.pod @@ -0,0 +1,71 @@ +=head1 NAME + +symlink_remove - Remove a symbolic link. + +=head1 SYNOPSIS + +=for html +
+ +B S<<< [B<-name>] > >>> [B<-help>] + +=for html +
+ +=head1 DESCRIPTION + +The B command removes a symbolic link to a file. + +=head1 CAUTIONS + +The B commands are only available on Windows platforms. On other +platforms, use the B command. + +=head1 OPTIONS + +=over 4 + +=item [B<-name>] > + +Specify one or more symbolic links to remove. The B<-name> is optional, but +the file name is not. + +=item B<-help> + +Prints the online help for this command. All other valid options are +ignored. + +=back + +=head1 OUTPUT + +This command has no output except error and help messages. If the command +is passed a real file instead of a symlink, it prints "symlink: 'file name' +is not a symlink" instead of removing the file. + +=head1 EXAMPLES + +Given that file C is a link pointing to file C, the +following commands will remove the link C: + + % symlink remove -name mylink + % symlink remove mylink + +=head1 PRIVILEGE REQUIRED + +The issuer must have the C (look) and C (delete) permissions on +the ACL of the directory that houses the symlink. + +=head1 SEE ALSO + +L, +L, +L + +=head1 COPYRIGHT + +Copyright 2007 Jason Edgecombe + +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. diff --git a/doc/man-pages/pod1/sys.pod b/doc/man-pages/pod1/sys.pod index 70e41dcbd..7a094dbf1 100644 --- a/doc/man-pages/pod1/sys.pod +++ b/doc/man-pages/pod1/sys.pod @@ -60,9 +60,9 @@ None L, L -I +I -I +I =head1 COPYRIGHT diff --git a/doc/man-pages/pod1/vos.pod b/doc/man-pages/pod1/vos.pod index d81af1031..d09c7bf8e 100644 --- a/doc/man-pages/pod1/vos.pod +++ b/doc/man-pages/pod1/vos.pod @@ -94,6 +94,17 @@ Commands to obtain help: B and B. =back +=head1 CAUTIONS + +Currently, the maximum size of a volume is 2 terabytes (2^31 bytes) +and the maximum size of a /vicepX partition on a fileserver is also 2 +terabytes. The fileserver will not report an error when it has access +to a partition larger than 2 terabytes, but it will probably fail if +the administrator attempts to use more than 2 terabytes of space. In +addition, there are reports of erroneous disk usage numbers when +B or other OpenAFS disk reporting tools are used with +partitions larger than 2 terabytes. + =head1 OPTIONS The following arguments and flags are available on many commands in the @@ -237,7 +248,8 @@ L, L, L, L, -L, +L, +L, L, L, L, diff --git a/doc/man-pages/pod1/vos_addsite.pod b/doc/man-pages/pod1/vos_addsite.pod index ac36e8fa5..ab10c1aae 100644 --- a/doc/man-pages/pod1/vos_addsite.pod +++ b/doc/man-pages/pod1/vos_addsite.pod @@ -1,6 +1,6 @@ =head1 NAME -vos addsite - Adds a read-only site definition to a volume's VLDB entry +vos_addsite - Adds a read-only site definition to a volume's VLDB entry =head1 SYNOPSIS @@ -9,13 +9,14 @@ vos addsite - Adds a read-only site definition to a volume's VLDB entry B S<<< B<-server> > >>> S<<< B<-partition> > >>> - S<<< B<-id> > >>> S<<< [B<-cell> >] >>> - [B<-noauth>] [B<-localauth>] [B<-verbose>] [B<-help>] + S<<< B<-id> > >>> S<<< B<-valid> > >>> + S<<< [B<-cell> >] >>> [B<-noauth>] [B<-localauth>] + [B<-verbose>] [B<-help>] B S<<< B<-s> > >>> S<<< B<-p> > >>> - S<<< B<-i> > >>> S<<< [B<-c> >] >>> - [B<-n>] [B<-l>] [B<-v>] [B<-h>] + S<<< B<-i> > >>> S<<< B<-valid> > >>> + S<<< [B<-c> >] >>> [B<-n>] [B<-l>] [B<-v>] [B<-h>] =for html @@ -68,6 +69,15 @@ L. Specifies either the complete name or volume ID number of the read/write source volume. +=item B<-valid> > + +Specifies the volume ID number of the existing release-equivalent +volume that is not already marked as a replica. This is useful when an +existing read-only volume is dumped and restored with the B<-readonly> +flag at the new site. This option is available in OpenAFS clients +1.4.7 or later and 1.5.31 and later. This option can be used with +OpenAFS server versions later than 1.4.1 or 1.5.0. + =item B<-cell> > Names the cell in which to run the command. Do not combine this argument diff --git a/doc/man-pages/pod1/vos_apropos.pod b/doc/man-pages/pod1/vos_apropos.pod index dce7bf25b..a0cce8fce 100644 --- a/doc/man-pages/pod1/vos_apropos.pod +++ b/doc/man-pages/pod1/vos_apropos.pod @@ -1,6 +1,6 @@ =head1 NAME -vos apropos - Displays each help entry containing a keyword string +vos_apropos - Displays each help entry containing a keyword string =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/vos_backup.pod b/doc/man-pages/pod1/vos_backup.pod index 7de3df8d9..19312dbe7 100644 --- a/doc/man-pages/pod1/vos_backup.pod +++ b/doc/man-pages/pod1/vos_backup.pod @@ -1,6 +1,6 @@ =head1 NAME -vos backup - Creates a backup volume for a single read/write volume +vos_backup - Creates a backup volume for a single read/write volume =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/vos_backupsys.pod b/doc/man-pages/pod1/vos_backupsys.pod index e430f6d26..8a12c5a61 100644 --- a/doc/man-pages/pod1/vos_backupsys.pod +++ b/doc/man-pages/pod1/vos_backupsys.pod @@ -1,6 +1,6 @@ =head1 NAME -vos backupsys - Creates a backup volume for several read/write volumes +vos_backupsys - Creates a backup volume for several read/write volumes =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/vos_changeaddr.pod b/doc/man-pages/pod1/vos_changeaddr.pod index 81a703fde..02d9fb816 100644 --- a/doc/man-pages/pod1/vos_changeaddr.pod +++ b/doc/man-pages/pod1/vos_changeaddr.pod @@ -1,6 +1,6 @@ =head1 NAME -vos changeaddr - Changes or removes a file server machine's entry in the VLDB +vos_changeaddr - Changes or removes a file server machine's entry in the VLDB =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/vos_changeloc.pod b/doc/man-pages/pod1/vos_changeloc.pod index ff40f92ff..a4b02860b 100644 --- a/doc/man-pages/pod1/vos_changeloc.pod +++ b/doc/man-pages/pod1/vos_changeloc.pod @@ -1,6 +1,6 @@ =head1 NAME -vos changeloc - Change a volume's entry in the VLDB +vos_changeloc - Change a volume's entry in the VLDB =head1 SYNOPSIS @@ -146,5 +146,6 @@ L Copyright 2007 Jason Edgecombe -This documentation is covered by the IBM Public License Version 1.0. This -man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. diff --git a/doc/man-pages/pod1/vos_convertROtoRW.pod b/doc/man-pages/pod1/vos_convertROtoRW.pod new file mode 100644 index 000000000..17547818d --- /dev/null +++ b/doc/man-pages/pod1/vos_convertROtoRW.pod @@ -0,0 +1,123 @@ +=head1 NAME + +vos_convertROtoRW - Converts a Read-Only volume into a Read/Write volume + +=head1 SYNOPSIS + +=for html +
+ +B S<<< [B<-server>] > >>> + S<<< [B<-partition>] > >>> + S<<< [B<-id>] > >>> [B<-force>] + S<<< [B<-cell> >] >>> [B<-noauth>] [B<-localauth>] + [B<-verbose>] [B<-encrypt>] [B<-help>] + +=for html +
+ +=head1 DESCRIPTION + +B converts a Read-Only volume into a Read/Write volume +when the original Read/Write volume is no longer available. It's normal use +is to recover the Read/Write volume from a replica after a failed disk, +failed server, or accidental deletion. + +=head1 CAUTIONS + +This command can only be used with namei AFS file servers. If used on an +inode AFS file server, it will fail with an error. + +The command name is case-sensitive. It must be issued with the capital "RO" +and "RW". + +=head1 OPTIONS + +=over 4 + +=item B<-server> > + +Identifies the file server machine that houses the Read-Only volume which +will be converted. Provide the machine's IP address or its host name +(either fully qualified or using an unambiguous abbreviation). For details, +see L. + +=item B<-partition> > + +Identifies the partition on the file server machine that houses the +Read-Only volume which will be converted. Provide the full partition name +(for, example, B) or one of the abbreviated forms described in +L. + +=item B<-id> > + +Specifies either the complete name or volume ID number of a Read/Write +volume. + +=item B<-force> + +Don't ask for confirmation. + +=item B<-cell> > + +Names the cell in which to run the command. Do not combine this argument +with the B<-localauth> flag. For more details, see L. + +=item B<-noauth> + +Assigns the unprivileged identity C to the issuer. Do not +combine this flag with the B<-localauth> flag. For more details, see +L. + +=item B<-localauth> + +Constructs a server ticket using a key from the local +F file. The B command interpreter presents it +to the Volume Server and Volume Location Server during mutual +authentication. Do not combine this flag with the B<-cell> argument or +B<-noauth> flag. For more details, see L. + +=item B<-verbose> + +Produces on the standard output stream a detailed trace of the command's +execution. If this argument is omitted, only warnings and error messages +appear. + +=item B<-encrypt> + +Encrypts the command so that the operation's results are not transmitted +across the network in clear text. + +=item B<-help> + +Prints the online help for this command. All other valid options are +ignored. + +=back + +=head1 EXAMPLES + +The following example converts the read-only volume test3.readonly in +partition vicepb on server1 to a read-write volume: + + % vos convertROtoRW server1 b test3.readonly + +=head1 PRIVILEGE REQUIRED + +The issuer must be listed in the F file on the +machines specified with the B<-toserver> and B<-fromserver> arguments and +on each database server machine. If the B<-localauth> flag is included, +the issuer must instead be logged on to a server machine as the local +superuser C. + +=head1 SEE ALSO + +L + +=head1 COPYRIGHT + +Copyright 2007 Jason Edgecombe + +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. diff --git a/doc/man-pages/pod1/vos_copy.pod b/doc/man-pages/pod1/vos_copy.pod new file mode 100644 index 000000000..a9cbfe606 --- /dev/null +++ b/doc/man-pages/pod1/vos_copy.pod @@ -0,0 +1,170 @@ +=head1 NAME + +vos_copy - Make a copy of a volume + +=head1 SYNOPSIS + +=for html +
+ +B S<<< [B<-id>] > >>> + S<<< [B<-fromserver>] > >>> + S<<< [B<-frompartition>] > >>> + S<<< [B<-toname>] > >>> + S<<< [B<-toserver>] > >>> + S<<< [B<-topartition>] > >>> + [B<-offline>] [B<-readonly>] [B<-live>] S<<< [B<-cell> >] >>> + [B<-noauth>] [B<-localauth>] [B<-verbose>] [B<-encrypt>] [B<-help>] + +=for html +
+ +=head1 DESCRIPTION + +The B command makes a copy of a volume with a new name. It is +equivalent to B followed by B, but doesn't require +the volume be stored locally by the client. + +=head1 CAUTIONS + +Currently, the maximum size of a volume is 2 terabytes (2^31 bytes) +and the maximum size of a /vicepX partition on a fileserver is also 2 +terabytes. The fileserver will not report an error when it has access +to a partition larger than 2 terabytes, but it will probably fail if +the administrator attempts to use more than 2 terabytes of space. In +addition, there are reports of erroneous disk usage numbers when +B or other OpenAFS disk reporting tools are used with +partitions larger than 2 terabytes. + +=head1 OPTIONS + +=over 4 + +=item [B<-id>] > + +Specifies either the complete name or volume ID number of a read/write +volume. + +=item [B<-fromserver>] > + +Identifies the file server machine where the source volume resides. Provide +the machine's IP address or its host name (either fully qualified or using +an unambiguous abbreviation). For details, see L. + +=item [B<-frompartition>] > + +Names the partition where the source volume resides. Provide the full +partition name (for, example, B) or one of the abbreviated forms +described in L. + +=item [B<-toname>] > + +The complete name of the new volume to create. + +=item [B<-toserver>] > + +Identifies the file server machine to which to copy the volume. Provide +the machine's IP address or its host name (either fully qualified or using +an unambiguous abbreviation). For details, see L. + +=item [B<-topartition>] > + +Names the partition to which to copy the volume. Provide the full partition +name (for, example, B) or one of the abbreviated forms described in +L. + +=item B<-offline> + +Leaves the new volume flagged as off-line in the volume database. + +=item B<-readonly> + +Flags the new volume as read-only in the volume database. + +=item B<-live> + +Copies the live volume without cloning. This is normally not necessary and +causes the volume to be kept locked for longer than the normal copy +mechanism. + +=item B<-localauth> + +Constructs a server ticket using a key from the local +F file. The B command interpreter presents it to +the Volume Server and Volume Location Server during mutual +authentication. Do not combine this flag with the B<-cell> argument or +B<-noauth> flag. For more details, see L. + +=item B<-verbose> + +Produces on the standard output stream a detailed trace of the command's +execution. If this argument is omitted, only warnings and error messages +appear. + +=item B<-encrypt> + +Encrypts the command so that the operation's results are not transmitted +across the network in clear text. + +=item B<-help> + +Prints the online help for this command. All other valid options are +ignored. + +=back + +=head1 OUTPUT + +This command has no output unless C<-verbose> is specified or there is +an error. + +=head1 EXAMPLES + +The following example makes a verbose copy of the C volume named +C in the cell C. The volume and copy both reside on +C of C. + + % vos copy test server1 a test2 server1 a -cell localcell -verbose + Starting transaction on source volume 536870921 ... done + Allocating new volume id for clone of volume 536870921 ... done + Allocating new volume id for copy of volume 536870921 ... done + Cloning source volume 536870921 ... done + Ending the transaction on the source volume 536870921 ... done + Starting transaction on the cloned volume 536870926 ... done + Setting flags on cloned volume 536870926 ... done + Getting status of cloned volume 536870926 ... done + Creating the destination volume 536870927 ... done + Setting volume flags on destination volume 536870927 ... done + Dumping from clone 536870926 on source to volume 536870927 on destination ... done + Ending transaction on cloned volume 536870926 ... done + Starting transaction on source volume 536870921 ... done + Doing the incremental dump from source to destination for volume 536870921 ... done + Setting volume flags on destination volume 536870927 ... done + Ending transaction on destination volume 536870927 ... done + Ending transaction on source volume 536870921 ... done + Starting transaction on the cloned volume 536870926 ... done + Deleting the cloned volume 536870926 ... done + Ending transaction on cloned volume 536870926 ... done + Created the VLDB entry for the volume test2 536870927 + Volume 536870921 copied from server1 /vicepa to test2 on server1 /vicepa + +=head1 PRIVILEGE REQUIRED + +The issuer must be listed in the F file on the +machine specified with the B<-server> argument and on each database server +machine. If the B<-localauth> flag is included, the issuer must instead be +logged on to a server machine as the local superuser C. + +=head1 SEE ALSO + +L, +L, +L + +=head1 COPYRIGHT + +Copyright 2007 Jason Edgecombe + +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. diff --git a/doc/man-pages/pod1/vos_create.pod b/doc/man-pages/pod1/vos_create.pod index 7c2b5ed46..290620563 100644 --- a/doc/man-pages/pod1/vos_create.pod +++ b/doc/man-pages/pod1/vos_create.pod @@ -1,6 +1,6 @@ =head1 NAME -vos create - Creates a read/write volume and associated VLDB entry +vos_create - Creates a read/write volume and associated VLDB entry =head1 SYNOPSIS @@ -60,6 +60,17 @@ with the B command. The volume is empty when created. To access it via the Cache Manager, mount it in the file space by using the B command. +=head1 CAUTIONS + +Currently, the maximum size of a volume is 2 terabytes (2^31 bytes) +and the maximum size of a /vicepX partition on a fileserver is also 2 +terabytes. The fileserver will not report an error when it has access +to a partition larger than 2 terabytes, but it will probably fail if +the administrator attempts to use more than 2 terabytes of space. In +addition, there are reports of erroneous disk usage numbers when +B or other OpenAFS disk reporting tools are used with +partitions larger than 2 terabytes. + =head1 OPTIONS =over 4 diff --git a/doc/man-pages/pod1/vos_delentry.pod b/doc/man-pages/pod1/vos_delentry.pod index 854a22a20..b28bb8c3c 100644 --- a/doc/man-pages/pod1/vos_delentry.pod +++ b/doc/man-pages/pod1/vos_delentry.pod @@ -1,6 +1,6 @@ =head1 NAME -vos delentry - Removes a volume entry from the VLDB. +vos_delentry - Removes a volume entry from the VLDB. =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/vos_dump.pod b/doc/man-pages/pod1/vos_dump.pod index 0686f732c..8fdbc7110 100644 --- a/doc/man-pages/pod1/vos_dump.pod +++ b/doc/man-pages/pod1/vos_dump.pod @@ -1,6 +1,6 @@ =head1 NAME -vos dump - Converts a volume into ASCII format and writes it to a file +vos_dump - Converts a volume into ASCII format and writes it to a file =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/vos_examine.pod b/doc/man-pages/pod1/vos_examine.pod index bfc0ae5be..d1cebcae5 100644 --- a/doc/man-pages/pod1/vos_examine.pod +++ b/doc/man-pages/pod1/vos_examine.pod @@ -1,6 +1,6 @@ =head1 NAME -vos examine - Shows volume header and VLDB entry information for a volume +vos_examine - Shows volume header and VLDB entry information for a volume =head1 SYNOPSIS @@ -32,6 +32,17 @@ specified by the B<-id> argument. To display the volume header only, use the B command. To display information from the VLDB only, use the B command. +=head1 CAUTIONS + +Currently, the maximum size of a volume is 2 terabytes (2^31 bytes) +and the maximum size of a /vicepX partition on a fileserver is also 2 +terabytes. The fileserver will not report an error when it has access +to a partition larger than 2 terabytes, but it will probably fail if +the administrator attempts to use more than 2 terabytes of space. In +addition, there are reports of erroneous disk usage numbers when +B or other OpenAFS disk reporting tools are used with +partitions larger than 2 terabytes. + =head1 OPTIONS =over 4 diff --git a/doc/man-pages/pod1/vos_help.pod b/doc/man-pages/pod1/vos_help.pod index 9eda9c52b..cb51b2dd5 100644 --- a/doc/man-pages/pod1/vos_help.pod +++ b/doc/man-pages/pod1/vos_help.pod @@ -1,6 +1,6 @@ =head1 NAME -vos help - Displays help for vos commands +vos_help - Displays help for vos commands =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/vos_listaddrs.pod b/doc/man-pages/pod1/vos_listaddrs.pod index 57ea78bdf..3e4fbae61 100644 --- a/doc/man-pages/pod1/vos_listaddrs.pod +++ b/doc/man-pages/pod1/vos_listaddrs.pod @@ -1,6 +1,6 @@ =head1 NAME -vos listaddrs - Displays all VLDB server entries +vos_listaddrs - Displays all VLDB server entries =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/vos_listpart.pod b/doc/man-pages/pod1/vos_listpart.pod index 1498e9727..e924bd55f 100644 --- a/doc/man-pages/pod1/vos_listpart.pod +++ b/doc/man-pages/pod1/vos_listpart.pod @@ -1,6 +1,6 @@ =head1 NAME -vos listpart - Displays all AFS partitions on a file server machine +vos_listpart - Displays all AFS partitions on a file server machine =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/vos_listvldb.pod b/doc/man-pages/pod1/vos_listvldb.pod index 968437666..f9947c62b 100644 --- a/doc/man-pages/pod1/vos_listvldb.pod +++ b/doc/man-pages/pod1/vos_listvldb.pod @@ -1,6 +1,6 @@ =head1 NAME -vos listvldb - Displays a volume's VLDB entry +vos_listvldb - Displays a volume's VLDB entry =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/vos_listvol.pod b/doc/man-pages/pod1/vos_listvol.pod index 619c9d2ed..32d57d57d 100644 --- a/doc/man-pages/pod1/vos_listvol.pod +++ b/doc/man-pages/pod1/vos_listvol.pod @@ -1,6 +1,6 @@ =head1 NAME -vos listvol - Displays information from a volume header +vos_listvol - Displays information from a volume header =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/vos_lock.pod b/doc/man-pages/pod1/vos_lock.pod index efcaa1565..ef84a5ff1 100644 --- a/doc/man-pages/pod1/vos_lock.pod +++ b/doc/man-pages/pod1/vos_lock.pod @@ -1,6 +1,6 @@ =head1 NAME -vos lock - Locks a VLDB volume entry +vos_lock - Locks a VLDB volume entry =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/vos_move.pod b/doc/man-pages/pod1/vos_move.pod index 4043481e9..3acb3545a 100644 --- a/doc/man-pages/pod1/vos_move.pod +++ b/doc/man-pages/pod1/vos_move.pod @@ -1,6 +1,6 @@ =head1 NAME -vos move - Moves a read/write volume to another site +vos_move - Moves a read/write volume to another site =head1 SYNOPSIS @@ -12,14 +12,14 @@ B S<<< B<-id> > >>> S<<< B<-frompartition> > >>> S<<< B<-toserver> > >>> S<<< B<-topartition> > >>> - S<<< [B<-cell> >] >>> [B<-noauth>] [B<-localauth>] [B<-verbose>] - [B<-help>] + [B<-live>] S<<< [B<-cell> >] >>> [B<-noauth>] + [B<-localauth>] [B<-verbose>] [B<-help>] B S<<< B<-i> > >>> S<<< B<-froms> > >>> S<<< B<-fromp> > >>> S<<< B<-tos> > >>> - S<<< B<-top> > >>> + S<<< B<-top> > >>> [B<-li>] S<<< [B<-c> >] >>> [B<-n>] [B<-l>] [B<-v>] [B<-h>] =for html @@ -86,6 +86,15 @@ confirmation of the kill signal: To confirm termination of the operation, press Ctrl-C a second time; press any other key to continue the operation. +Currently, the maximum size of a volume is 2 terabytes (2^31 bytes) +and the maximum size of a /vicepX partition on a fileserver is also 2 +terabytes. The fileserver will not report an error when it has access +to a partition larger than 2 terabytes, but it will probably fail if +the administrator attempts to use more than 2 terabytes of space. In +addition, there are reports of erroneous disk usage numbers when +B or other OpenAFS disk reporting tools are used with +partitions larger than 2 terabytes. + =head1 OPTIONS =over 4 @@ -120,6 +129,14 @@ Names the partition to which to move the volume. Provide the full partition name (for, example, B) or one of the abbreviated forms described in L. +=item B<-live> + +Avoids making a temporary copy of the volume during the move. This is +useful if the partition is full, but the administrator needs to move +volumes to a another partition or server to free up disk space. The +caveat is that the volume is locked during the entire operation +instead of the short time that is needed to make the temporary clone. + =item B<-cell> > Names the cell in which to run the command. Do not combine this argument @@ -174,6 +191,7 @@ superuser C. L, L, L, +L, L, L, L diff --git a/doc/man-pages/pod1/vos_offline.pod b/doc/man-pages/pod1/vos_offline.pod index fd134e81b..b00a039a6 100644 --- a/doc/man-pages/pod1/vos_offline.pod +++ b/doc/man-pages/pod1/vos_offline.pod @@ -1,6 +1,6 @@ =head1 NAME -vos offline - Takes a volume offline +vos_offline - Takes a volume offline =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/vos_online.pod b/doc/man-pages/pod1/vos_online.pod index 409af7dcd..e430a188d 100644 --- a/doc/man-pages/pod1/vos_online.pod +++ b/doc/man-pages/pod1/vos_online.pod @@ -1,6 +1,6 @@ =head1 NAME -vos online - Brings a volume online +vos_online - Brings a volume online =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/vos_partinfo.pod b/doc/man-pages/pod1/vos_partinfo.pod index 2f4959dc6..d3b436c45 100644 --- a/doc/man-pages/pod1/vos_partinfo.pod +++ b/doc/man-pages/pod1/vos_partinfo.pod @@ -1,6 +1,6 @@ =head1 NAME -vos partinfo - Reports the available and total space on a partition +vos_partinfo - Reports the available and total space on a partition =head1 SYNOPSIS @@ -25,6 +25,17 @@ size on either all of the partitions on the indicated file server machine that file server machine. The Volume Location Database (VLDB) is not consulted. +=head1 CAUTIONS + +Currently, the maximum size of a volume is 2 terabytes (2^31 bytes) +and the maximum size of a /vicepX partition on a fileserver is also 2 +terabytes. The fileserver will not report an error when it has access +to a partition larger than 2 terabytes, but it will probably fail if +the administrator attempts to use more than 2 terabytes of space. In +addition, there are reports of erroneous disk usage numbers when +B or other OpenAFS disk reporting tools are used with +partitions larger than 2 terabytes. + =head1 OPTIONS =over 4 diff --git a/doc/man-pages/pod1/vos_release.pod b/doc/man-pages/pod1/vos_release.pod index 54b5d7057..37a4345ff 100644 --- a/doc/man-pages/pod1/vos_release.pod +++ b/doc/man-pages/pod1/vos_release.pod @@ -1,6 +1,6 @@ =head1 NAME -vos release - Updates read-only volumes to match the read/write source volume +vos_release - Updates read-only volumes to match the read/write source volume =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/vos_remove.pod b/doc/man-pages/pod1/vos_remove.pod index a776219b8..820006edd 100644 --- a/doc/man-pages/pod1/vos_remove.pod +++ b/doc/man-pages/pod1/vos_remove.pod @@ -1,6 +1,6 @@ =head1 NAME -vos remove - Removes a volume from a site +vos_remove - Removes a volume from a site =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/vos_remsite.pod b/doc/man-pages/pod1/vos_remsite.pod index a2829bd44..e455f8eed 100644 --- a/doc/man-pages/pod1/vos_remsite.pod +++ b/doc/man-pages/pod1/vos_remsite.pod @@ -1,6 +1,6 @@ =head1 NAME -vos remsite - Removes a read-only site definition from a VLDB entry +vos_remsite - Removes a read-only site definition from a VLDB entry =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/vos_rename.pod b/doc/man-pages/pod1/vos_rename.pod index 0939facf4..5480acaf0 100644 --- a/doc/man-pages/pod1/vos_rename.pod +++ b/doc/man-pages/pod1/vos_rename.pod @@ -1,6 +1,6 @@ =head1 NAME -vos rename - Renames a volume +vos_rename - Renames a volume =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/vos_restore.pod b/doc/man-pages/pod1/vos_restore.pod index 98162e3ed..e067b460c 100644 --- a/doc/man-pages/pod1/vos_restore.pod +++ b/doc/man-pages/pod1/vos_restore.pod @@ -1,6 +1,6 @@ =head1 NAME -vos restore - Converts an ASCII dump file into an AFS volume +vos_restore - Converts an ASCII dump file into an AFS volume =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/vos_size.pod b/doc/man-pages/pod1/vos_size.pod index 8465d9ff9..9bcf6f0f9 100644 --- a/doc/man-pages/pod1/vos_size.pod +++ b/doc/man-pages/pod1/vos_size.pod @@ -1,6 +1,6 @@ =head1 NAME -vos size - Computes the size of a volume dump +vos_size - Computes the size of a volume dump =head1 SYNOPSIS @@ -143,5 +143,6 @@ L Copyright 2007 Jason Edgecombe -This documentation is covered by the IBM Public License Version -1.0. This man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. diff --git a/doc/man-pages/pod1/vos_status.pod b/doc/man-pages/pod1/vos_status.pod index 8902bf1db..61bacef3a 100644 --- a/doc/man-pages/pod1/vos_status.pod +++ b/doc/man-pages/pod1/vos_status.pod @@ -1,6 +1,6 @@ =head1 NAME -vos status - Reports a Volume Server's status +vos_status - Reports a Volume Server's status =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/vos_syncserv.pod b/doc/man-pages/pod1/vos_syncserv.pod index e6c26b7b9..1367c3482 100644 --- a/doc/man-pages/pod1/vos_syncserv.pod +++ b/doc/man-pages/pod1/vos_syncserv.pod @@ -1,6 +1,6 @@ =head1 NAME -vos syncserv - Verifies VLDB entries that mention a specified site +vos_syncserv - Verifies VLDB entries that mention a specified site =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/vos_syncvldb.pod b/doc/man-pages/pod1/vos_syncvldb.pod index 6b2024aa3..ae3b4a453 100644 --- a/doc/man-pages/pod1/vos_syncvldb.pod +++ b/doc/man-pages/pod1/vos_syncvldb.pod @@ -1,6 +1,6 @@ =head1 NAME -vos syncvldb - Verifies VLDB entries for volumes residing at specified site +vos_syncvldb - Verifies VLDB entries for volumes residing at specified site =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/vos_unlock.pod b/doc/man-pages/pod1/vos_unlock.pod index 91d86fd08..47b856f7a 100644 --- a/doc/man-pages/pod1/vos_unlock.pod +++ b/doc/man-pages/pod1/vos_unlock.pod @@ -1,6 +1,6 @@ =head1 NAME -vos unlock - Unlocks a single VLDB entry +vos_unlock - Unlocks a single VLDB entry =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/vos_unlockvldb.pod b/doc/man-pages/pod1/vos_unlockvldb.pod index f58249ef8..5c9f8763f 100644 --- a/doc/man-pages/pod1/vos_unlockvldb.pod +++ b/doc/man-pages/pod1/vos_unlockvldb.pod @@ -1,6 +1,6 @@ =head1 NAME -vos unlockvldb - Unlocks several locked VLDB entries +vos_unlockvldb - Unlocks several locked VLDB entries =head1 SYNOPSIS diff --git a/doc/man-pages/pod1/vos_zap.pod b/doc/man-pages/pod1/vos_zap.pod index 3ee6ea86a..7a2ed431f 100644 --- a/doc/man-pages/pod1/vos_zap.pod +++ b/doc/man-pages/pod1/vos_zap.pod @@ -1,6 +1,6 @@ =head1 NAME -vos zap - Removes a volume from its site without writing to the VLDB +vos_zap - Removes a volume from its site without writing to the VLDB =head1 SYNOPSIS diff --git a/doc/man-pages/pod5/CellAlias.pod b/doc/man-pages/pod5/CellAlias.pod index 5fb3eb051..d75ad4a90 100644 --- a/doc/man-pages/pod5/CellAlias.pod +++ b/doc/man-pages/pod5/CellAlias.pod @@ -51,5 +51,6 @@ L Copyright 2007 Jason Edgecombe -This documentation is covered by the IBM Public License Version 1.0. This -man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. diff --git a/doc/man-pages/pod8/afsd.pod b/doc/man-pages/pod8/afsd.pod index 4c92513e2..8d0f54ebb 100644 --- a/doc/man-pages/pod8/afsd.pod +++ b/doc/man-pages/pod8/afsd.pod @@ -393,12 +393,14 @@ minutes for the best callback performance. =item B<-afsdb> -Enable afsdb support. This will use DNS to lookup the AFSDB record and use -that for the database servers for each cell instead of the values in the -F file. This has the advantage of only needing to update one -DNS record to reconfigure the AFS clients for a new database server as -opposed to touching all of the clients, and also allows one to access a -cell without preconfiguring its database servers in F. +Enable afsdb support. This will use DNS to lookup the AFSDB record and +use that for the database servers for each cell instead of the values +in the F file. This has the advantage of only needing to +update one DNS record to reconfigure the AFS clients for a new +database server as opposed to touching all of the clients, and also +allows one to access a cell without preconfiguring its database +servers in F. The format of AFSDB records is defined in +RFC 1183. =item B<-backuptree> @@ -627,7 +629,11 @@ Bind the Rx socket (one interface only). =item B<-rxpck> > -Set rx_extraPackets to this value. +Set rx_extraPackets to this value. This sets the number of extra Rx +packet structures that are available to handle Rx connections. This +value should be increased if the "rxdebug 127.0.0.1 -port 7001 +-rxstats" command shows no free Rx packets. Increasing this value may +improve OpenAFS client performance in some circumstances. =item B<-settime> @@ -701,6 +707,8 @@ L, L, L +RFC 1183 L + =head1 COPYRIGHT IBM Corporation 2000. All Rights Reserved. diff --git a/doc/man-pages/pod8/backup_adddump.pod b/doc/man-pages/pod8/backup_adddump.pod index d694b8c19..e9a522a5e 100644 --- a/doc/man-pages/pod8/backup_adddump.pod +++ b/doc/man-pages/pod8/backup_adddump.pod @@ -1,6 +1,6 @@ =head1 NAME -backup adddump - Defines a dump level in the dump hierarchy +backup_adddump - Defines a dump level in the dump hierarchy =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_addhost.pod b/doc/man-pages/pod8/backup_addhost.pod index f48bab8c4..aa3e26a2f 100644 --- a/doc/man-pages/pod8/backup_addhost.pod +++ b/doc/man-pages/pod8/backup_addhost.pod @@ -1,6 +1,6 @@ =head1 NAME -backup addhost - Adds a Tape Coordinator entry to the Backup Database +backup_addhost - Adds a Tape Coordinator entry to the Backup Database =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_addvolentry.pod b/doc/man-pages/pod8/backup_addvolentry.pod index 9bbb75538..ccf1d6f3c 100644 --- a/doc/man-pages/pod8/backup_addvolentry.pod +++ b/doc/man-pages/pod8/backup_addvolentry.pod @@ -1,6 +1,6 @@ =head1 NAME -backup addvolentry - Defines a volume entry in a volume set +backup_addvolentry - Defines a volume entry in a volume set =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_addvolset.pod b/doc/man-pages/pod8/backup_addvolset.pod index 1ff05cf5f..000aaf201 100644 --- a/doc/man-pages/pod8/backup_addvolset.pod +++ b/doc/man-pages/pod8/backup_addvolset.pod @@ -1,6 +1,6 @@ =head1 NAME -backup addvolset - Creates a new (empty) volume set +backup_addvolset - Creates a new (empty) volume set =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_apropos.pod b/doc/man-pages/pod8/backup_apropos.pod index f13dd9ce3..060731449 100644 --- a/doc/man-pages/pod8/backup_apropos.pod +++ b/doc/man-pages/pod8/backup_apropos.pod @@ -1,6 +1,6 @@ =head1 NAME -backup apropos - Displays each help entry containing a keyword string +backup_apropos - Displays each help entry containing a keyword string =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_dbverify.pod b/doc/man-pages/pod8/backup_dbverify.pod index 53359b911..0ec5db3c9 100644 --- a/doc/man-pages/pod8/backup_dbverify.pod +++ b/doc/man-pages/pod8/backup_dbverify.pod @@ -1,6 +1,6 @@ =head1 NAME -backup dbverify - Checks the integrity of the Backup Database +backup_dbverify - Checks the integrity of the Backup Database =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_deldump.pod b/doc/man-pages/pod8/backup_deldump.pod index d9de9ee9d..2c9643a65 100644 --- a/doc/man-pages/pod8/backup_deldump.pod +++ b/doc/man-pages/pod8/backup_deldump.pod @@ -1,6 +1,6 @@ =head1 NAME -backup deldump - Deletes a dump level from the Backup Database +backup_deldump - Deletes a dump level from the Backup Database =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_deletedump.pod b/doc/man-pages/pod8/backup_deletedump.pod index a8688b9c0..adc78e820 100644 --- a/doc/man-pages/pod8/backup_deletedump.pod +++ b/doc/man-pages/pod8/backup_deletedump.pod @@ -1,6 +1,6 @@ =head1 NAME -backup deletedump - Deletes one or more dump records from the Backup Database +backup_deletedump - Deletes one or more dump records from the Backup Database =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_delhost.pod b/doc/man-pages/pod8/backup_delhost.pod index 55be623be..fac5dbec8 100644 --- a/doc/man-pages/pod8/backup_delhost.pod +++ b/doc/man-pages/pod8/backup_delhost.pod @@ -1,6 +1,6 @@ =head1 NAME -backup delhost - Deletes a Tape Coordinator entry from the Backup Database +backup_delhost - Deletes a Tape Coordinator entry from the Backup Database =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_delvolentry.pod b/doc/man-pages/pod8/backup_delvolentry.pod index c95b691fb..cb5062802 100644 --- a/doc/man-pages/pod8/backup_delvolentry.pod +++ b/doc/man-pages/pod8/backup_delvolentry.pod @@ -1,6 +1,6 @@ =head1 NAME -backup delvolentry - Deletes a volume entry from a volume set +backup_delvolentry - Deletes a volume entry from a volume set =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_delvolset.pod b/doc/man-pages/pod8/backup_delvolset.pod index ba273e6e6..50939ff04 100644 --- a/doc/man-pages/pod8/backup_delvolset.pod +++ b/doc/man-pages/pod8/backup_delvolset.pod @@ -1,6 +1,6 @@ =head1 NAME -backup delvolset - Deletes one or more volume sets from the Backup Database +backup_delvolset - Deletes one or more volume sets from the Backup Database =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_diskrestore.pod b/doc/man-pages/pod8/backup_diskrestore.pod index 205493d35..30f641301 100644 --- a/doc/man-pages/pod8/backup_diskrestore.pod +++ b/doc/man-pages/pod8/backup_diskrestore.pod @@ -1,6 +1,6 @@ =head1 NAME -backup diskrestore - Restores the entire contents of a partition +backup_diskrestore - Restores the entire contents of a partition =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_dump.pod b/doc/man-pages/pod8/backup_dump.pod index b761f29e1..aa1c95261 100644 --- a/doc/man-pages/pod8/backup_dump.pod +++ b/doc/man-pages/pod8/backup_dump.pod @@ -1,6 +1,6 @@ =head1 NAME -backup dump - Creates a dump (dumps a volume set at a particular dump level) +backup_dump - Creates a dump (dumps a volume set at a particular dump level) =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_dumpinfo.pod b/doc/man-pages/pod8/backup_dumpinfo.pod index 36aba68a0..ee12d16c5 100644 --- a/doc/man-pages/pod8/backup_dumpinfo.pod +++ b/doc/man-pages/pod8/backup_dumpinfo.pod @@ -1,6 +1,6 @@ =head1 NAME -backup dumpinfo - Displays a dump record from the Backup Database +backup_dumpinfo - Displays a dump record from the Backup Database =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_help.pod b/doc/man-pages/pod8/backup_help.pod index 081a29da2..58e18de68 100644 --- a/doc/man-pages/pod8/backup_help.pod +++ b/doc/man-pages/pod8/backup_help.pod @@ -1,6 +1,6 @@ =head1 NAME -backup help - Displays help for backup commands +backup_help - Displays help for backup commands =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_interactive.pod b/doc/man-pages/pod8/backup_interactive.pod index 44b4db5ea..16ee3c021 100644 --- a/doc/man-pages/pod8/backup_interactive.pod +++ b/doc/man-pages/pod8/backup_interactive.pod @@ -1,6 +1,6 @@ =head1 NAME -backup interactive - Enters interactive mode +backup_interactive - Enters interactive mode =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_jobs.pod b/doc/man-pages/pod8/backup_jobs.pod index 77adb3d2a..89e5a17f7 100644 --- a/doc/man-pages/pod8/backup_jobs.pod +++ b/doc/man-pages/pod8/backup_jobs.pod @@ -1,6 +1,6 @@ =head1 NAME -backup jobs - Lists pending and running operations in interactive mode +backup_jobs - Lists pending and running operations in interactive mode =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_kill.pod b/doc/man-pages/pod8/backup_kill.pod index 08ae8f3a4..8cc1effc6 100644 --- a/doc/man-pages/pod8/backup_kill.pod +++ b/doc/man-pages/pod8/backup_kill.pod @@ -1,6 +1,6 @@ =head1 NAME -backup kill - Terminates a pending or running operation +backup_kill - Terminates a pending or running operation =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_labeltape.pod b/doc/man-pages/pod8/backup_labeltape.pod index bf06ffe94..8e9655d6b 100644 --- a/doc/man-pages/pod8/backup_labeltape.pod +++ b/doc/man-pages/pod8/backup_labeltape.pod @@ -1,6 +1,6 @@ =head1 NAME -backup labeltape - Creates the magnetic label on a tape +backup_labeltape - Creates the magnetic label on a tape =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_listdumps.pod b/doc/man-pages/pod8/backup_listdumps.pod index c7f7aa867..508b04327 100644 --- a/doc/man-pages/pod8/backup_listdumps.pod +++ b/doc/man-pages/pod8/backup_listdumps.pod @@ -1,6 +1,6 @@ =head1 NAME -backup listdumps - Displays the dump hierarchy from the Backup Database +backup_listdumps - Displays the dump hierarchy from the Backup Database =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_listhosts.pod b/doc/man-pages/pod8/backup_listhosts.pod index c1213af2b..103b28852 100644 --- a/doc/man-pages/pod8/backup_listhosts.pod +++ b/doc/man-pages/pod8/backup_listhosts.pod @@ -1,6 +1,6 @@ =head1 NAME -backup listhosts - Lists Tape Coordinators registered in the Backup Database +backup_listhosts - Lists Tape Coordinators registered in the Backup Database =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_listvolsets.pod b/doc/man-pages/pod8/backup_listvolsets.pod index 92ae5fc94..ffbd288a4 100644 --- a/doc/man-pages/pod8/backup_listvolsets.pod +++ b/doc/man-pages/pod8/backup_listvolsets.pod @@ -1,6 +1,6 @@ =head1 NAME -backup listvolsets - Lists volume set entries from the Backup Database +backup_listvolsets - Lists volume set entries from the Backup Database =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_quit.pod b/doc/man-pages/pod8/backup_quit.pod index e0149426b..1c356f902 100644 --- a/doc/man-pages/pod8/backup_quit.pod +++ b/doc/man-pages/pod8/backup_quit.pod @@ -1,6 +1,6 @@ =head1 NAME -backup quit - Leaves interactive mode +backup_quit - Leaves interactive mode =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_readlabel.pod b/doc/man-pages/pod8/backup_readlabel.pod index 55ba261fe..a317c6b7d 100644 --- a/doc/man-pages/pod8/backup_readlabel.pod +++ b/doc/man-pages/pod8/backup_readlabel.pod @@ -1,6 +1,6 @@ =head1 NAME -backup readlabel - Reads and displays a tape's label +backup_readlabel - Reads and displays a tape's label =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_restoredb.pod b/doc/man-pages/pod8/backup_restoredb.pod index ba941c6f1..68a2fa2e4 100644 --- a/doc/man-pages/pod8/backup_restoredb.pod +++ b/doc/man-pages/pod8/backup_restoredb.pod @@ -1,6 +1,6 @@ =head1 NAME -backup restoredb - Restores a saved copy of the Backup Database +backup_restoredb - Restores a saved copy of the Backup Database =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_savedb.pod b/doc/man-pages/pod8/backup_savedb.pod index 6c3d3e03b..15ee2215f 100644 --- a/doc/man-pages/pod8/backup_savedb.pod +++ b/doc/man-pages/pod8/backup_savedb.pod @@ -1,6 +1,6 @@ =head1 NAME -backup savedb - Creates a saved copy of the Backup Database +backup_savedb - Creates a saved copy of the Backup Database =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_scantape.pod b/doc/man-pages/pod8/backup_scantape.pod index ee99d1bb8..a5e1e54ed 100644 --- a/doc/man-pages/pod8/backup_scantape.pod +++ b/doc/man-pages/pod8/backup_scantape.pod @@ -1,6 +1,6 @@ =head1 NAME -backup scantape - Extracts dump information from a tape +backup_scantape - Extracts dump information from a tape =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_setexp.pod b/doc/man-pages/pod8/backup_setexp.pod index fc0695601..7f741419e 100644 --- a/doc/man-pages/pod8/backup_setexp.pod +++ b/doc/man-pages/pod8/backup_setexp.pod @@ -1,6 +1,6 @@ =head1 NAME -backup setexp - Sets the expiration date for existing dump levels. +backup_setexp - Sets the expiration date for existing dump levels. =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_status.pod b/doc/man-pages/pod8/backup_status.pod index 9ae180eba..ba8a5ee5e 100644 --- a/doc/man-pages/pod8/backup_status.pod +++ b/doc/man-pages/pod8/backup_status.pod @@ -1,6 +1,6 @@ =head1 NAME -backup status - Reports a Tape Coordinator's status +backup_status - Reports a Tape Coordinator's status =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_volinfo.pod b/doc/man-pages/pod8/backup_volinfo.pod index c3ac9d392..d1a55e8df 100644 --- a/doc/man-pages/pod8/backup_volinfo.pod +++ b/doc/man-pages/pod8/backup_volinfo.pod @@ -1,6 +1,6 @@ =head1 NAME -backup volinfo - Displays a volume's dump history from the Backup Database +backup_volinfo - Displays a volume's dump history from the Backup Database =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_volrestore.pod b/doc/man-pages/pod8/backup_volrestore.pod index 4e27a8533..e52896b3b 100644 --- a/doc/man-pages/pod8/backup_volrestore.pod +++ b/doc/man-pages/pod8/backup_volrestore.pod @@ -1,6 +1,6 @@ =head1 NAME -backup volrestore - Restores one or more volumes +backup_volrestore - Restores one or more volumes =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/backup_volsetrestore.pod b/doc/man-pages/pod8/backup_volsetrestore.pod index f4afd266a..fcac34740 100644 --- a/doc/man-pages/pod8/backup_volsetrestore.pod +++ b/doc/man-pages/pod8/backup_volsetrestore.pod @@ -1,6 +1,6 @@ =head1 NAME -backup volsetrestore - Restores all volumes in a volume set +backup_volsetrestore - Restores all volumes in a volume set =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_addhost.pod b/doc/man-pages/pod8/bos_addhost.pod index f5888f52c..00c540ce9 100644 --- a/doc/man-pages/pod8/bos_addhost.pod +++ b/doc/man-pages/pod8/bos_addhost.pod @@ -1,6 +1,6 @@ =head1 NAME -bos addhost - Adds a database server machine to the CellServDB file +bos_addhost - Adds a database server machine to the CellServDB file =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_addkey.pod b/doc/man-pages/pod8/bos_addkey.pod index 180618796..5f51b2e23 100644 --- a/doc/man-pages/pod8/bos_addkey.pod +++ b/doc/man-pages/pod8/bos_addkey.pod @@ -1,6 +1,6 @@ =head1 NAME -bos addkey - Adds a new server encryption key to the KeyFile file +bos_addkey - Adds a new server encryption key to the KeyFile file =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_adduser.pod b/doc/man-pages/pod8/bos_adduser.pod index 4ccaab01f..148ee8d32 100644 --- a/doc/man-pages/pod8/bos_adduser.pod +++ b/doc/man-pages/pod8/bos_adduser.pod @@ -1,6 +1,6 @@ =head1 NAME -bos adduser - Adds a privileged user to the UserList file +bos_adduser - Adds a privileged user to the UserList file =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_apropos.pod b/doc/man-pages/pod8/bos_apropos.pod index 916a3749d..cea38e355 100644 --- a/doc/man-pages/pod8/bos_apropos.pod +++ b/doc/man-pages/pod8/bos_apropos.pod @@ -1,6 +1,6 @@ =head1 NAME -bos apropos - Displays each help entry containing a keyword string +bos_apropos - Displays each help entry containing a keyword string =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_create.pod b/doc/man-pages/pod8/bos_create.pod index ae5c33d5b..d4ec886d7 100644 --- a/doc/man-pages/pod8/bos_create.pod +++ b/doc/man-pages/pod8/bos_create.pod @@ -1,6 +1,6 @@ =head1 NAME -bos create - Defines a new process in the BosConfig file and starts it +bos_create - Defines a new process in the BosConfig file and starts it =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_delete.pod b/doc/man-pages/pod8/bos_delete.pod index b73bcb1e3..9b4d55818 100644 --- a/doc/man-pages/pod8/bos_delete.pod +++ b/doc/man-pages/pod8/bos_delete.pod @@ -1,6 +1,6 @@ =head1 NAME -bos delete - Deletes a server process from the BosConfig file +bos_delete - Deletes a server process from the BosConfig file =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_exec.pod b/doc/man-pages/pod8/bos_exec.pod index 0cb71941c..4cdbe4e63 100644 --- a/doc/man-pages/pod8/bos_exec.pod +++ b/doc/man-pages/pod8/bos_exec.pod @@ -1,6 +1,6 @@ =head1 NAME -bos exec - Executes a command on a remote server machine +bos_exec - Executes a command on a remote server machine =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_getdate.pod b/doc/man-pages/pod8/bos_getdate.pod index d33398e03..f451778c8 100644 --- a/doc/man-pages/pod8/bos_getdate.pod +++ b/doc/man-pages/pod8/bos_getdate.pod @@ -1,6 +1,6 @@ =head1 NAME -bos getdate - Displays the time stamps on an AFS binary file +bos_getdate - Displays the time stamps on an AFS binary file =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_getlog.pod b/doc/man-pages/pod8/bos_getlog.pod index bc986e9b6..75d52eb3a 100644 --- a/doc/man-pages/pod8/bos_getlog.pod +++ b/doc/man-pages/pod8/bos_getlog.pod @@ -1,6 +1,6 @@ =head1 NAME -bos getlog - Prints a server process's log file +bos_getlog - Prints a server process's log file =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_getrestart.pod b/doc/man-pages/pod8/bos_getrestart.pod index 51ff8115a..11de5daa6 100644 --- a/doc/man-pages/pod8/bos_getrestart.pod +++ b/doc/man-pages/pod8/bos_getrestart.pod @@ -1,6 +1,6 @@ =head1 NAME -bos getrestart - Displays the automatic restart times for server processes +bos_getrestart - Displays the automatic restart times for server processes =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_help.pod b/doc/man-pages/pod8/bos_help.pod index 74478c253..a338c2b44 100644 --- a/doc/man-pages/pod8/bos_help.pod +++ b/doc/man-pages/pod8/bos_help.pod @@ -1,6 +1,6 @@ =head1 NAME -bos help - Displays help for bos commands +bos_help - Displays help for bos commands =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_install.pod b/doc/man-pages/pod8/bos_install.pod index 08c16d52a..3b1307b00 100644 --- a/doc/man-pages/pod8/bos_install.pod +++ b/doc/man-pages/pod8/bos_install.pod @@ -1,6 +1,6 @@ =head1 NAME -bos install - Installs a new version of a binary file +bos_install - Installs a new version of a binary file =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_listhosts.pod b/doc/man-pages/pod8/bos_listhosts.pod index f4d3f06bd..986170742 100644 --- a/doc/man-pages/pod8/bos_listhosts.pod +++ b/doc/man-pages/pod8/bos_listhosts.pod @@ -1,6 +1,6 @@ =head1 NAME -bos listhosts - Displays the contents of the CellServDB file +bos_listhosts - Displays the contents of the CellServDB file =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_listkeys.pod b/doc/man-pages/pod8/bos_listkeys.pod index eac34fcac..772f59b0c 100644 --- a/doc/man-pages/pod8/bos_listkeys.pod +++ b/doc/man-pages/pod8/bos_listkeys.pod @@ -1,6 +1,6 @@ =head1 NAME -bos listkeys - Displays the server encryption keys from the KeyFile file +bos_listkeys - Displays the server encryption keys from the KeyFile file =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_listusers.pod b/doc/man-pages/pod8/bos_listusers.pod index 6b0c1f9f8..8f3796851 100644 --- a/doc/man-pages/pod8/bos_listusers.pod +++ b/doc/man-pages/pod8/bos_listusers.pod @@ -1,6 +1,6 @@ =head1 NAME -bos listusers - Lists the privileged users from the UserList file +bos_listusers - Lists the privileged users from the UserList file =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_prune.pod b/doc/man-pages/pod8/bos_prune.pod index 0f5959624..b85f96f06 100644 --- a/doc/man-pages/pod8/bos_prune.pod +++ b/doc/man-pages/pod8/bos_prune.pod @@ -1,6 +1,6 @@ =head1 NAME -bos prune - Removes obsolete files from /usr/afs/bin and /usr/afs/logs +bos_prune - Removes obsolete files from /usr/afs/bin and /usr/afs/logs =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_removehost.pod b/doc/man-pages/pod8/bos_removehost.pod index 1cde17983..eb1410d53 100644 --- a/doc/man-pages/pod8/bos_removehost.pod +++ b/doc/man-pages/pod8/bos_removehost.pod @@ -1,6 +1,6 @@ =head1 NAME -bos removehost - Removes a database server machine from the CellServDB file +bos_removehost - Removes a database server machine from the CellServDB file =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_removekey.pod b/doc/man-pages/pod8/bos_removekey.pod index db81c4f0a..7369fadbc 100644 --- a/doc/man-pages/pod8/bos_removekey.pod +++ b/doc/man-pages/pod8/bos_removekey.pod @@ -1,6 +1,6 @@ =head1 NAME -bos removekey - Removes a server encryption key from the KeyFile file +bos_removekey - Removes a server encryption key from the KeyFile file =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_removeuser.pod b/doc/man-pages/pod8/bos_removeuser.pod index b3f94414d..08d9bb277 100644 --- a/doc/man-pages/pod8/bos_removeuser.pod +++ b/doc/man-pages/pod8/bos_removeuser.pod @@ -1,6 +1,6 @@ =head1 NAME -bos removeuser - Removes a privileged user from the UserList file +bos_removeuser - Removes a privileged user from the UserList file =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_restart.pod b/doc/man-pages/pod8/bos_restart.pod index 4dc17b166..24e66a9d7 100644 --- a/doc/man-pages/pod8/bos_restart.pod +++ b/doc/man-pages/pod8/bos_restart.pod @@ -1,6 +1,6 @@ =head1 NAME -bos restart - Restarts a server process +bos_restart - Restarts a server process =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_salvage.pod b/doc/man-pages/pod8/bos_salvage.pod index c8fc4b32d..8d497b165 100644 --- a/doc/man-pages/pod8/bos_salvage.pod +++ b/doc/man-pages/pod8/bos_salvage.pod @@ -1,6 +1,6 @@ =head1 NAME -bos salvage - Restores internal consistency to a file system or volume +bos_salvage - Restores internal consistency to a file system or volume =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_setauth.pod b/doc/man-pages/pod8/bos_setauth.pod index 6f89b7859..4ccd9623b 100644 --- a/doc/man-pages/pod8/bos_setauth.pod +++ b/doc/man-pages/pod8/bos_setauth.pod @@ -1,6 +1,6 @@ =head1 NAME -bos setauth - Sets authorization checking requirements for all server processes +bos_setauth - Sets authorization checking requirements for all server processes =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_setcellname.pod b/doc/man-pages/pod8/bos_setcellname.pod index 6f727dafa..6d1faefdd 100644 --- a/doc/man-pages/pod8/bos_setcellname.pod +++ b/doc/man-pages/pod8/bos_setcellname.pod @@ -1,6 +1,6 @@ =head1 NAME -bos setcellname - Sets the cell's name in ThisCell and CellServDB +bos_setcellname - Sets the cell's name in ThisCell and CellServDB =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_setrestart.pod b/doc/man-pages/pod8/bos_setrestart.pod index 6110fe8f5..27c18e9e3 100644 --- a/doc/man-pages/pod8/bos_setrestart.pod +++ b/doc/man-pages/pod8/bos_setrestart.pod @@ -1,6 +1,6 @@ =head1 NAME -bos setrestart - Sets when the BOS Server restarts processes +bos_setrestart - Sets when the BOS Server restarts processes =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_shutdown.pod b/doc/man-pages/pod8/bos_shutdown.pod index 9f30af9ef..7ccfd6fae 100644 --- a/doc/man-pages/pod8/bos_shutdown.pod +++ b/doc/man-pages/pod8/bos_shutdown.pod @@ -1,6 +1,6 @@ =head1 NAME -bos shutdown - Stops a process without changing its status flag +bos_shutdown - Stops a process without changing its status flag =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_start.pod b/doc/man-pages/pod8/bos_start.pod index fce2944d8..4be521b52 100644 --- a/doc/man-pages/pod8/bos_start.pod +++ b/doc/man-pages/pod8/bos_start.pod @@ -1,6 +1,6 @@ =head1 NAME -bos start - Starts a process after setting its status flag +bos_start - Starts a process after setting its status flag =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_startup.pod b/doc/man-pages/pod8/bos_startup.pod index ac10c75b7..7e7a16cf0 100644 --- a/doc/man-pages/pod8/bos_startup.pod +++ b/doc/man-pages/pod8/bos_startup.pod @@ -1,6 +1,6 @@ =head1 NAME -bos startup - Starts a process without changing its status flag +bos_startup - Starts a process without changing its status flag =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_status.pod b/doc/man-pages/pod8/bos_status.pod index 018d58939..da9088d26 100644 --- a/doc/man-pages/pod8/bos_status.pod +++ b/doc/man-pages/pod8/bos_status.pod @@ -1,6 +1,6 @@ =head1 NAME -bos status - Displays the status of server processes +bos_status - Displays the status of server processes =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_stop.pod b/doc/man-pages/pod8/bos_stop.pod index da196f22e..354603c52 100644 --- a/doc/man-pages/pod8/bos_stop.pod +++ b/doc/man-pages/pod8/bos_stop.pod @@ -1,6 +1,6 @@ =head1 NAME -bos stop - Stops a process after changing its status flag +bos_stop - Stops a process after changing its status flag =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_uninstall.pod b/doc/man-pages/pod8/bos_uninstall.pod index 58ed8502d..fe20ba500 100644 --- a/doc/man-pages/pod8/bos_uninstall.pod +++ b/doc/man-pages/pod8/bos_uninstall.pod @@ -1,6 +1,6 @@ =head1 NAME -bos uninstall - Reverts to the former version of a process's binary file +bos_uninstall - Reverts to the former version of a process's binary file =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/bos_util.pod b/doc/man-pages/pod8/bos_util.pod index a26fccced..35884561c 100644 --- a/doc/man-pages/pod8/bos_util.pod +++ b/doc/man-pages/pod8/bos_util.pod @@ -114,5 +114,6 @@ ktutil(8) Copyright 2007 Jason Edgecombe -This documentation is covered by the IBM Public License Version 1.0. -This man page was written by Jason Edgecombe for OpenAFS. +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. diff --git a/doc/man-pages/pod8/bosserver.pod b/doc/man-pages/pod8/bosserver.pod index 3433495c8..3ff4345f3 100644 --- a/doc/man-pages/pod8/bosserver.pod +++ b/doc/man-pages/pod8/bosserver.pod @@ -8,7 +8,7 @@ bosserver - Initializes the BOS Server
B [B<-noauth>] [B<-log>] [B<-enable_peer_stats>] - [B<-enable_process_stats>] [B<-help>] + [B<-enable_process_stats>] [B<-allow-dotted-principal>] [B<-help>] =for html
@@ -108,6 +108,15 @@ GetStatus, and so on) sent or received, aggregated over all connections to other machines. To display or otherwise access the records, use the Rx Monitoring API. +=item B<-allow-dotted-principal> + +By default, the RXKAD security layer will disallow access by Kerberos +principals with a dot in the first component of their name. This is to avoid +the confusion where principals user/admin and user.admin are both mapped to the +user.admin PTS entry. Sites whose Kerberos realms don't have these collisions +between principal names may disable this check by starting the server +with this option. + =item B<-help> Prints the online help for this command. All other valid options are diff --git a/doc/man-pages/pod8/fileserver.pod b/doc/man-pages/pod8/fileserver.pod index 5b82544a6..9a1309aea 100644 --- a/doc/man-pages/pod8/fileserver.pod +++ b/doc/man-pages/pod8/fileserver.pod @@ -7,19 +7,20 @@ fileserver - Initializes the File Server component of the fs process =for html
-B S<<< [B<-auditlog> >] >>> +B S<<< [B<-auditlog> >] >>> S<<< [B<-d> >] >>> S<<< [B<-p> >] >>> S<<< [B<-spare> >] >>> S<<< [B<-pctspare> >] >>> S<<< [B<-b> >] >>> - S<<< [B<-l> >] >>> S<<< [B<-s> >] >>> + S<<< [B<-l> >] >>> S<<< [B<-s> >] >>> S<<< [B<-vc> >] >>> S<<< [B<-w> >] >>> S<<< [B<-cb> >] >>> [B<-banner>] [B<-novbc>] S<<< [B<-implicit> >] >>> [B<-readonly>] S<<< [B<-hr> >] >>> - [B<-busyat> n >>>] + S<<< [B<-busyat> n >>>] >>> [B<-nobusy>] S<<< [B<-rxpck> >] >>> [B<-rxdbg>] [B<-rxdbge>] S<<< [B<-rxmaxmtu> >] >>> + [B<-allow-dotted-principal>] S<<< [B<-rxbind> >] >>> S<<< [B<-vattachpar> >] >>> S<<< [B<-m> >] >>> @@ -28,7 +29,6 @@ B S<<< [B<-auditlog> >] >>> S<<< [B<-udpsize> >] >>> S<<< [B<-sendsize> >] >>> S<<< [B<-abortthreshold> >] >>> - S<<< [B<-auditlog> >] >>> [B<-enable_peer_stats>] [B<-enable_process_stats>] [B<-help>] =for html @@ -48,9 +48,9 @@ file server machine as the local superuser C. The File Server creates the F log file as it initializes, if the file does not already exist. It does not write a -detailed trace by default, but use the B<-d> option to increase the amount -of detail. Use the B command to display the contents of the -log file. +detailed trace by default, but the B<-d> option may be used to +increase the amount of detail. Use the B command to +display the contents of the log file. The command's arguments enable the administrator to control many aspects of the File Server's performance, as detailed in L. By default @@ -68,7 +68,7 @@ machine sizes. The maximum number of lightweight processes (LWPs) the File Server uses to handle requests for data; corresponds to the B<-p> argument. The File -Server always uses a minimum of 32 KB for these processes. +Server always uses a minimum of 32 KB of memory for these processes. =item * @@ -168,6 +168,16 @@ the Protection Server every two hours to recompute host CPSs, implying that it can take that long for changed group memberships to become effective. To change this frequency, use the B<-hr> argument. +The File Server stores volumes in partitions. A partition is a +filesystem or directory on the server machine that is named C +or C where XX is "a" through "z" or "aa" though "zz". The +File Server expects that the /vicepXX directories are each on a +dedicated filesystem. The File Server will only use a /vicepXX if it's +a mountpoint for another filesystem, unless the file +C exists. The data in the partition is a +special format that can only be access using OpenAFS commands or an +OpenAFS client. + The File Server generates the following message when a partition is nearly full: @@ -178,12 +188,12 @@ suites. Provide the command name and all option names in full. =head1 CAUTIONS -Do not use the B<-k> and -w arguments, which are intended for use by the -AFS Development group only. Changing them from their default values can -result in unpredictable File Server behavior. In any case, on many -operating systems the File Server uses native threads rather than the LWP -threads, so using the B<-k> argument to set the number of LWP threads has -no effect. +Do not use the B<-k> and B<-w> arguments, which are intended for use +by the OpenAFS developers only. Changing them from their default +values can result in unpredictable File Server behavior. In any case, +on many operating systems the File Server uses native threads rather +than the LWP threads, so using the B<-k> argument to set the number of +LWP threads has no effect. Do not specify both the B<-spare> and B<-pctspare> arguments. Doing so causes the File Server to exit, leaving an error message in the @@ -193,6 +203,27 @@ Options that are available only on some system types, such as the B<-m> and B<-lock> options, appear in the output generated by the B<-help> option only on the relevant system type. +Currently, the maximum size of a volume is 2 terabytes (2^31 bytes) +and the maximum size of a /vicepX partition on a fileserver is also 2 +terabytes. The fileserver will not report an error when it has access +to a partition larger than 2 terabytes, but it will probably fail if +the administrator attempts to use more than 2 terabytes of space. In +addition, there are reports of erroneous disk usage numbers when +B or other OpenAFS disk reporting tools are used with +partitions larger than 2 terabytes. + +The maximum number of directory entries is 64,000 if all of the +entries have names that are 15 characters or less in length. A name +that is 15 characters long requires the use of only one block in the +directory. Additional sequential blocks are required to store entries +with names that are longer than 15 characters. Each additional block +provides an additional length of 32 characters for the name of the +entry. + +In real world use, the maximum number of objects in an AFS directory +is usually between 16,000 and 25,000, depending on the average name +length. + =head1 OPTIONS =over 4 @@ -321,6 +352,15 @@ F. Writes a trace of the File Server's operations on Rx events (such as retransmissions) to the file F. +=item B<-allow-dotted-principal> + +By default, the RXKAD security layer will disallow access by Kerberos +principals with a dot in the first component of their name. This is to avoid +the confusion where principals user/admin and user.admin are both mapped to the +user.admin PTS entry. Sites whose Kerberos realms don't have these collisions +between principal names may disabled this check by starting the server +with this option. + =item F<-m> > Specifies the percentage of each AFS server partition that the AIX version @@ -380,6 +420,24 @@ GetStatus, and so on) sent or received, aggregated over all connections to other machines. To display or otherwise access the records, use the Rx Monitoring API. +=item B<-abortthreshold> > + +Sets the abort threshold, which is triggered when an AFS client sends +a number of FetchStatus requests in a row and all of them fail due to +access control or some other error. When the abort threshold is +reached, the file server starts to slow down the responses to the +problem client in order to reduce the load on the file server. + +The throttling behaviour can cause issues especially for some versions +of the Windows OpenAFS client. When using Windows Explorer to navigate +the AFS directory tree, directories with only "look" access for the +current user may load more slowly because of the throttling. This is +because the Windows OpenAFS client sends FetchStatus calls one at a +time instead of in bulk like the Unix Open AFS client. + +Setting the threshold to 0 disables the throttling behavior. This +option is available in OpenAFS versions 1.4.1 and later. + =item B<-help> Prints the online help for this command. All other valid options are @@ -398,10 +456,160 @@ line: -cmd "/usr/afs/bin/fileserver -pctspare 10 \ -L" /usr/afs/bin/volserver /usr/afs/bin/salvager + +=head1 TROUBLESHOOTING + +Sending process signals to the File Server Process can change its +behavior in the following ways: + + Process Signal OS Result + --------------------------------------------------------------------- + + File Server XCPU Unix Prints a list of client IP + Addresses. + + File Server USR2 Windows Prints a list of client IP + Addresses. + + File Server POLL HPUX Prints a list of client IP + Addresses. + + Any server TSTP Any Increases Debug level by a power + of 5 -- 1,5,25,125, etc. + This has the same effect as the + -d XXX command-line option. + + Any Server HUP Any Resets Debug level to 0 + + File Server TERM Any Run minor instrumentation over + the list of descriptors. + + Other Servers TERM Any Causes the process to quit. + + File Server QUIT Any Causes the File Server to Quit. + Bos Server knows this. + +The basic metric of whether an AFS file server is doing well is the number +of connections waiting for a thread, +which can be found by running the following command: + + % rxdebug | grep waiting_for | wc -l + +Each line returned by C that contains the text "waiting_for" +represents a connection that's waiting for a file server thread. + +If the blocked connection count is ever above 0, the server is having +problems replying to clients in a timely fashion. If it gets above 10, +roughly, there will be noticable slowness by the user. The total number of +connections is a mostly irrelevant number that goes essentially +monotonically for as long as the server has been running and then goes back +down to zero when it's restarted. + +The most common cause of blocked connections rising on a server is some +process somewhere performing an abnormal number of accesses to that server +and its volumes. If multiple servers have a blocked connection count, the +most likely explanation is that there is a volume replicated between those +servers that is absorbing an abnormally high access rate. + +To get an access count on all the volumes on a server, run: + + % vos listvol -long + +and save the output in a file. The results will look like a bunch of B output for each volume on the server. Look for lines like: + + 40065 accesses in the past day (i.e., vnode references) + +and look for volumes with an abnormally high number of accesses. Anything +over 10,000 is fairly high, but some volumes like root.cell and other +volumes close to the root of the cell will have that many hits routinely. +Anything over 100,000 is generally abnormally high. The count resets about +once a day. + +Another approach that can be used to narrow the possibilities for a +replicated volume, when multiple servers are having trouble, is to find all +replicated volumes for that server. Run: + + % vos listvldb -server + +where is one of the servers having problems to refresh the VLDB +cache, and then run: + + % vos listvldb -server -part + +to get a list of all volumes on that server and partition, including every +other server with replicas. + +Once the volume causing the problem has been identified, the best way to +deal with the problem is to move that volume to another server with a low +load or to stop any runaway programs that are accessing that volume +unnecessarily. Often the volume will be enough information to tell what's +going on. + +If you still need additional information about who's hitting that server, +sometimes you can guess at that information from the failed callbacks in the +F log in F on the server, or from the output of: + + % /usr/afsws/etc/rxdebug -rxstats + +but the best way is to turn on debugging output from the file server. +(Warning: This generates a lot of output into FileLog on the AFS server.) +To do this, log on to the AFS server, find the PID of the fileserver +process, and do: + + kill -TSTP + +where is the PID of the file server process. This will raise the +debugging level so that you'll start seeing what people are actually doing +on the server. You can do this up to three more times to get even more +output if needed. To reset the debugging level back to normal, use (The +following command will NOT terminate the file server): + + kill -HUP + +The debugging setting on the File Server should be reset back to normal when +debugging is no longer needed. Otherwise, the AFS server may well fill its +disks with debugging output. + +The lines of the debugging output that are most useful for debugging load +problems are: + + SAFS_FetchStatus, Fid = 2003828163.77154.82248, Host 171.64.15.76 + SRXAFS_FetchData, Fid = 2003828163.77154.82248 + +(The example above is partly truncated to highlight the interesting +information). The Fid identifies the volume and inode within the volume; +the volume is the first long number. So, for example, this was: + + % vos examine 2003828163 + pubsw.matlab61 2003828163 RW 1040060 K On-line + afssvr5.Stanford.EDU /vicepa + RWrite 2003828163 ROnly 2003828164 Backup 2003828165 + MaxQuota 3000000 K + Creation Mon Aug 6 16:40:55 2001 + Last Update Tue Jul 30 19:00:25 2002 + 86181 accesses in the past day (i.e., vnode references) + + RWrite: 2003828163 ROnly: 2003828164 Backup: 2003828165 + number of sites -> 3 + server afssvr5.Stanford.EDU partition /vicepa RW Site + server afssvr11.Stanford.EDU partition /vicepd RO Site + server afssvr5.Stanford.EDU partition /vicepa RO Site + +and from the Host information one can tell what system is accessing that +volume. + +Note that the output of L also includes the access count, so +once the problem has been identified, vos examine can be used to see if the +access count is still increasing. Also remember that you can run vos +examine on the read-only replica (e.g., pubsw.matlab61.readonly) to see the +access counts on the read-only replica on all of the servers that it's +located on. + =head1 PRIVILEGE REQUIRED The issuer must be logged in as the superuser C on a file server -machine to issue the command at a command shell prompt. It is conventional +machine to issue the command at a command shell prompt. It is conventional instead to create and start the process by issuing the B command. @@ -413,7 +621,8 @@ L, L, L, L, -L +L, +L =head1 COPYRIGHT diff --git a/doc/man-pages/pod8/fstrace_apropos.pod b/doc/man-pages/pod8/fstrace_apropos.pod index 777d94b46..f24c8c378 100644 --- a/doc/man-pages/pod8/fstrace_apropos.pod +++ b/doc/man-pages/pod8/fstrace_apropos.pod @@ -1,6 +1,6 @@ =head1 NAME -fstrace apropos - Displays each help entry containing a keyword string +fstrace_apropos - Displays each help entry containing a keyword string =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/fstrace_clear.pod b/doc/man-pages/pod8/fstrace_clear.pod index b265d39f2..7de9e6bac 100644 --- a/doc/man-pages/pod8/fstrace_clear.pod +++ b/doc/man-pages/pod8/fstrace_clear.pod @@ -1,6 +1,6 @@ =head1 NAME -fstrace clear - Clears the trace log +fstrace_clear - Clears the trace log =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/fstrace_dump.pod b/doc/man-pages/pod8/fstrace_dump.pod index 59da7a387..81d659d8b 100644 --- a/doc/man-pages/pod8/fstrace_dump.pod +++ b/doc/man-pages/pod8/fstrace_dump.pod @@ -1,6 +1,6 @@ =head1 NAME -fstrace dump - Dumps a trace log +fstrace_dump - Dumps a trace log =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/fstrace_help.pod b/doc/man-pages/pod8/fstrace_help.pod index 7c3732fca..4a5912a37 100644 --- a/doc/man-pages/pod8/fstrace_help.pod +++ b/doc/man-pages/pod8/fstrace_help.pod @@ -1,6 +1,6 @@ =head1 NAME -fstrace help - Displays help for fstrace commands +fstrace_help - Displays help for fstrace commands =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/fstrace_lslog.pod b/doc/man-pages/pod8/fstrace_lslog.pod index 108e01974..41289cff8 100644 --- a/doc/man-pages/pod8/fstrace_lslog.pod +++ b/doc/man-pages/pod8/fstrace_lslog.pod @@ -1,6 +1,6 @@ =head1 NAME -fstrace lslog - Displays information about a log +fstrace_lslog - Displays information about a log =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/fstrace_lsset.pod b/doc/man-pages/pod8/fstrace_lsset.pod index 34ed0be1a..4d822acd1 100644 --- a/doc/man-pages/pod8/fstrace_lsset.pod +++ b/doc/man-pages/pod8/fstrace_lsset.pod @@ -1,6 +1,6 @@ =head1 NAME -fstrace lsset - Reports the status of an event set +fstrace_lsset - Reports the status of an event set =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/fstrace_setlog.pod b/doc/man-pages/pod8/fstrace_setlog.pod index ccf9dce6d..c82962d61 100644 --- a/doc/man-pages/pod8/fstrace_setlog.pod +++ b/doc/man-pages/pod8/fstrace_setlog.pod @@ -1,6 +1,6 @@ =head1 NAME -fstrace setlog - Sets the size of a trace log +fstrace_setlog - Sets the size of a trace log =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/fstrace_setset.pod b/doc/man-pages/pod8/fstrace_setset.pod index dcb47df49..808e76693 100644 --- a/doc/man-pages/pod8/fstrace_setset.pod +++ b/doc/man-pages/pod8/fstrace_setset.pod @@ -1,6 +1,6 @@ =head1 NAME -fstrace setset - Sets the status of an event set +fstrace_setset - Sets the status of an event set =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/kas_apropos.pod b/doc/man-pages/pod8/kas_apropos.pod index 27ced0fe2..3a3a1600e 100644 --- a/doc/man-pages/pod8/kas_apropos.pod +++ b/doc/man-pages/pod8/kas_apropos.pod @@ -1,6 +1,6 @@ =head1 NAME -kas apropos - Displays each help entry containing a keyword string +kas_apropos - Displays each help entry containing a keyword string =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/kas_create.pod b/doc/man-pages/pod8/kas_create.pod index e567eb35d..4f7491d51 100644 --- a/doc/man-pages/pod8/kas_create.pod +++ b/doc/man-pages/pod8/kas_create.pod @@ -1,6 +1,6 @@ =head1 NAME -kas create - Creates an entry in the Authentication Database +kas_create - Creates an entry in the Authentication Database =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/kas_delete.pod b/doc/man-pages/pod8/kas_delete.pod index f4288005c..9596d3860 100644 --- a/doc/man-pages/pod8/kas_delete.pod +++ b/doc/man-pages/pod8/kas_delete.pod @@ -1,6 +1,6 @@ =head1 NAME -kas delete - Deletes an entry from the Authentication Database +kas_delete - Deletes an entry from the Authentication Database =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/kas_examine.pod b/doc/man-pages/pod8/kas_examine.pod index 1f09c7491..ea62738c4 100644 --- a/doc/man-pages/pod8/kas_examine.pod +++ b/doc/man-pages/pod8/kas_examine.pod @@ -1,6 +1,6 @@ =head1 NAME -kas examine - Displays information from an Authentication Database entry +kas_examine - Displays information from an Authentication Database entry =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/kas_forgetticket.pod b/doc/man-pages/pod8/kas_forgetticket.pod index 6fe84065e..d9851290f 100644 --- a/doc/man-pages/pod8/kas_forgetticket.pod +++ b/doc/man-pages/pod8/kas_forgetticket.pod @@ -1,6 +1,6 @@ =head1 NAME -kas forgetticket - Discards all tickets for the issuer +kas_forgetticket - Discards all tickets for the issuer =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/kas_help.pod b/doc/man-pages/pod8/kas_help.pod index 9e4f0cf0c..a65a6694e 100644 --- a/doc/man-pages/pod8/kas_help.pod +++ b/doc/man-pages/pod8/kas_help.pod @@ -1,6 +1,6 @@ =head1 NAME -kas help - Displays help for kas commands +kas_help - Displays help for kas commands =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/kas_interactive.pod b/doc/man-pages/pod8/kas_interactive.pod index 8ea203142..bf7371564 100644 --- a/doc/man-pages/pod8/kas_interactive.pod +++ b/doc/man-pages/pod8/kas_interactive.pod @@ -1,6 +1,6 @@ =head1 NAME -kas interactive - Enters interactive mode +kas_interactive - Enters interactive mode =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/kas_list.pod b/doc/man-pages/pod8/kas_list.pod index 088993eb7..59d21ff5b 100644 --- a/doc/man-pages/pod8/kas_list.pod +++ b/doc/man-pages/pod8/kas_list.pod @@ -1,6 +1,6 @@ =head1 NAME -kas list - Displays all entries in the Authentication Database +kas_list - Displays all entries in the Authentication Database =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/kas_listtickets.pod b/doc/man-pages/pod8/kas_listtickets.pod index 126b3d309..8661c188f 100644 --- a/doc/man-pages/pod8/kas_listtickets.pod +++ b/doc/man-pages/pod8/kas_listtickets.pod @@ -1,6 +1,6 @@ =head1 NAME -kas listtickets - Displays all of the issuer's tickets (tokens) +kas_listtickets - Displays all of the issuer's tickets (tokens) =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/kas_noauthentication.pod b/doc/man-pages/pod8/kas_noauthentication.pod index f55f5f84b..5b34d53b0 100644 --- a/doc/man-pages/pod8/kas_noauthentication.pod +++ b/doc/man-pages/pod8/kas_noauthentication.pod @@ -1,6 +1,6 @@ =head1 NAME -kas noauthentication - Discards an authenticated identity in interactive mode +kas_noauthentication - Discards an authenticated identity in interactive mode =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/kas_quit.pod b/doc/man-pages/pod8/kas_quit.pod index 3ecd0cedf..ee8eec113 100644 --- a/doc/man-pages/pod8/kas_quit.pod +++ b/doc/man-pages/pod8/kas_quit.pod @@ -1,6 +1,6 @@ =head1 NAME -kas quit - Leaves interactive mode +kas_quit - Leaves interactive mode =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/kas_setfields.pod b/doc/man-pages/pod8/kas_setfields.pod index cb45b8c7b..2171a7b56 100644 --- a/doc/man-pages/pod8/kas_setfields.pod +++ b/doc/man-pages/pod8/kas_setfields.pod @@ -1,6 +1,6 @@ =head1 NAME -kas setfields - Sets fields in an Authentication Database entry +kas_setfields - Sets fields in an Authentication Database entry =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/kas_setpassword.pod b/doc/man-pages/pod8/kas_setpassword.pod index 897424dba..62839d112 100644 --- a/doc/man-pages/pod8/kas_setpassword.pod +++ b/doc/man-pages/pod8/kas_setpassword.pod @@ -1,6 +1,6 @@ =head1 NAME -kas setpassword - Changes the key field in an Authentication Database entry +kas_setpassword - Changes the key field in an Authentication Database entry =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/kas_statistics.pod b/doc/man-pages/pod8/kas_statistics.pod index 389429c31..fff0a6da6 100644 --- a/doc/man-pages/pod8/kas_statistics.pod +++ b/doc/man-pages/pod8/kas_statistics.pod @@ -1,6 +1,6 @@ =head1 NAME -kas statistics - Displays statistics from an Authentication Server process +kas_statistics - Displays statistics from an Authentication Server process =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/kas_stringtokey.pod b/doc/man-pages/pod8/kas_stringtokey.pod index 0f5d00bba..f9bb7fe2f 100644 --- a/doc/man-pages/pod8/kas_stringtokey.pod +++ b/doc/man-pages/pod8/kas_stringtokey.pod @@ -1,6 +1,6 @@ =head1 NAME -kas stringtokey - Converts a character string into an octal key +kas_stringtokey - Converts a character string into an octal key =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/kas_unlock.pod b/doc/man-pages/pod8/kas_unlock.pod index df37e613c..e7c22f54d 100644 --- a/doc/man-pages/pod8/kas_unlock.pod +++ b/doc/man-pages/pod8/kas_unlock.pod @@ -1,6 +1,6 @@ =head1 NAME -kas unlock - Unlocks a locked user account +kas_unlock - Unlocks a locked user account =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/ptserver.pod b/doc/man-pages/pod8/ptserver.pod index f14fd21ef..ef17e4546 100644 --- a/doc/man-pages/pod8/ptserver.pod +++ b/doc/man-pages/pod8/ptserver.pod @@ -9,7 +9,7 @@ ptserver - Initializes the Protection Server B S<<< [B<-database> >] >>> S<<< [B<-p> >] >>> [B<-rebuildDB>] [B<-enable_peer_stats>] [B<-enable_process_stats>] - [B<-help>] + [B<-allow-dotted-principal>] [B<-help>] =for html
@@ -90,6 +90,15 @@ GetStatus, and so on) sent or received, aggregated over all connections to other machines. To display or otherwise access the records, use the Rx Monitoring API. +=item B<-allow-dotted-principal> + +By default, the RXKAD security layer will disallow access by Kerberos +principals with a dot in the first component of their name. This is to avoid +the confusion where principals user/admin and user.admin are both mapped to the +user.admin PTS entry. Sites whose Kerberos realms don't have these collisions +between principal names may disabled this check by starting the server +with this option. + =item B<-help> Prints the online help for this command. All other valid options are diff --git a/doc/man-pages/pod8/read_tape.pod b/doc/man-pages/pod8/read_tape.pod new file mode 100644 index 000000000..d2990a8b6 --- /dev/null +++ b/doc/man-pages/pod8/read_tape.pod @@ -0,0 +1,108 @@ + +=head1 NAME + +read_tape - Reads volume dumps from a backup tape to a file + +=head1 SYNOPSIS + +=for html +
+ +B S<<< B<-tape> > >>> + S<<< B<-restore> > >>> + S<<< B<-skip> > >>> + S<<< B<-file> > >>> [B<-scan>] [B<-noask>] [B<-label>] + [B<-vheaders>] [B<-verbose>] [B<-help>] + +=for html +
+ +=head1 DESCRIPTION + +B reads an OpenAFS backup tape and prompts for each dump file to +save. This command does not require any OpenAFS infrastructure. This +command does not need an OpenAFS client or server to be available, which is +not the case with the L command. + +The dump files will be named for the Read/Write name of the volume restored. +After saving each dump file, B or B can be used to +restore the volume into AFS and non-AFS space respectively. + +B reads the tape while skipping the specified number of volumes. +After that, it restores the specified number of volumes. B +doesn't rewind the tape so that it may be used multiple times in succession. + +=head1 OPTIONS + +=over 4 + +=item B<-tape> > + +Specifies the tape device from which to restore. + +=item B<-restore> > + +Specifies the number of volumes to restore from tape. + +=item B<-skip> > + +Specifies the number of volumes to skip before starting the restore. + +=item B<-file> > + +Specifies an alternate name for the restored volume dump file rather than +the default of the volume name. + +=item B<-scan> + +Scans the tape. + +=item B<-noask> + +Doesn't prompt for each volume. + +=item B<-label> + +Displays the full dump label. + +=item B<-vheaders> + +Displays the full volume headers. + +=item B<-verbose> + +Produces on the standard output stream a detailed trace of the command's +execution. If this argument is omitted, only warnings and error messages +appear. + +=item B<-help> + +Prints the online help for this command. All other valid options are +ignored. + +=back + +=head1 EXAMPLES + +The following command will read the third through fifth volumes from +the tape device /dev/tape without prompting: + + % read_tape -tape /dev/tape -skip 2 -restore 3 -noask + +=head1 PRIVILEGE REQUIRED + +The issuer must have access to read and write to the specified tape device. + +=head1 SEE ALSO + +L, +L, +L + +=head1 COPYRIGHT + +Copyright 2007 Jason Edgecombe + +This documentation is covered by the BSD License as written in the +doc/LICENSE file. This man page was written by Jason Edgecombe for +OpenAFS. diff --git a/doc/man-pages/pod8/uss_add.pod b/doc/man-pages/pod8/uss_add.pod index 3babd7b35..0724f9591 100644 --- a/doc/man-pages/pod8/uss_add.pod +++ b/doc/man-pages/pod8/uss_add.pod @@ -1,6 +1,6 @@ =head1 NAME -uss add - Creates a user account +uss_add - Creates a user account =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/uss_apropos.pod b/doc/man-pages/pod8/uss_apropos.pod index e0a8f8e93..197766940 100644 --- a/doc/man-pages/pod8/uss_apropos.pod +++ b/doc/man-pages/pod8/uss_apropos.pod @@ -1,6 +1,6 @@ =head1 NAME -uss apropos - Displays each help entry containing a keyword string. +uss_apropos - Displays each help entry containing a keyword string. =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/uss_bulk.pod b/doc/man-pages/pod8/uss_bulk.pod index 9fbcbafc9..6de7bbef4 100644 --- a/doc/man-pages/pod8/uss_bulk.pod +++ b/doc/man-pages/pod8/uss_bulk.pod @@ -1,6 +1,6 @@ =head1 NAME -uss bulk - Executes multiple uss commands listed in a file +uss_bulk - Executes multiple uss commands listed in a file =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/uss_delete.pod b/doc/man-pages/pod8/uss_delete.pod index 0eb549d2c..1828bc718 100644 --- a/doc/man-pages/pod8/uss_delete.pod +++ b/doc/man-pages/pod8/uss_delete.pod @@ -1,6 +1,6 @@ =head1 NAME -uss delete - Deletes a user account +uss_delete - Deletes a user account =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/uss_help.pod b/doc/man-pages/pod8/uss_help.pod index dc309c1ee..b33792667 100644 --- a/doc/man-pages/pod8/uss_help.pod +++ b/doc/man-pages/pod8/uss_help.pod @@ -1,6 +1,6 @@ =head1 NAME -uss help - Displays help for uss commands +uss_help - Displays help for uss commands =head1 SYNOPSIS diff --git a/doc/man-pages/pod8/vlserver.pod b/doc/man-pages/pod8/vlserver.pod index 0d22718f2..5a03f1197 100644 --- a/doc/man-pages/pod8/vlserver.pod +++ b/doc/man-pages/pod8/vlserver.pod @@ -8,7 +8,8 @@ vlserver - Initializes the Volume Location Server
B S<<< [B<-p> >] >>> [B<-nojumbo>] - [B<-enable_peer_stats>] [B<-enable_process_stats>] [B<-help>] + [B<-allow-dotted-principal>] [B<-enable_peer_stats>] [B<-enable_process_stats>] + [B<-help>] =for html
@@ -83,6 +84,15 @@ GetStatus, and so on) sent or received, aggregated over all connections to other machines. To display or otherwise access the records, use the Rx Monitoring API. +=item B<-allow-dotted-principal> + +By default, the RXKAD security layer will disallow access by Kerberos +principals with a dot in the first component of their name. This is to avoid +the confusion where principals user/admin and user.admin are both mapped to the +user.admin PTS entry. Sites whose Kerberos realms don't have these collisions +between principal names may disabled this check by starting the server +with this option. + =item B<-help> Prints the online help for this command. All other valid options are diff --git a/doc/man-pages/pod8/volserver.pod b/doc/man-pages/pod8/volserver.pod index 559ad5b4f..8f13a06ae 100644 --- a/doc/man-pages/pod8/volserver.pod +++ b/doc/man-pages/pod8/volserver.pod @@ -9,7 +9,8 @@ volserver - Initializes the Volume Server component of the fs process B [B<-log>] S<<< [B<-p> >] >>> S<<< [B<-udpsize> >] >>> - [B<-enable_peer_stats>] [B<-enable_process_stats>] [B<-help>] + [B<-enable_peer_stats>] [B<-enable_process_stats>] + [B<-allow-dotted-principal>] [B<-help>] =for html @@ -77,6 +78,15 @@ GetStatus, and so on) sent or received, aggregated over all connections to other machines. To display or otherwise access the records, use the Rx Monitoring API. +=item B<-allow-dotted-principal> + +By default, the RXKAD security layer will disallow access by Kerberos +principals with a dot in the first component of their name. This is to avoid +the confusion where principals user/admin and user.admin are both mapped to the +user.admin PTS entry. Sites whose Kerberos realms don't have these collisions +between principal names may disabled this check by starting the server +with this option. + =item B<-help> Prints the online help for this command. All other valid options are diff --git a/src/JAVA/classes/org/openafs/jafs/Token.java b/src/JAVA/classes/org/openafs/jafs/Token.java index ae7b7dabb..d8f7dfa9e 100644 --- a/src/JAVA/classes/org/openafs/jafs/Token.java +++ b/src/JAVA/classes/org/openafs/jafs/Token.java @@ -143,6 +143,20 @@ public class Token implements Serializable, Comparable if (automaticallyLogin) login(); } + /** + * Constructs a new Token object instance given the + * name of the AFS cell it represents; the token for administrative + * access will be extracted from the kernel cache manager if possible. + * + * @param cellName the name of the cell to Token into + * @exception AFSException If an error occurs in the native code + */ + public Token(String cellName) + throws AFSException + { + this(null, null, cellName); + } + /** * Constructs a new Token object instance given * the name of the AFS cell it represents and the username and password diff --git a/src/JAVA/libjafs/AdminToken.c b/src/JAVA/libjafs/AdminToken.c index 80c85dcb8..a91abade1 100644 --- a/src/JAVA/libjafs/AdminToken.c +++ b/src/JAVA/libjafs/AdminToken.c @@ -30,6 +30,7 @@ #include #include #include +#include /** * Static function used to initialize the client library and the @@ -71,6 +72,7 @@ Java_org_openafs_jafs_Token_getToken const char *password; void *tokenHandle; int rc; + int err; // convert java strings if( jcellName != NULL ) { @@ -101,8 +103,11 @@ Java_org_openafs_jafs_Token_getToken password = NULL; } - if ( !(afsclient_TokenGetNew( cellName, userName, password, &tokenHandle, - &ast) ) ) { + err = (password==NULL || userName==NULL) + ? afsclient_TokenGetExisting( cellName, &tokenHandle, &ast) + : afsclient_TokenGetNew( cellName, userName, password, &tokenHandle, &ast); + + if ( !err ) { // release converted strings if( cellName != NULL ) { (*env)->ReleaseStringUTFChars(env, jcellName, cellName); diff --git a/src/JAVA/libjafs/Makefile.in b/src/JAVA/libjafs/Makefile.in index 27a313b39..3a78593ad 100644 --- a/src/JAVA/libjafs/Makefile.in +++ b/src/JAVA/libjafs/Makefile.in @@ -13,7 +13,7 @@ TOP_SRCDIR=@TOP_SRCDIR@ TOP_INCDIR=@TOP_INCDIR@ TOP_LIBDIR=@TOP_LIBDIR@ TOP_JLIBDIR=@TOP_SRCDIR@/JAVA/libjafs -JNI_INC=${JAVA_HOME}/include +JNI_INC=-I ${JAVA_HOME}/include -I `dirname ${JAVA_HOME}/include/*/jni_md.h` prefix=@prefix@ exec_prefix=@exec_prefix@ bindir=@bindir@ @@ -35,10 +35,10 @@ SHARED_FLAGS = -shared -Xlinker -Bsymbolic OBJECT_FLAGS = -fPIC -c ifeq "$(BUILD_TYPE)" "admin" - INC := -I${TOP_INCDIR} -I${TOP_INCDIR}/afs/ -I${JAVA_HOME}/include -I ${JNI_INC} + INC := -I${TOP_INCDIR} -I${TOP_INCDIR}/afs/ ${JNI_INC} CFLAGS := ${INC} ${DBG} ${OPTMZ} -I${TOP_SRCDIR}/config ${MT_CFLAGS} else - INC := -I${TOP_SRCDIR}/libuafs -I${TOP_INCDIR} -I${JAVA_HOME}/include -I ${JNI_INC} + INC := -I${TOP_SRCDIR}/libuafs -I${TOP_INCDIR} ${JNI_INC} CFLAGS := ${INC} ${DBG} ${OPTMZ} ${FSINCLUDES} -D_REENTRANT -DLIBJUAFS ${MT_CFLAGS} endif @@ -50,7 +50,7 @@ PACKAGEDIR = ${ROOTPACKAGEDIR}/${RELPACKAGEDIR} JAVADOCSDIR = javadocs/ JAVAH = ${JAVA_HOME}/bin/javah -classpath ${ROOTPACKAGEDIR} -jni -d ${LIBJAFSADMDIR} -JAVAC = ${JAVA_HOME}/bin/javac -classpath ${ROOTPACKAGEDIR} +JAVAC = ${JAVA_HOME}/bin/javac -source 1.4 -classpath ${ROOTPACKAGEDIR} J_NATIVE_PREFIX = org.openafs.jafs. C_NATIVE_PREFIX = org_openafs_jafs_ @@ -153,6 +153,7 @@ CLIENTADMINLIB = ${TOP_LIBDIR}/libclientadmin.a LIBJAFS_LIBS =\ ${TOP_LIBDIR}/libjuafs.a \ + ${TOP_LIBDIR}/libafsutil.a \ ${TOP_LIBDIR}/libdes.a \ -lresolv \ -lpthread diff --git a/src/afs/AIX/osi_file.c b/src/afs/AIX/osi_file.c index ada4319d9..8264c03ca 100644 --- a/src/afs/AIX/osi_file.c +++ b/src/afs/AIX/osi_file.c @@ -11,7 +11,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/AIX/osi_file.c,v 1.9.2.2 2007/08/16 03:54:26 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/AIX/osi_file.c,v 1.9.2.3 2007/12/13 19:18:49 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -272,8 +272,6 @@ afs_osi_MapStrategy(int (*aproc) (), register struct buf *bp) void shutdown_osifile(void) { - extern int afs_cold_shutdown; - AFS_STATCNT(shutdown_osifile); if (afs_cold_shutdown) { afs_osicred_initialized = 0; diff --git a/src/afs/AIX/osi_vfsops.c b/src/afs/AIX/osi_vfsops.c index 2a0c4fb5a..959f13689 100644 --- a/src/afs/AIX/osi_vfsops.c +++ b/src/afs/AIX/osi_vfsops.c @@ -14,7 +14,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/AIX/osi_vfsops.c,v 1.11.2.1 2004/08/25 07:16:15 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/AIX/osi_vfsops.c,v 1.11.2.2 2007/12/13 19:18:49 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -34,8 +34,6 @@ extern struct afs_exporter *afs_nfsexporter; struct vfs *afs_globalVFS = 0; struct vcache *afs_globalVp = 0; -extern int afs_cold_shutdown; - static int afs_root_nolock(struct vfs *afsp, struct vnode **avpp); static int diff --git a/src/afs/DARWIN/osi_file.c b/src/afs/DARWIN/osi_file.c index 95909a869..2260ecde3 100644 --- a/src/afs/DARWIN/osi_file.c +++ b/src/afs/DARWIN/osi_file.c @@ -11,7 +11,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/DARWIN/osi_file.c,v 1.8.2.7 2007/10/10 16:57:55 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/DARWIN/osi_file.c,v 1.8.2.8 2007/12/13 19:18:49 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -418,8 +418,6 @@ afs_osi_Write(register struct osi_file *afile, afs_int32 offset, void *aptr, void shutdown_osifile(void) { - extern int afs_cold_shutdown; - AFS_STATCNT(shutdown_osifile); if (afs_cold_shutdown) { afs_osicred_initialized = 0; diff --git a/src/afs/DARWIN/osi_vnodeops.c b/src/afs/DARWIN/osi_vnodeops.c index 7fad134a7..97a200dba 100644 --- a/src/afs/DARWIN/osi_vnodeops.c +++ b/src/afs/DARWIN/osi_vnodeops.c @@ -5,7 +5,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/afs/DARWIN/osi_vnodeops.c,v 1.18.2.28 2007/10/24 05:45:38 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/DARWIN/osi_vnodeops.c,v 1.18.2.29 2007/11/27 20:04:13 shadow Exp $"); #include /* Standard vendor system headers */ #include /* Afs-based standard headers */ @@ -743,6 +743,9 @@ afs_vop_read(ap) int code; struct vnode *vp = ap->a_vp; struct vcache *avc = VTOAFS(vp); + + if (vnode_isdir(ap->a_vp)) + return EISDIR; #ifdef AFS_DARWIN80_ENV ubc_sync_range(ap->a_vp, AFS_UIO_OFFSET(ap->a_uio), AFS_UIO_OFFSET(ap->a_uio) + AFS_UIO_RESID(ap->a_uio), UBC_PUSHDIRTY); #else diff --git a/src/afs/DUX/osi_file.c b/src/afs/DUX/osi_file.c index 4744a96e5..f83a90c60 100644 --- a/src/afs/DUX/osi_file.c +++ b/src/afs/DUX/osi_file.c @@ -11,7 +11,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/DUX/Attic/osi_file.c,v 1.9 2003/07/15 23:14:18 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/DUX/Attic/osi_file.c,v 1.9.2.1 2007/12/13 19:18:50 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -279,8 +279,6 @@ afs_osi_MapStrategy(int (*aproc) (), register struct buf *bp) void shutdown_osifile(void) { - extern int afs_cold_shutdown; - AFS_STATCNT(shutdown_osifile); if (afs_cold_shutdown) { afs_osicred_initialized = 0; diff --git a/src/afs/FBSD/osi_file.c b/src/afs/FBSD/osi_file.c index bd87a486a..e31db7381 100644 --- a/src/afs/FBSD/osi_file.c +++ b/src/afs/FBSD/osi_file.c @@ -11,7 +11,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/FBSD/osi_file.c,v 1.13.2.1 2006/11/09 23:26:25 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/FBSD/osi_file.c,v 1.13.2.2 2007/12/13 19:18:50 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -244,8 +244,6 @@ afs_osi_MapStrategy(int (*aproc) (), register struct buf *bp) void shutdown_osifile(void) { - extern int afs_cold_shutdown; - AFS_STATCNT(shutdown_osifile); if (afs_cold_shutdown) { afs_osicred_initialized = 0; diff --git a/src/afs/HPUX/osi_file.c b/src/afs/HPUX/osi_file.c index 88aab1dfc..e389c55f6 100644 --- a/src/afs/HPUX/osi_file.c +++ b/src/afs/HPUX/osi_file.c @@ -11,7 +11,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/HPUX/osi_file.c,v 1.8.2.1 2006/11/09 23:26:26 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/HPUX/osi_file.c,v 1.8.2.2 2007/12/13 19:18:50 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -223,8 +223,6 @@ afs_osi_Write(register struct osi_file *afile, afs_int32 offset, void *aptr, void shutdown_osifile(void) { - extern int afs_cold_shutdown; - AFS_STATCNT(shutdown_osifile); if (afs_cold_shutdown) { afs_osicred_initialized = 0; diff --git a/src/afs/IRIX/osi_file.c b/src/afs/IRIX/osi_file.c index 1f9ca6788..265c86b8f 100644 --- a/src/afs/IRIX/osi_file.c +++ b/src/afs/IRIX/osi_file.c @@ -11,7 +11,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/IRIX/osi_file.c,v 1.11.2.1 2006/11/09 23:26:26 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/IRIX/osi_file.c,v 1.11.2.2 2007/12/13 19:18:53 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -262,8 +262,6 @@ afs_osi_MapStrategy(int (*aproc) (), register struct buf *bp) void shutdown_osifile(void) { - extern int afs_cold_shutdown; - AFS_STATCNT(shutdown_osifile); if (afs_cold_shutdown) { afs_osicred_initialized = 0; diff --git a/src/afs/IRIX/osi_vfsops.c b/src/afs/IRIX/osi_vfsops.c index 0670623d0..bdf14b486 100644 --- a/src/afs/IRIX/osi_vfsops.c +++ b/src/afs/IRIX/osi_vfsops.c @@ -14,7 +14,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/IRIX/osi_vfsops.c,v 1.13.2.1 2004/08/25 07:09:34 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/IRIX/osi_vfsops.c,v 1.13.2.2 2007/12/13 19:18:53 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -207,7 +207,6 @@ afs_unmount(OSI_VFS_ARG(afsp), flags, cr) int flags; cred_t *cr; { - extern int afs_afs_cold_shutdown; struct vcache *tvc; vnode_t *vp, *rootvp = NULL; register struct afs_q *tq; diff --git a/src/afs/LINUX/osi_file.c b/src/afs/LINUX/osi_file.c index 05c0d561d..4162eac3b 100644 --- a/src/afs/LINUX/osi_file.c +++ b/src/afs/LINUX/osi_file.c @@ -11,7 +11,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/LINUX/osi_file.c,v 1.19.2.11 2006/11/09 23:26:26 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/LINUX/osi_file.c,v 1.19.2.15 2008/03/23 00:54:01 shadow Exp $"); #ifdef AFS_LINUX24_ENV #include "h/module.h" /* early to avoid printf->printk mapping */ @@ -20,7 +20,9 @@ RCSID #include "afsincludes.h" /* Afs-based standard headers */ #include "afs/afs_stats.h" /* afs statistics */ #include "h/smp_lock.h" - +#if !defined(HAVE_IGET) +#include "h/exportfs.h" +#endif int afs_osicred_initialized = 0; struct AFS_UCRED afs_osi_cred; @@ -40,6 +42,9 @@ osi_UFSOpen(afs_int32 ainode) struct inode *tip = NULL; struct dentry *dp = NULL; struct file *filp = NULL; +#if !defined(HAVE_IGET) + struct fid fid; +#endif AFS_STATCNT(osi_UFSOpen); if (cacheDiskType != AFS_FCACHE_TYPE_UFS) { osi_Panic("UFSOpen called for non-UFS cache\n"); @@ -57,14 +62,17 @@ osi_UFSOpen(afs_int32 ainode) sizeof(struct osi_file)); } memset(afile, 0, sizeof(struct osi_file)); +#if defined(HAVE_IGET) tip = iget(afs_cacheSBp, (u_long) ainode); - if (!tip) - osi_Panic("Can't get inode %d\n", ainode); - tip->i_flags |= MS_NOATIME; /* Disable updating access times. */ - - dp = d_alloc_anon(tip); +#else + fid.i32.ino = ainode; + fid.i32.gen = 0; + dp = afs_cacheSBp->s_export_op->fh_to_dentry(afs_cacheSBp, &fid, sizeof(fid), FILEID_INO32_GEN); if (!dp) osi_Panic("Can't get dentry for inode %d\n", ainode); + tip = dp->d_inode; +#endif + tip->i_flags |= MS_NOATIME; /* Disable updating access times. */ filp = dentry_open(dp, mntget(afs_cacheMnt), O_RDWR); if (IS_ERR(filp)) @@ -348,8 +356,6 @@ afs_osi_MapStrategy(int (*aproc) (struct buf * bp), register struct buf *bp) void shutdown_osifile(void) { - extern int afs_cold_shutdown; - AFS_STATCNT(shutdown_osifile); if (afs_cold_shutdown) { afs_osicred_initialized = 0; diff --git a/src/afs/LINUX/osi_groups.c b/src/afs/LINUX/osi_groups.c index a34ecb7a0..bd8f2502f 100644 --- a/src/afs/LINUX/osi_groups.c +++ b/src/afs/LINUX/osi_groups.c @@ -20,7 +20,7 @@ #endif RCSID - ("$Header: /cvs/openafs/src/afs/LINUX/osi_groups.c,v 1.25.2.10 2007/03/20 18:48:52 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/LINUX/osi_groups.c,v 1.25.2.14 2008/03/10 16:48:56 shadow Exp $"); #include "afs/sysincludes.h" #include "afsincludes.h" @@ -222,7 +222,8 @@ __setpag(cred_t **cr, afs_uint32 pagvalue, afs_uint32 *newpag, } #ifdef LINUX_KEYRING_SUPPORT -static struct key_type *__key_type_keyring; +extern struct key_type key_type_keyring __attribute__((weak)); +static struct key_type *__key_type_keyring = &key_type_keyring; static int install_session_keyring(struct task_struct *task, struct key *keyring) @@ -624,29 +625,32 @@ extern rwlock_t tasklist_lock __attribute__((weak)); void osi_keyring_init(void) { struct task_struct *p; + + if (__key_type_keyring == NULL) { #ifdef EXPORTED_TASKLIST_LOCK - if (&tasklist_lock) - read_lock(&tasklist_lock); + if (&tasklist_lock) + read_lock(&tasklist_lock); #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16) -#ifdef EXPORTED_TASKLIST_LOCK - else -#endif - rcu_read_lock(); +# ifdef EXPORTED_TASKLIST_LOCK + else +# endif + rcu_read_lock(); #endif - p = find_task_by_pid(1); - if (p && p->user->session_keyring) - __key_type_keyring = p->user->session_keyring->type; + p = find_task_by_pid(1); + if (p && p->user->session_keyring) + __key_type_keyring = p->user->session_keyring->type; #ifdef EXPORTED_TASKLIST_LOCK - if (&tasklist_lock) - read_unlock(&tasklist_lock); + if (&tasklist_lock) + read_unlock(&tasklist_lock); #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16) -#ifdef EXPORTED_TASKLIST_LOCK - else -#endif - rcu_read_unlock(); +# ifdef EXPORTED_TASKLIST_LOCK + else +# endif + rcu_read_unlock(); #endif + } register_key_type(&key_type_afs_pag); } diff --git a/src/afs/LINUX/osi_machdep.h b/src/afs/LINUX/osi_machdep.h index 836a98df1..d398c7e85 100644 --- a/src/afs/LINUX/osi_machdep.h +++ b/src/afs/LINUX/osi_machdep.h @@ -76,7 +76,18 @@ #define afs_hz HZ #include "h/sched.h" +#if defined(HAVE_CURRENT_KERNEL_TIME) +static inline time_t osi_Time(void) { + struct timespec xtime; + xtime = current_kernel_time(); + return xtime.tv_sec; +} +#else #define osi_Time() (xtime.tv_sec) +#endif + + + #ifdef AFS_LINUX_64BIT_KERNEL #define osi_GetTime(V) \ do { \ diff --git a/src/afs/LINUX/osi_misc.c b/src/afs/LINUX/osi_misc.c index 41bec5b2a..29eb1c0df 100644 --- a/src/afs/LINUX/osi_misc.c +++ b/src/afs/LINUX/osi_misc.c @@ -15,7 +15,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/LINUX/osi_misc.c,v 1.34.2.10 2005/07/11 19:29:56 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/LINUX/osi_misc.c,v 1.34.2.12 2008/03/10 19:05:28 shadow Exp $"); #include "afs/sysincludes.h" #include "afsincludes.h" @@ -52,10 +52,17 @@ osi_lookupname_internal(char *aname, int followlink, struct vfsmount **mnt, #endif if (!code) { +#if defined(STRUCT_NAMEIDATA_HAS_PATH) + *dpp = dget(nd.path.dentry); + if (mnt) + *mnt = mntget(nd.path.mnt); + path_put(&nd.path); +#else *dpp = dget(nd.dentry); if (mnt) *mnt = mntget(nd.mnt); path_release(&nd); +#endif } return code; } @@ -348,8 +355,6 @@ osi_linux_free_inode_pages(void) } } -struct task_struct *rxk_ListenerTask; - void osi_linux_mask(void) { @@ -358,9 +363,3 @@ osi_linux_mask(void) RECALC_SIGPENDING(current); SIG_UNLOCK(current); } - -void -osi_linux_rxkreg(void) -{ - rxk_ListenerTask = current; -} diff --git a/src/afs/LINUX/osi_sysctl.c b/src/afs/LINUX/osi_sysctl.c index 56c0bcb8c..9303083d1 100644 --- a/src/afs/LINUX/osi_sysctl.c +++ b/src/afs/LINUX/osi_sysctl.c @@ -1,7 +1,7 @@ /* * osi_sysctl.c: Linux sysctl interface to OpenAFS * - * $Id: osi_sysctl.c,v 1.7.2.5 2007/06/12 18:28:49 shadow Exp $ + * $Id: osi_sysctl.c,v 1.7.2.6 2007/11/23 13:45:04 shadow Exp $ * * Written Jan 30, 2002 by Kris Van Hees (Sine Nomine Associates) */ @@ -28,7 +28,11 @@ static struct ctl_table_header *afs_sysctl = NULL; static ctl_table afs_sysctl_table[] = { { +#if defined(SYSCTL_TABLE_CHECKING) + .ctl_name = CTL_UNNUMBERED, +#else .ctl_name = 1, +#endif .procname = "hm_retry_RO", .data = &hm_retry_RO, .maxlen = sizeof(afs_int32), @@ -36,7 +40,11 @@ static ctl_table afs_sysctl_table[] = { .proc_handler = &proc_dointvec }, { +#if defined(SYSCTL_TABLE_CHECKING) + .ctl_name = CTL_UNNUMBERED, +#else .ctl_name = 2, +#endif .procname = "hm_retry_RW", .data = &hm_retry_RW, .maxlen = sizeof(afs_int32), @@ -44,7 +52,11 @@ static ctl_table afs_sysctl_table[] = { .proc_handler = &proc_dointvec }, { +#if defined(SYSCTL_TABLE_CHECKING) + .ctl_name = CTL_UNNUMBERED, +#else .ctl_name = 3, +#endif .procname = "hm_retry_int", .data = &hm_retry_int, .maxlen = sizeof(afs_int32), @@ -52,7 +64,11 @@ static ctl_table afs_sysctl_table[] = { .proc_handler = &proc_dointvec }, { +#if defined(SYSCTL_TABLE_CHECKING) + .ctl_name = CTL_UNNUMBERED, +#else .ctl_name = 4, +#endif .procname = "GCPAGs", .data = &afs_gcpags, .maxlen = sizeof(afs_int32), @@ -60,7 +76,11 @@ static ctl_table afs_sysctl_table[] = { .proc_handler = &proc_dointvec }, { +#if defined(SYSCTL_TABLE_CHECKING) + .ctl_name = CTL_UNNUMBERED, +#else .ctl_name = 5, +#endif .procname = "rx_deadtime", .data = &afs_rx_deadtime, .maxlen = sizeof(afs_int32), @@ -68,7 +88,11 @@ static ctl_table afs_sysctl_table[] = { .proc_handler = &proc_dointvec }, { +#if defined(SYSCTL_TABLE_CHECKING) + .ctl_name = CTL_UNNUMBERED, +#else .ctl_name = 6, +#endif .procname = "bkVolPref", .data = &afs_bkvolpref, .maxlen = sizeof(afs_int32), @@ -80,7 +104,11 @@ static ctl_table afs_sysctl_table[] = { static ctl_table fs_sysctl_table[] = { { +#if defined(SYSCTL_TABLE_CHECKING) + .ctl_name = CTL_UNNUMBERED, +#else .ctl_name = 1, +#endif .procname = "afs", .mode = 0555, .child = afs_sysctl_table diff --git a/src/afs/LINUX/osi_vfsops.c b/src/afs/LINUX/osi_vfsops.c index 421637ba2..d7fc11911 100644 --- a/src/afs/LINUX/osi_vfsops.c +++ b/src/afs/LINUX/osi_vfsops.c @@ -16,7 +16,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/LINUX/osi_vfsops.c,v 1.29.2.26 2007/10/15 12:42:26 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/LINUX/osi_vfsops.c,v 1.29.2.28 2007/11/23 13:45:04 shadow Exp $"); #define __NO_VERSION__ /* don't define kernel_version in module.h */ #include /* early to avoid printf->printk mapping */ @@ -295,8 +295,12 @@ static void #if defined(HAVE_KMEM_CACHE_T) init_once(void * foo, kmem_cache_t * cachep, unsigned long flags) #else +#if defined(KMEM_CACHE_INIT) +init_once(struct kmem_cache * cachep, void * foo) +#else init_once(void * foo, struct kmem_cache * cachep, unsigned long flags) #endif +#endif { struct vcache *vcp = (struct vcache *) foo; @@ -531,8 +535,11 @@ vattr2inode(struct inode *ip, struct vattr *vp) ip->i_size = vp->va_size; #if defined(AFS_LINUX26_ENV) ip->i_atime.tv_sec = vp->va_atime.tv_sec; + ip->i_atime.tv_nsec = 0; ip->i_mtime.tv_sec = vp->va_mtime.tv_sec; + ip->i_mtime.tv_nsec = 0; ip->i_ctime.tv_sec = vp->va_ctime.tv_sec; + ip->i_ctime.tv_nsec = 0; #else ip->i_atime = vp->va_atime.tv_sec; ip->i_mtime = vp->va_mtime.tv_sec; diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c index 982a3cc17..4bf1511dc 100644 --- a/src/afs/LINUX/osi_vnodeops.c +++ b/src/afs/LINUX/osi_vnodeops.c @@ -22,7 +22,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v 1.81.2.57 2007/10/15 12:42:26 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v 1.81.2.60 2007/11/27 19:32:43 shadow Exp $"); #include "afs/sysincludes.h" #include "afsincludes.h" @@ -642,6 +642,10 @@ struct file_operations afs_file_fops = { .flush = afs_linux_flush, #if defined(AFS_LINUX26_ENV) && defined(STRUCT_FILE_OPERATIONS_HAS_SENDFILE) .sendfile = generic_file_sendfile, +#endif +#if defined(AFS_LINUX26_ENV) && defined(STRUCT_FILE_OPERATIONS_HAS_SPLICE) + .splice_write = generic_file_splice_write, + .splice_read = generic_file_splice_read, #endif .release = afs_linux_release, .fsync = afs_linux_fsync, @@ -878,6 +882,15 @@ afs_dentry_iput(struct dentry *dp, struct inode *ip) AFS_GLOCK(); (void) afs_InactiveVCache(vcp, NULL); AFS_GUNLOCK(); +#ifdef DCACHE_NFSFS_RENAMED +#ifdef AFS_LINUX26_ENV + spin_lock(&dp->d_lock); +#endif + dp->d_flags &= ~DCACHE_NFSFS_RENAMED; +#ifdef AFS_LINUX26_ENV + spin_unlock(&dp->d_lock); +#endif +#endif iput(ip); } @@ -939,6 +952,7 @@ afs_linux_create(struct inode *dip, struct dentry *dp, int mode) afs_getattr(vcp, &vattr, credp); afs_fill_inode(ip, &vattr); + insert_inode_hash(ip); dp->d_op = &afs_dentry_operations; dp->d_time = hgetlo(VTOAFS(dip)->m.DataVersion); d_instantiate(dp, ip); @@ -984,6 +998,8 @@ afs_linux_lookup(struct inode *dip, struct dentry *dp) ip = AFSTOV(vcp); afs_getattr(vcp, &vattr, credp); afs_fill_inode(ip, &vattr); + if (hlist_unhashed(&ip->i_hash)) + insert_inode_hash(ip); } dp->d_op = &afs_dentry_operations; dp->d_time = hgetlo(VTOAFS(dip)->m.DataVersion); @@ -1095,6 +1111,15 @@ afs_linux_unlink(struct inode *dip, struct dentry *dp) } tvc->uncred = credp; tvc->states |= CUnlinked; +#ifdef DCACHE_NFSFS_RENAMED +#ifdef AFS_LINUX26_ENV + spin_lock(&dp->d_lock); +#endif + dp->d_flags |= DCACHE_NFSFS_RENAMED; +#ifdef AFS_LINUX26_ENV + spin_unlock(&dp->d_lock); +#endif +#endif } else { osi_FreeSmallSpace(__name); } @@ -1822,5 +1847,4 @@ afs_fill_inode(struct inode *ip, struct vattr *vattr) #endif } - /* insert_inode_hash(ip); -- this would make iget() work (if we used it) */ } diff --git a/src/afs/NBSD/osi_file.c b/src/afs/NBSD/osi_file.c index 4e08edaf9..99331d05e 100644 --- a/src/afs/NBSD/osi_file.c +++ b/src/afs/NBSD/osi_file.c @@ -11,7 +11,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/NBSD/osi_file.c,v 1.5.2.1 2006/11/09 23:26:26 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/NBSD/osi_file.c,v 1.5.2.2 2007/12/13 19:18:55 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -224,8 +224,6 @@ afs_osi_MapStrategy(int (*aproc) (), register struct buf *bp) void shutdown_osifile(void) { - extern int afs_cold_shutdown; - AFS_STATCNT(shutdown_osifile); if (afs_cold_shutdown) { afs_osicred_initialized = 0; diff --git a/src/afs/OBSD/osi_file.c b/src/afs/OBSD/osi_file.c index 724f03cf8..5433633d1 100644 --- a/src/afs/OBSD/osi_file.c +++ b/src/afs/OBSD/osi_file.c @@ -11,7 +11,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/OBSD/osi_file.c,v 1.10.2.2 2006/11/09 23:26:26 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/OBSD/osi_file.c,v 1.10.2.3 2008/01/04 17:56:41 rees Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afs/afsincludes.h" /* Afs-based standard headers */ @@ -136,7 +136,7 @@ osi_DisableAtimes(struct vnode *avp) int afs_osi_Read(struct osi_file *afile, int offset, void *aptr, afs_int32 asize) { - unsigned int resid; + size_t resid; afs_int32 code; AFS_STATCNT(osi_Read); @@ -164,8 +164,8 @@ afs_osi_Read(struct osi_file *afile, int offset, void *aptr, afs_int32 asize) afile->offset += code; osi_DisableAtimes(afile->vnode); } else { - afs_Trace2(afs_iclSetp, CM_TRACE_READFAILED, ICL_TYPE_INT32, resid, - ICL_TYPE_INT32, code); + afs_Trace2(afs_iclSetp, CM_TRACE_READFAILED, ICL_TYPE_INT32, + (unsigned int) resid, ICL_TYPE_INT32, code); code = -1; } return code; @@ -176,7 +176,7 @@ int afs_osi_Write(struct osi_file *afile, afs_int32 offset, void *aptr, afs_int32 asize) { - unsigned int resid; + size_t resid; afs_int32 code; AFS_STATCNT(osi_Write); diff --git a/src/afs/OBSD/osi_machdep.h b/src/afs/OBSD/osi_machdep.h index 9b7ac833d..c8c96930d 100644 --- a/src/afs/OBSD/osi_machdep.h +++ b/src/afs/OBSD/osi_machdep.h @@ -16,7 +16,7 @@ * afs_osi.h. */ -/* $Id: osi_machdep.h,v 1.16.2.8 2006/11/10 00:08:56 shadow Exp $ */ +/* $Id: osi_machdep.h,v 1.16.2.9 2008/01/04 17:53:37 rees Exp $ */ #ifndef _OSI_MACHDEP_H_ #define _OSI_MACHDEP_H_ @@ -69,7 +69,7 @@ /* time */ #define afs_hz hz #define osi_GetTime(x) microtime(x) -#define osi_Time() (time.tv_sec) +extern time_t osi_Time(); /* str */ #define afs_strcasecmp(s1, s2) strncasecmp((s1), (s2), 65535) diff --git a/src/afs/OBSD/osi_sleep.c b/src/afs/OBSD/osi_sleep.c index e6a36b542..a8abf5682 100644 --- a/src/afs/OBSD/osi_sleep.c +++ b/src/afs/OBSD/osi_sleep.c @@ -1,5 +1,5 @@ /* - * $Id: osi_sleep.c,v 1.7.2.2 2005/07/28 21:48:35 shadow Exp $ + * $Id: osi_sleep.c,v 1.7.2.3 2008/01/04 17:53:37 rees Exp $ */ /* @@ -45,7 +45,7 @@ such damages. #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/OBSD/osi_sleep.c,v 1.7.2.2 2005/07/28 21:48:35 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/OBSD/osi_sleep.c,v 1.7.2.3 2008/01/04 17:53:37 rees Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afs/afsincludes.h" /* Afs-based standard headers */ @@ -54,6 +54,21 @@ RCSID static char waitV; +time_t +osi_Time() +{ + struct timeval now; + + getmicrotime(&now); + return now.tv_sec; +} + +void +afs_osi_SetTime(osi_timeval_t * atv) +{ + printf("afs attempted to set clock; use \"afsd -nosettime\"\n"); +} + /* cancel osi_Wait */ void afs_osi_CancelWait(struct afs_osi_WaitHandle *achandle) @@ -76,13 +91,14 @@ int afs_osi_Wait(afs_int32 ams, struct afs_osi_WaitHandle *ahandle, int aintok) { int timo, code = 0; - struct timeval atv, endTime; + struct timeval atv, now, endTime; AFS_STATCNT(osi_Wait); atv.tv_sec = ams / 1000; atv.tv_usec = (ams % 1000) * 1000; - timeradd(&atv, &time, &endTime); + getmicrotime(&now); + timeradd(&atv, &now, &endTime); if (ahandle) ahandle->proc = (caddr_t) curproc; @@ -90,7 +106,7 @@ afs_osi_Wait(afs_int32 ams, struct afs_osi_WaitHandle *ahandle, int aintok) AFS_GUNLOCK(); do { - timersub(&endTime, &time, &atv); + timersub(&endTime, &now, &atv); timo = atv.tv_sec * hz + atv.tv_usec * hz / 1000000 + 1; if (aintok) { code = tsleep(&waitV, PCATCH | PVFS, "afs_W1", timo); @@ -104,7 +120,8 @@ afs_osi_Wait(afs_int32 ams, struct afs_osi_WaitHandle *ahandle, int aintok) /* we've been signalled */ break; } - } while (timercmp(&time, &endTime, <)); + getmicrotime(&now); + } while (timercmp(&now, &endTime, <)); AFS_GLOCK(); return code; diff --git a/src/afs/OBSD/osi_vm.c b/src/afs/OBSD/osi_vm.c index 51746e1fb..e6e37f1f1 100644 --- a/src/afs/OBSD/osi_vm.c +++ b/src/afs/OBSD/osi_vm.c @@ -22,12 +22,12 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/OBSD/osi_vm.c,v 1.2 2003/07/15 23:14:25 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/OBSD/osi_vm.c,v 1.2.2.1 2008/01/03 17:15:19 rees Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afs/afsincludes.h" /* Afs-based standard headers */ #include "afs/afs_stats.h" /* statistics */ -/* #include */ +#include #include #include @@ -50,6 +50,16 @@ RCSID int osi_VM_FlushVCache(struct vcache *avc, int *slept) { + struct vnode *vp = AFSTOV(avc); + + if (!vp) + return 0; + AFS_GUNLOCK(); + + cache_purge(vp); + uvm_vnp_uncache(vp); + + AFS_GLOCK(); return 0; } @@ -57,6 +67,7 @@ osi_VM_FlushVCache(struct vcache *avc, int *slept) * * Locking: the vcache entry's lock is held. It will usually be dropped and * re-obtained. + * */ void osi_VM_StoreAllSegments(struct vcache *avc) @@ -75,6 +86,9 @@ osi_VM_StoreAllSegments(struct vcache *avc) void osi_VM_TryToSmush(struct vcache *avc, struct AFS_UCRED *acred, int sync) { + ReleaseWriteLock(&avc->lock); + osi_VM_FlushVCache(avc, NULL); + ObtainWriteLock(&avc->lock, 59); } /* Purge VM for a file when its callback is revoked. @@ -84,6 +98,13 @@ osi_VM_TryToSmush(struct vcache *avc, struct AFS_UCRED *acred, int sync) void osi_VM_FlushPages(struct vcache *avc, struct AFS_UCRED *credp) { + struct vnode *vp = AFSTOV(avc); + + if (!vp) + return; + cache_purge(vp); + uvm_vnp_uncache(vp); + uvm_vnp_setsize(vp, avc->m.Length); } /* Purge pages beyond end-of-file, when truncating a file. @@ -95,4 +116,5 @@ osi_VM_FlushPages(struct vcache *avc, struct AFS_UCRED *credp) void osi_VM_Truncate(struct vcache *avc, int alen, struct AFS_UCRED *acred) { + uvm_vnp_setsize(AFSTOV(avc), alen); } diff --git a/src/afs/OBSD/osi_vnodeops.c b/src/afs/OBSD/osi_vnodeops.c index 3e08bb4b8..c28613e63 100644 --- a/src/afs/OBSD/osi_vnodeops.c +++ b/src/afs/OBSD/osi_vnodeops.c @@ -3,7 +3,7 @@ * Original NetBSD version for Transarc afs by John Kohl * OpenBSD version by Jim Rees * - * $Id: osi_vnodeops.c,v 1.18.2.2 2006/06/23 14:21:12 rees Exp $ + * $Id: osi_vnodeops.c,v 1.18.2.5 2008/01/08 17:06:59 rees Exp $ */ /* @@ -99,7 +99,7 @@ NONINFRINGEMENT. #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/OBSD/osi_vnodeops.c,v 1.18.2.2 2006/06/23 14:21:12 rees Exp $"); + ("$Header: /cvs/openafs/src/afs/OBSD/osi_vnodeops.c,v 1.18.2.5 2008/01/08 17:06:59 rees Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afs/afsincludes.h" /* Afs-based standard headers */ @@ -920,6 +920,12 @@ afs_nbsd_reclaim(void *v) #endif } +#ifdef AFS_OBSD42_ENV +#define VP_INTERLOCK NULL +#else +#define VP_INTERLOCK (&vp->v_interlock) +#endif + int afs_nbsd_lock(void *v) { @@ -933,8 +939,7 @@ afs_nbsd_lock(void *v) if (!vc) panic("afs_nbsd_lock: null vcache"); - return afs_osi_lockmgr(&vc->rwlock, ap->a_flags | LK_CANRECURSE, &vp->v_interlock, - ap->a_p); + return afs_osi_lockmgr(&vc->rwlock, ap->a_flags | LK_CANRECURSE, VP_INTERLOCK, ap->a_p); } int @@ -950,8 +955,7 @@ afs_nbsd_unlock(void *v) if (!vc) panic("afs_nbsd_unlock: null vcache"); - return afs_osi_lockmgr(&vc->rwlock, ap->a_flags | LK_RELEASE, &vp->v_interlock, - ap->a_p); + return afs_osi_lockmgr(&vc->rwlock, ap->a_flags | LK_RELEASE, VP_INTERLOCK, ap->a_p); } int @@ -968,7 +972,7 @@ afs_nbsd_bmap(void *v) AFS_STATCNT(afs_bmap); if (ap->a_bnp) - ap->a_bnp = (daddr_t *) (ap->a_bn * (8192 / DEV_BSIZE)); + *ap->a_bnp = ap->a_bn * btodb(8192); if (ap->a_vpp) *ap->a_vpp = (vcp) ? AFSTOV(vcp) : NULL; return 0; @@ -994,15 +998,14 @@ afs_nbsd_strategy(void *v) tuio.afsio_iovcnt = 1; tuio.afsio_seg = AFS_UIOSYS; tuio.afsio_resid = len; - tiovec[0].iov_base = abp->b_un.b_addr; + tiovec[0].iov_base = abp->b_data; tiovec[0].iov_len = len; AFS_GLOCK(); if ((abp->b_flags & B_READ) == B_READ) { code = afs_rdwr(tvc, &tuio, UIO_READ, 0, credp); if (code == 0 && tuio.afsio_resid > 0) - bzero(abp->b_un.b_addr + len - tuio.afsio_resid, - tuio.afsio_resid); + bzero(abp->b_data + len - tuio.afsio_resid, tuio.afsio_resid); } else code = afs_rdwr(tvc, &tuio, UIO_WRITE, 0, credp); AFS_GUNLOCK(); diff --git a/src/afs/SOLARIS/osi_file.c b/src/afs/SOLARIS/osi_file.c index e5b345463..44a4d1432 100644 --- a/src/afs/SOLARIS/osi_file.c +++ b/src/afs/SOLARIS/osi_file.c @@ -11,7 +11,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/SOLARIS/osi_file.c,v 1.13.2.1 2006/11/09 23:26:27 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/SOLARIS/osi_file.c,v 1.13.2.3 2008/03/17 15:28:55 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -86,7 +86,11 @@ VnodeToIno(vnode_t * vp) struct vattr vattr; vattr.va_mask = AT_FSID | AT_NODEID; /* quick return using this mask. */ +#ifdef AFS_SUN511_ENV + code = VOP_GETATTR(vp, &vattr, 0, &afs_osi_cred, NULL); +#else code = VOP_GETATTR(vp, &vattr, 0, &afs_osi_cred); +#endif if (code) { osi_Panic("VnodeToIno"); } @@ -101,7 +105,11 @@ VnodeToDev(vnode_t * vp) vattr.va_mask = AT_FSID | AT_NODEID; /* quick return using this mask. */ AFS_GUNLOCK(); +#ifdef AFS_SUN511_ENV + code = VOP_GETATTR(vp, &vattr, 0, &afs_osi_cred, NULL); +#else code = VOP_GETATTR(vp, &vattr, 0, &afs_osi_cred); +#endif AFS_GLOCK(); if (code) { osi_Panic("VnodeToDev"); @@ -122,7 +130,11 @@ VnodeToSize(vnode_t * vp) MObtainWriteLock(&afs_xosi, 578); vattr.va_mask = AT_SIZE; AFS_GUNLOCK(); +#ifdef AFS_SUN511_ENV + code = VOP_GETATTR(vp, &vattr, 0, &afs_osi_cred, NULL); +#else code = VOP_GETATTR(vp, &vattr, 0, &afs_osi_cred); +#endif AFS_GLOCK(); if (code) { osi_Panic("VnodeToSize"); @@ -224,7 +236,11 @@ afs_osi_Stat(register struct osi_file *afile, register struct osi_stat *astat) /* Ufs doesn't seem to care about the flags so we pass 0 for now */ tvattr.va_mask = AT_ALL; AFS_GUNLOCK(); +#ifdef AFS_SUN511_ENV + code = VOP_GETATTR(afile->vnode, &tvattr, 0, &afs_osi_cred, NULL); +#else code = VOP_GETATTR(afile->vnode, &tvattr, 0, &afs_osi_cred); +#endif AFS_GLOCK(); if (code == 0) { astat->size = tvattr.va_size; @@ -398,8 +414,6 @@ afs_osi_MapStrategy(int (*aproc) (), register struct buf *bp) void shutdown_osifile(void) { - extern int afs_cold_shutdown; - AFS_STATCNT(shutdown_osifile); if (afs_cold_shutdown) { afs_osicred_initialized = 0; diff --git a/src/afs/SOLARIS/osi_vfsops.c b/src/afs/SOLARIS/osi_vfsops.c index df1210e08..f54432987 100644 --- a/src/afs/SOLARIS/osi_vfsops.c +++ b/src/afs/SOLARIS/osi_vfsops.c @@ -14,13 +14,16 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/SOLARIS/osi_vfsops.c,v 1.18.2.3 2007/01/02 07:36:10 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/SOLARIS/osi_vfsops.c,v 1.18.2.6 2008/03/17 15:28:55 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ #include "afs/afs_stats.h" /* statistics stuff */ #include "h/modctl.h" #include "h/syscall.h" +#if defined(AFS_SUN511_ENV) +#include +#endif #include @@ -100,6 +103,7 @@ afs_root(struct vfs *afsp, struct vnode **avpp) register afs_int32 code = 0; struct vrequest treq; register struct vcache *tvp = 0; + struct vcache *gvp; struct proc *proc = ttoproc(curthread); struct vnode *vp = afsp->vfs_vnodecovered; int locked = 0; @@ -115,6 +119,7 @@ afs_root(struct vfs *afsp, struct vnode **avpp) AFS_STATCNT(afs_root); +again: if (afs_globalVp && (afs_globalVp->states & CStatd)) { tvp = afs_globalVp; } else { @@ -125,8 +130,9 @@ afs_root(struct vfs *afsp, struct vnode **avpp) } if (afs_globalVp) { - afs_PutVCache(afs_globalVp); + gvp = afs_globalVp; afs_globalVp = NULL; + afs_PutVCache(gvp); } if (!(code = afs_InitReq(&treq, proc->p_cred)) @@ -134,6 +140,12 @@ afs_root(struct vfs *afsp, struct vnode **avpp) tvp = afs_GetVCache(&afs_rootFid, &treq, NULL, NULL); /* we really want this to stay around */ if (tvp) { + if (afs_globalVp) { + /* someone else got there before us! */ + afs_PutVCache(tvp); + tvp = 0; + goto again; + } afs_globalVp = tvp; } else code = ENOENT; @@ -245,7 +257,21 @@ afs_swapvp(struct vfs *afsp, struct vnode **avpp, char *nm) } -#ifdef AFS_SUN510_ENV +#if defined(AFS_SUN511_ENV) +/* The following list must always be NULL-terminated */ +static const fs_operation_def_t afs_vfsops_template[] = { + VFSNAME_MOUNT, { .vfs_mount = afs_mount }, + VFSNAME_UNMOUNT, { .vfs_unmount = afs_unmount }, + VFSNAME_ROOT, { .vfs_root = afs_root }, + VFSNAME_STATVFS, { .vfs_statvfs = afs_statvfs }, + VFSNAME_SYNC, { .vfs_sync = afs_sync }, + VFSNAME_VGET, { .vfs_vget = afs_vget }, + VFSNAME_MOUNTROOT, { .vfs_mountroot = afs_mountroot }, + VFSNAME_FREEVFS, { .vfs_freevfs = fs_freevfs }, + NULL, NULL +}; +struct vfsops *afs_vfsopsp; +#elif defined(AFS_SUN510_ENV) /* The following list must always be NULL-terminated */ const fs_operation_def_t afs_vfsops_template[] = { VFSNAME_MOUNT, afs_mount, @@ -256,7 +282,7 @@ const fs_operation_def_t afs_vfsops_template[] = { VFSNAME_VGET, afs_vget, VFSNAME_MOUNTROOT, afs_mountroot, VFSNAME_FREEVFS, fs_freevfs, - NULL, NULL + NULL, NULL }; struct vfsops *afs_vfsopsp; #else @@ -391,12 +417,22 @@ afsinit(struct vfssw *vfsswp, int fstype) } #ifdef AFS_SUN510_ENV +#ifdef AFS_SUN511_ENV +static struct vfsdef_v4 afs_vfsdef = { + VFSDEF_VERSION, + "afs", + afsinit, + 0, + NULL +}; +#else static struct vfsdef_v3 afs_vfsdef = { VFSDEF_VERSION, "afs", afsinit, 0 }; +#endif #else static struct vfssw afs_vfw = { "afs", diff --git a/src/afs/SOLARIS/osi_vnodeops.c b/src/afs/SOLARIS/osi_vnodeops.c index ac9442a6e..03be3cb91 100644 --- a/src/afs/SOLARIS/osi_vnodeops.c +++ b/src/afs/SOLARIS/osi_vnodeops.c @@ -11,7 +11,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/SOLARIS/osi_vnodeops.c,v 1.20.2.10 2006/12/28 22:26:48 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/SOLARIS/osi_vnodeops.c,v 1.20.2.12 2008/03/17 15:28:55 shadow Exp $"); /* * SOLARIS/osi_vnodeops.c @@ -47,6 +47,9 @@ RCSID #include #include #include +#if defined(AFS_SUN511_ENV) +#include +#endif #include #include #include @@ -1401,6 +1404,25 @@ afs_dumpctl(vp, i } #ifdef AFS_SUN54_ENV +#ifdef AFS_SUN511_ENV +extern void +afs_dispose(struct vnode *vp, struct page *p, int fl, int dn, struct cred *cr, struct caller_context_t *ct) +{ + fs_dispose(vp, p, fl, dn, cr,ct); +} + +int +afs_setsecattr(struct vnode *vp, vsecattr_t *vsecattr, int flag, struct cred *creds, struct caller_context_t *ct) +{ + return ENOSYS; +} + +int +afs_getsecattr(struct vnode *vp, vsecattr_t *vsecattr, int flag, struct cred *creds, struct caller_context_t *ct) +{ + return fs_fab_acl(vp, vsecattr, flag, creds,ct); +} +#else extern void afs_dispose(vp, p, fl, dn, cr) struct vnode *vp; @@ -1431,6 +1453,7 @@ afs_getsecattr(vp, vsecattr, flag, creds) return fs_fab_acl(vp, vsecattr, flag, creds); } #endif +#endif #ifdef AFS_GLOBAL_SUNLOCK extern int gafs_open(), gafs_close(), afs_ioctl(), gafs_access(); @@ -1441,7 +1464,56 @@ extern int gafs_fid(), gafs_readlink(), fs_setfl(), afs_pathconf(); extern int afs_lockctl(); extern void gafs_inactive(); -#ifdef AFS_SUN510_ENV +#if defined(AFS_SUN511_ENV) +/* The following list must always be NULL-terminated */ +const fs_operation_def_t afs_vnodeops_template[] = { + VOPNAME_OPEN, { .vop_open = gafs_open }, + VOPNAME_CLOSE, { .vop_close = gafs_close }, + VOPNAME_READ, { .vop_read = afs_vmread }, + VOPNAME_WRITE, { .vop_write = afs_vmwrite }, + VOPNAME_IOCTL, { .vop_ioctl = afs_ioctl }, + VOPNAME_SETFL, { .vop_setfl = fs_setfl }, + VOPNAME_GETATTR, { .vop_getattr = gafs_getattr }, + VOPNAME_SETATTR, { .vop_setattr = gafs_setattr }, + VOPNAME_ACCESS, { .vop_access = gafs_access }, + VOPNAME_LOOKUP, { .vop_lookup = gafs_lookup }, + VOPNAME_CREATE, { .vop_create = gafs_create }, + VOPNAME_REMOVE, { .vop_remove = gafs_remove }, + VOPNAME_LINK, { .vop_link = gafs_link }, + VOPNAME_RENAME, { .vop_rename = gafs_rename }, + VOPNAME_MKDIR, { .vop_mkdir = gafs_mkdir }, + VOPNAME_RMDIR, { .vop_rmdir = gafs_rmdir }, + VOPNAME_READDIR, { .vop_readdir = gafs_readdir }, + VOPNAME_SYMLINK, { .vop_symlink = gafs_symlink }, + VOPNAME_READLINK, { .vop_readlink = gafs_readlink }, + VOPNAME_FSYNC, { .vop_fsync = gafs_fsync }, + VOPNAME_INACTIVE, { .vop_inactive = gafs_inactive }, + VOPNAME_FID, { .vop_fid = gafs_fid }, + VOPNAME_RWLOCK, { .vop_rwlock = afs_rwlock }, + VOPNAME_RWUNLOCK, { .vop_rwunlock = afs_rwunlock }, + VOPNAME_SEEK, { .vop_seek = afs_seek }, + VOPNAME_CMP, { .vop_cmp = afs_cmp }, + VOPNAME_FRLOCK, { .vop_frlock = afs_frlock }, + VOPNAME_SPACE, { .vop_space = afs_space }, + VOPNAME_REALVP, { .vop_realvp = afs_realvp }, + VOPNAME_GETPAGE, { .vop_getpage = afs_getpage }, + VOPNAME_PUTPAGE, { .vop_putpage = afs_putpage }, + VOPNAME_MAP, { .vop_map = afs_map }, + VOPNAME_ADDMAP, { .vop_addmap = afs_addmap }, + VOPNAME_DELMAP, { .vop_delmap = afs_delmap }, + VOPNAME_POLL, { .vop_poll = fs_poll }, + VOPNAME_PATHCONF, { .vop_pathconf = afs_pathconf }, + VOPNAME_PAGEIO, { .vop_pageio = afs_pageio }, + VOPNAME_DUMP, { .vop_dump = afs_dump }, + VOPNAME_DUMPCTL, { .vop_dumpctl = afs_dumpctl }, + VOPNAME_DISPOSE, { .vop_dispose = afs_dispose }, + VOPNAME_GETSECATTR, { .vop_getsecattr = afs_getsecattr }, + VOPNAME_SETSECATTR, { .vop_setsecattr = afs_setsecattr }, + VOPNAME_SHRLOCK, { .vop_shrlock = fs_shrlock }, + NULL, NULL +}; +vnodeops_t *afs_ops; +#elif defined(AFS_SUN510_ENV) /* The following list must always be NULL-terminated */ const fs_operation_def_t afs_vnodeops_template[] = { VOPNAME_OPEN, gafs_open, diff --git a/src/afs/UKERNEL/afs_usrops.c b/src/afs/UKERNEL/afs_usrops.c index 6bb31df19..aa9a9a665 100644 --- a/src/afs/UKERNEL/afs_usrops.c +++ b/src/afs/UKERNEL/afs_usrops.c @@ -15,7 +15,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/UKERNEL/afs_usrops.c,v 1.27.2.4 2006/11/10 04:03:38 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/UKERNEL/afs_usrops.c,v 1.27.2.7 2008/01/31 20:18:51 shadow Exp $"); #ifdef UKERNEL @@ -183,6 +183,7 @@ int ufs_brelse(struct usr_vnode *vp, struct usr_buf *bp) { usr_assert(0); + return 0; } /* @@ -192,12 +193,14 @@ int iodone(struct usr_buf *bp) { usr_assert(0); + return 0; } struct usr_file * getf(int fd) { usr_assert(0); + return 0; } /* @@ -233,6 +236,7 @@ int usr_flock(void) { usr_assert(0); + return 0; } /* @@ -243,6 +247,7 @@ int usr_ioctl(void) { usr_assert(0); + return 0; } /* @@ -252,24 +257,28 @@ int afs_syscall_icreate(void) { usr_assert(0); + return 0; } int afs_syscall_iincdec(void) { usr_assert(0); + return 0; } int afs_syscall_iopen(void) { usr_assert(0); + return 0; } int afs_syscall_ireadwrite(void) { usr_assert(0); + return 0; } /* @@ -280,24 +289,28 @@ int vno_close(void) { usr_assert(0); + return 0; } int vno_ioctl(void) { usr_assert(0); + return 0; } int vno_rw(void) { usr_assert(0); + return 0; } int vno_select(void) { usr_assert(0); + return 0; } /* @@ -374,12 +387,14 @@ usr_crfree(struct usr_ucred *credp) if (credp->cr_ref == 0) { afs_osi_Free((char *)credp, sizeof(struct usr_ucred)); } + return 0; } int usr_crhold(struct usr_ucred *credp) { credp->cr_ref++; + return 0; } void @@ -517,6 +532,7 @@ afs_osi_Wakeup(void *x) waitp = waitp->next; } usr_mutex_unlock(&osi_waitq_lock); + return 0; } int @@ -608,6 +624,7 @@ afs_osi_CheckTimedWaits(void) waitp = waitp->timedNext; } usr_mutex_unlock(&osi_waitq_lock); + return 0; } /* @@ -988,6 +1005,12 @@ afs_osi_Invisible(void) return; } +void +afs_osi_Visible(void) +{ + return; +} + int osi_GetTime(struct timeval *tv) { @@ -1390,8 +1413,8 @@ SweepAFSCache(int *vFilesFound) return (0); } -static -ConfigCell(register struct afsconf_cell *aci, char *arock, +static int +ConfigCell(register struct afsconf_cell *aci, void *arock, struct afsconf_dir *adir) { register int isHomeCell; @@ -1421,10 +1444,7 @@ ConfigCell(register struct afsconf_cell *aci, char *arock, } static int -ConfigCellAlias(aca, arock, adir) - struct afsconf_cellalias *aca; - char *arock; - struct afsconf_dir *adir; +ConfigCellAlias(struct afsconf_cellalias *aca, void *arock, struct afsconf_dir *adir) { call_syscall(AFSOP_ADDCELLALIAS, (long)aca->aliasName, (long)aca->realName, 0, 0, 0); @@ -1981,6 +2001,7 @@ syscallThread(void *argp) sysArgsP->param2, sysArgsP->param3, sysArgsP->param4); afs_osi_Free(argp, -1); + return 0; } fork_syscall(syscall, afscall, param1, param2, param3, param4) @@ -2001,6 +2022,7 @@ fork_syscall(syscall, afscall, param1, param2, param3, param4) usr_thread_create(&tid, syscallThread, sysArgsP); usr_thread_detach(tid); + return 0; } call_syscall(syscall, afscall, param1, param2, param3, param4) @@ -2187,7 +2209,7 @@ uafs_LookupName(char *path, struct usr_vnode *parentVp, struct usr_vnode *linkVp; char *tmpPath; char *pathP; - char *nextPathP; + char *nextPathP = NULL; AFS_ASSERT_GLOCK(); diff --git a/src/afs/UKERNEL/osi_groups.c b/src/afs/UKERNEL/osi_groups.c index 5a485920f..9d901d12a 100644 --- a/src/afs/UKERNEL/osi_groups.c +++ b/src/afs/UKERNEL/osi_groups.c @@ -15,7 +15,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/UKERNEL/osi_groups.c,v 1.7 2003/07/15 23:14:28 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/UKERNEL/osi_groups.c,v 1.7.2.1 2007/11/26 21:21:47 shadow Exp $"); #include "afs/sysincludes.h" #include "afsincludes.h" @@ -26,6 +26,7 @@ int afs_xsetgroups() { usr_assert(0); + return 0; } static int diff --git a/src/afs/VNOPS/afs_vnop_access.c b/src/afs/VNOPS/afs_vnop_access.c index c56bbec47..1013cec98 100644 --- a/src/afs/VNOPS/afs_vnop_access.c +++ b/src/afs/VNOPS/afs_vnop_access.c @@ -23,7 +23,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_access.c,v 1.10.2.1 2004/08/25 07:09:35 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_access.c,v 1.10.2.2 2008/03/07 17:34:08 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -199,7 +199,16 @@ afs_access(OSI_VC_DECL(avc), register afs_int32 amode, if ((code = afs_InitReq(&treq, acred))) return code; - code = afs_EvalFakeStat(&avc, &fakestate, &treq); + if (afs_fakestat_enable && avc->mvstat == 1) { + code = afs_TryEvalFakeStat(&avc, &fakestate, &treq); + if (code == 0 && avc->mvstat == 1) { + afs_PutFakeStat(&fakestate); + return 0; + } + } else { + code = afs_EvalFakeStat(&avc, &fakestate, &treq); + } + if (code) { afs_PutFakeStat(&fakestate); return code; diff --git a/src/afs/VNOPS/afs_vnop_create.c b/src/afs/VNOPS/afs_vnop_create.c index 464053084..b9b5cb392 100644 --- a/src/afs/VNOPS/afs_vnop_create.c +++ b/src/afs/VNOPS/afs_vnop_create.c @@ -17,7 +17,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_create.c,v 1.16.2.9 2006/10/13 05:15:58 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_create.c,v 1.16.2.10 2007/12/08 18:00:45 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -353,7 +353,9 @@ afs_create(OSI_VC_DECL(adp), char *aname, struct vattr *attrs, UpgradeSToWLock(&tdc->lock, 631); if (afs_LocalHero(adp, tdc, &OutDirStatus, 1)) { /* we can do it locally */ + ObtainWriteLock(&afs_xdcache, 291); code = afs_dir_Create(tdc, aname, &newFid.Fid); + ReleaseWriteLock(&afs_xdcache); if (code) { ZapDCE(tdc); DZap(tdc); diff --git a/src/afs/VNOPS/afs_vnop_dirops.c b/src/afs/VNOPS/afs_vnop_dirops.c index 7a1fcba80..aa481ecb0 100644 --- a/src/afs/VNOPS/afs_vnop_dirops.c +++ b/src/afs/VNOPS/afs_vnop_dirops.c @@ -21,7 +21,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_dirops.c,v 1.14.2.5 2005/05/30 04:05:44 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_dirops.c,v 1.14.2.6 2007/12/08 18:00:45 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -132,7 +132,9 @@ afs_mkdir(OSI_VC_DECL(adp), char *aname, struct vattr *attrs, ObtainWriteLock(&tdc->lock, 632); if (afs_LocalHero(adp, tdc, &OutDirStatus, 1)) { /* we can do it locally */ + ObtainWriteLock(&afs_xdcache, 294); code = afs_dir_Create(tdc, aname, &newFid.Fid); + ReleaseWriteLock(&afs_xdcache); if (code) { ZapDCE(tdc); /* surprise error -- use invalid value */ DZap(tdc); diff --git a/src/afs/VNOPS/afs_vnop_link.c b/src/afs/VNOPS/afs_vnop_link.c index 8a01e0f74..3dcdbada6 100644 --- a/src/afs/VNOPS/afs_vnop_link.c +++ b/src/afs/VNOPS/afs_vnop_link.c @@ -17,7 +17,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_link.c,v 1.15.2.4 2005/01/31 03:49:15 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_link.c,v 1.15.2.5 2007/12/08 18:00:45 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -127,7 +127,9 @@ afs_link(avc, OSI_VC_ARG(adp), aname, acred) ObtainWriteLock(&tdc->lock, 635); if (afs_LocalHero(adp, tdc, &OutDirStatus, 1)) { /* we can do it locally */ + ObtainWriteLock(&afs_xdcache, 290); code = afs_dir_Create(tdc, aname, &avc->fid.Fid); + ReleaseWriteLock(&afs_xdcache); if (code) { ZapDCE(tdc); /* surprise error -- invalid value */ DZap(tdc); diff --git a/src/afs/VNOPS/afs_vnop_lookup.c b/src/afs/VNOPS/afs_vnop_lookup.c index e1c11a99f..ce295031e 100644 --- a/src/afs/VNOPS/afs_vnop_lookup.c +++ b/src/afs/VNOPS/afs_vnop_lookup.c @@ -18,7 +18,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_lookup.c,v 1.50.2.19 2007/10/16 22:03:46 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_lookup.c,v 1.50.2.20 2008/03/07 17:34:08 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -1140,6 +1140,11 @@ afs_lookup(OSI_VC_DECL(adp), char *aname, struct vcache **avcp, struct AFS_UCRED ndp->ni_dvp = AFSTOV(adp); #endif /* AFS_OSF_ENV */ + if (afs_fakestat_enable && adp->mvstat == 1) { + if (strcmp(aname, ".directory") == 0) + tryEvalOnly = 1; + } + #if defined(AFS_DARWIN_ENV) /* Workaround for MacOSX Finder, which tries to look for * .DS_Store and Contents under every directory. diff --git a/src/afs/VNOPS/afs_vnop_read.c b/src/afs/VNOPS/afs_vnop_read.c index f8e609bfb..536ee4a76 100644 --- a/src/afs/VNOPS/afs_vnop_read.c +++ b/src/afs/VNOPS/afs_vnop_read.c @@ -19,7 +19,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_read.c,v 1.26.2.4 2006/02/21 04:47:08 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_read.c,v 1.26.2.5 2007/11/29 18:36:12 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -117,7 +117,21 @@ afs_MemRead(register struct vcache *avc, struct uio *auio, * Locks held: * avc->lock(R) */ - while (totalLength > 0) { + if (filePos >= avc->m.Length) { + if (len > AFS_ZEROS) + len = sizeof(afs_zeros); /* and in 0 buffer */ +#ifdef AFS_DARWIN80_ENV + trimlen = len; + tuiop = afsio_darwin_partialcopy(auio, trimlen); +#else + afsio_copy(auio, &tuio, tvec); + trimlen = len; + afsio_trim(&tuio, trimlen); +#endif + AFS_UIOMOVE(afs_zeros, trimlen, UIO_READ, tuiop, code); + } + + while (avc->m.Length > 0 && totalLength > 0) { /* read all of the cached info */ if (filePos >= avc->m.Length) break; /* all done */ @@ -536,7 +550,22 @@ afs_UFSRead(register struct vcache *avc, struct uio *auio, } #endif - while (totalLength > 0) { + if (filePos >= avc->m.Length) { + if (len > AFS_ZEROS) + len = sizeof(afs_zeros); /* and in 0 buffer */ + len = 0; +#ifdef AFS_DARWIN80_ENV + trimlen = len; + tuiop = afsio_darwin_partialcopy(auio, trimlen); +#else + afsio_copy(auio, &tuio, tvec); + trimlen = len; + afsio_trim(&tuio, trimlen); +#endif + AFS_UIOMOVE(afs_zeros, trimlen, UIO_READ, tuiop, code); + } + + while (avc->m.Length > 0 && totalLength > 0) { /* read all of the cached info */ if (filePos >= avc->m.Length) break; /* all done */ diff --git a/src/afs/VNOPS/afs_vnop_remove.c b/src/afs/VNOPS/afs_vnop_remove.c index c68a72907..9bdcedd4f 100644 --- a/src/afs/VNOPS/afs_vnop_remove.c +++ b/src/afs/VNOPS/afs_vnop_remove.c @@ -21,7 +21,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_remove.c,v 1.31.2.16 2006/03/02 06:34:19 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_remove.c,v 1.31.2.17 2007/12/19 20:59:48 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -415,7 +415,11 @@ afs_remove(OSI_VC_ARG(adp), aname, acred) code = afsremove(adp, tdc, tvc, aname, acred, &treq); } afs_PutFakeStat(&fakestate); +#ifndef AFS_DARWIN80_ENV + /* we can't track by thread, it's not exported in the KPI; only do + this on !macos */ osi_Assert(!WriteLocked(&adp->lock) || (adp->lock.pid_writer != MyPidxx)); +#endif return code; } diff --git a/src/afs/VNOPS/afs_vnop_rename.c b/src/afs/VNOPS/afs_vnop_rename.c index d3162c08c..b0b48561d 100644 --- a/src/afs/VNOPS/afs_vnop_rename.c +++ b/src/afs/VNOPS/afs_vnop_rename.c @@ -18,7 +18,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_rename.c,v 1.16.2.11 2005/12/24 00:21:45 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_rename.c,v 1.16.2.12 2007/12/08 18:00:45 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -227,7 +227,9 @@ afsrename(struct vcache *aodp, char *aname1, struct vcache *andp, code = afs_dir_Delete(tdc2, aname2); } if (code == 0) { + ObtainWriteLock(&afs_xdcache, 292); code = afs_dir_Create(tdc2, aname2, &fileFid.Fid); + ReleaseWriteLock(&afs_xdcache); } if (code != 0) { ZapDCE(tdc1); diff --git a/src/afs/VNOPS/afs_vnop_symlink.c b/src/afs/VNOPS/afs_vnop_symlink.c index 0041da788..2a7a750af 100644 --- a/src/afs/VNOPS/afs_vnop_symlink.c +++ b/src/afs/VNOPS/afs_vnop_symlink.c @@ -22,7 +22,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_symlink.c,v 1.19.2.5 2005/10/15 02:33:12 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_symlink.c,v 1.19.2.6 2007/12/08 18:00:45 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -173,7 +173,9 @@ int afs_symlink /* otherwise, we should see if we can make the change to the dir locally */ if (afs_LocalHero(adp, tdc, &OutDirStatus, 1)) { /* we can do it locally */ + ObtainWriteLock(&afs_xdcache, 293); code = afs_dir_Create(tdc, aname, &newFid.Fid); + ReleaseWriteLock(&afs_xdcache); if (code) { ZapDCE(tdc); /* surprise error -- use invalid value */ DZap(tdc); diff --git a/src/afs/afs.h b/src/afs/afs.h index f5f6b5df4..1eb146af3 100644 --- a/src/afs/afs.h +++ b/src/afs/afs.h @@ -914,6 +914,9 @@ struct afs_fheader { #endif #endif + +#ifdef KERNEL +/* it does not compile outside kernel */ struct buffer { afs_int32 fid; /* is adc->index, the cache file number */ afs_inode_t inode; /* is adc->f.inode, the inode number of the cac\ @@ -941,6 +944,7 @@ struct fcache { afs_int32 chunkBytes; /* Num bytes in this chunk */ char states; /* Has this chunk been modified? */ }; +#endif /* magic numbers to specify the cache type */ diff --git a/src/afs/afs_buffer.c b/src/afs/afs_buffer.c index c218a06e1..d523a2a83 100644 --- a/src/afs/afs_buffer.c +++ b/src/afs/afs_buffer.c @@ -11,7 +11,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/afs_buffer.c,v 1.16.2.6 2006/01/24 17:41:20 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/afs_buffer.c,v 1.16.2.7 2007/12/13 19:18:47 shadow Exp $"); #include "afs/sysincludes.h" #include "afsincludes.h" @@ -534,7 +534,6 @@ shutdown_bufferpackage(void) register struct buffer *tp; #endif int i; - extern int afs_cold_shutdown; AFS_STATCNT(shutdown_bufferpackage); /* Free all allocated Buffers and associated buffer pages */ diff --git a/src/afs/afs_call.c b/src/afs/afs_call.c index 70a764c7a..d8e51a2e2 100644 --- a/src/afs/afs_call.c +++ b/src/afs/afs_call.c @@ -11,7 +11,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/afs_call.c,v 1.74.2.25 2007/10/17 03:51:44 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/afs_call.c,v 1.74.2.26 2008/01/30 21:18:29 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -581,6 +581,7 @@ afs_syscall_call(parm, parm2, parm3, parm4, parm5, parm6) #endif /* RXK_LISTENER_ENV */ afs_osi_Invisible(); afs_RXCallBackServer(); + afs_osi_Visible(); } #ifdef AFS_SGI_ENV AFS_GUNLOCK(); @@ -609,6 +610,7 @@ afs_syscall_call(parm, parm2, parm3, parm4, parm5, parm6) afs_osi_RxkRegister(); #endif /* !UKERNEL */ rxk_Listener(); + afs_osi_Visible(); } #ifdef AFS_SGI_ENV AFS_GUNLOCK(); @@ -628,6 +630,7 @@ afs_syscall_call(parm, parm2, parm3, parm4, parm5, parm6) afs_osi_Wakeup(&afs_initState); afs_osi_Invisible(); afs_Daemon(); + afs_osi_Visible(); #ifdef AFS_SGI_ENV AFS_GUNLOCK(); exit(CLD_EXITED, 0); @@ -635,6 +638,7 @@ afs_syscall_call(parm, parm2, parm3, parm4, parm5, parm6) } else if (parm == AFSOP_START_CS) { afs_osi_Invisible(); afs_CheckServerDaemon(); + afs_osi_Visible(); #ifdef AFS_SGI_ENV AFS_GUNLOCK(); exit(CLD_EXITED, 0); @@ -654,6 +658,7 @@ afs_syscall_call(parm, parm2, parm3, parm4, parm5, parm6) else #endif /* AFS_AIX32_ENV */ afs_BackgroundDaemon(); + afs_osi_Visible(); #ifdef AFS_SGI_ENV AFS_GUNLOCK(); exit(CLD_EXITED, 0); @@ -664,6 +669,7 @@ afs_syscall_call(parm, parm2, parm3, parm4, parm5, parm6) /* start the bkg daemon */ afs_osi_Invisible(); afs_CacheTruncateDaemon(); + afs_osi_Visible(); #ifdef AFS_SGI_ENV AFS_GUNLOCK(); exit(CLD_EXITED, 0); @@ -675,6 +681,7 @@ afs_syscall_call(parm, parm2, parm3, parm4, parm5, parm6) afs_osi_Sleep(&afs_initState); afs_osi_Invisible(); afs_rxevent_daemon(); + afs_osi_Visible(); #ifdef AFS_SGI_ENV AFS_GUNLOCK(); exit(CLD_EXITED, 0); diff --git a/src/afs/afs_callback.c b/src/afs/afs_callback.c index 5a1098912..dd003f88a 100644 --- a/src/afs/afs_callback.c +++ b/src/afs/afs_callback.c @@ -17,7 +17,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/afs_callback.c,v 1.27.2.8 2007/02/03 03:25:18 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/afs_callback.c,v 1.27.2.10 2008/03/10 22:35:33 shadow Exp $"); #include "afs/sysincludes.h" /*Standard vendor system headers */ #include "afsincludes.h" /*AFS-based standard headers */ @@ -61,7 +61,11 @@ static struct ltable { { "afs_xsrvAddr", (char *)&afs_xsrvAddr}, { - "afs_xvreclaim", (char *)&afs_xvreclaim} + "afs_xvreclaim", (char *)&afs_xvreclaim}, +#ifdef AFS_AFSDB_ENV + { "afsdb_client_lock", (char *)&afsdb_client_lock}, + { "afsdb_req_lock", (char *)&afsdb_req_lock}, +#endif }; unsigned long lastCallBack_vnode; unsigned int lastCallBack_dv; @@ -307,11 +311,35 @@ SRXAFSCB_GetLock(struct rx_call *a_call, afs_int32 a_index, AFS_STATCNT(SRXAFSCB_GetLock); nentries = sizeof(ltable) / sizeof(struct ltable); - if (a_index < 0 || a_index >= nentries) { + if (a_index < 0 || a_index >= nentries+afs_cellindex) { /* * Past EOF */ code = 1; + } else if (a_index >= nentries) { + struct cell *tc = afs_GetCellByIndex(a_index-nentries, 0); + strcpy(a_result->name, tc->cellName); + a_result->lock.waitStates = + ((struct afs_lock *)&(tc->lock))->wait_states; + a_result->lock.exclLocked = + ((struct afs_lock *)&(tc->lock))->excl_locked; + a_result->lock.readersReading = + ((struct afs_lock *)&(tc->lock))->readers_reading; + a_result->lock.numWaiting = + ((struct afs_lock *)&(tc->lock))->num_waiting; +#ifdef INSTRUMENT_LOCKS + a_result->lock.pid_last_reader = + MyPidxx2Pid(((struct afs_lock *)&(tc->lock))->pid_last_reader); + a_result->lock.pid_writer = + MyPidxx2Pid(((struct afs_lock *)&(tc->lock))->pid_writer); + a_result->lock.src_indicator = + ((struct afs_lock *)&(tc->lock))->src_indicator; +#else + a_result->lock.pid_last_reader = 0; + a_result->lock.pid_writer = 0; + a_result->lock.src_indicator = 0; +#endif + code = 0; } else { /* * Found it - copy out its contents. @@ -981,7 +1009,7 @@ afs_RXCallBackServer(void) /* * Donate this process to Rx. */ - rx_ServerProc(); + rx_ServerProc(NULL); return (0); } /*afs_RXCallBackServer */ diff --git a/src/afs/afs_cell.c b/src/afs/afs_cell.c index 085cf0594..052602b39 100644 --- a/src/afs/afs_cell.c +++ b/src/afs/afs_cell.c @@ -14,7 +14,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/afs_cell.c,v 1.30.2.4 2007/03/20 00:52:20 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/afs_cell.c,v 1.30.2.6 2007/12/04 20:33:17 shadow Exp $"); #include "afs/stds.h" #include "afs/sysincludes.h" /* Standard vendor system headers */ @@ -35,18 +35,18 @@ afs_rwlock_t afs_xcell; /* Export for cmdebug peeking at locks */ */ #ifdef AFS_AFSDB_ENV -static afs_rwlock_t afsdb_client_lock; /* Serializes client requests */ +afs_rwlock_t afsdb_client_lock; /* Serializes client requests */ +afs_rwlock_t afsdb_req_lock; /* Serializes client requests */ static char afsdb_handler_running; /* Protected by GLOCK */ static char afsdb_handler_shutdown; /* Protected by GLOCK */ +/* from cellconfig.h */ +#define MAXCELLCHARS 64 static struct { - afs_rwlock_t lock; + /* lock moved to afsdb_req_lock for cmdebug */ char pending; char complete; char *cellname; - afs_int32 *cellhosts; - int *timeout; - char **realname; } afsdb_req; void @@ -63,46 +63,60 @@ afs_StopAFSDB() int afs_AFSDBHandler(char *acellName, int acellNameLen, afs_int32 * kernelMsg) { + afs_int32 timeout, code; + afs_int32 cellHosts[MAXCELLHOSTS]; + if (afsdb_handler_shutdown) return -2; afsdb_handler_running = 1; - ObtainSharedLock(&afsdb_req.lock, 683); + ObtainSharedLock(&afsdb_req_lock, 683); if (afsdb_req.pending) { int i, hostCount; - UpgradeSToWLock(&afsdb_req.lock, 684); + UpgradeSToWLock(&afsdb_req_lock, 684); hostCount = kernelMsg[0]; - *afsdb_req.timeout = kernelMsg[1]; - if (*afsdb_req.timeout) - *afsdb_req.timeout += osi_Time(); - *afsdb_req.realname = afs_strdup(acellName); + timeout = kernelMsg[1]; + if (timeout) + timeout += osi_Time(); for (i = 0; i < MAXCELLHOSTS; i++) { if (i >= hostCount) - afsdb_req.cellhosts[i] = 0; + cellHosts[i] = 0; else - afsdb_req.cellhosts[i] = kernelMsg[2 + i]; + cellHosts[i] = kernelMsg[2 + i]; } + if (hostCount) + code = afs_NewCell(acellName, cellHosts, CNoSUID, NULL, 0, 0, + timeout); + + if (!hostCount || (code && code != EEXIST)) + /* null out the cellname if the lookup failed */ + afsdb_req.cellname = NULL; + else + /* If we found an alias, create it */ + if (afs_strcasecmp(afsdb_req.cellname, acellName)) + afs_NewCellAlias(afsdb_req.cellname, acellName); + /* Request completed, wake up the relevant thread */ afsdb_req.pending = 0; afsdb_req.complete = 1; afs_osi_Wakeup(&afsdb_req); - ConvertWToSLock(&afsdb_req.lock); + ConvertWToSLock(&afsdb_req_lock); } - ConvertSToRLock(&afsdb_req.lock); + ConvertSToRLock(&afsdb_req_lock); /* Wait for a request */ while (afsdb_req.pending == 0 && afs_termState != AFSOP_STOP_AFSDB) { - ReleaseReadLock(&afsdb_req.lock); + ReleaseReadLock(&afsdb_req_lock); afs_osi_Sleep(&afsdb_req); - ObtainReadLock(&afsdb_req.lock); + ObtainReadLock(&afsdb_req_lock); } /* Check if we're shutting down */ if (afs_termState == AFSOP_STOP_AFSDB) { - ReleaseReadLock(&afsdb_req.lock); + ReleaseReadLock(&afsdb_req_lock); /* Inform anyone waiting for us that we're going away */ afsdb_handler_shutdown = 1; @@ -116,43 +130,38 @@ afs_AFSDBHandler(char *acellName, int acellNameLen, afs_int32 * kernelMsg) /* Return the lookup request to userspace */ strncpy(acellName, afsdb_req.cellname, acellNameLen); - ReleaseReadLock(&afsdb_req.lock); + ReleaseReadLock(&afsdb_req_lock); return 0; } static int -afs_GetCellHostsAFSDB(char *acellName, afs_int32 * acellHosts, int *timeout, - char **realName) +afs_GetCellHostsAFSDB(char *acellName) { AFS_ASSERT_GLOCK(); if (!afsdb_handler_running) return ENOENT; ObtainWriteLock(&afsdb_client_lock, 685); - ObtainWriteLock(&afsdb_req.lock, 686); + ObtainWriteLock(&afsdb_req_lock, 686); - *acellHosts = 0; afsdb_req.cellname = acellName; - afsdb_req.cellhosts = acellHosts; - afsdb_req.timeout = timeout; - afsdb_req.realname = realName; afsdb_req.complete = 0; afsdb_req.pending = 1; afs_osi_Wakeup(&afsdb_req); - ConvertWToRLock(&afsdb_req.lock); + ConvertWToRLock(&afsdb_req_lock); while (afsdb_handler_running && !afsdb_req.complete) { - ReleaseReadLock(&afsdb_req.lock); + ReleaseReadLock(&afsdb_req_lock); afs_osi_Sleep(&afsdb_req); - ObtainReadLock(&afsdb_req.lock); + ObtainReadLock(&afsdb_req_lock); }; - ReleaseReadLock(&afsdb_req.lock); + ReleaseReadLock(&afsdb_req_lock); ReleaseWriteLock(&afsdb_client_lock); - if (*acellHosts) + if (afsdb_req.cellname) { return 0; - else + } else return ENOENT; } #endif @@ -161,24 +170,14 @@ void afs_LookupAFSDB(char *acellName) { #ifdef AFS_AFSDB_ENV - afs_int32 cellHosts[MAXCELLHOSTS]; - char *realName = NULL; - int code, timeout; - - code = afs_GetCellHostsAFSDB(acellName, cellHosts, &timeout, &realName); - if (code) - goto done; - code = afs_NewCell(realName, cellHosts, CNoSUID, NULL, 0, 0, timeout); - if (code && code != EEXIST) - goto done; - - /* If we found an alias, create it */ - if (afs_strcasecmp(acellName, realName)) - afs_NewCellAlias(acellName, realName); - - done: - if (realName) - afs_osi_FreeStr(realName); + int code; + char *cellName = afs_strdup(acellName); + + code = afs_GetCellHostsAFSDB(cellName); + + afs_Trace2(afs_iclSetp, CM_TRACE_AFSDB, ICL_TYPE_STRING, cellName, + ICL_TYPE_INT32, code); + afs_osi_FreeStr(cellName); #endif } @@ -819,7 +818,7 @@ afs_CellInit() RWLOCK_INIT(&afs_xcell, "afs_xcell"); #ifdef AFS_AFSDB_ENV RWLOCK_INIT(&afsdb_client_lock, "afsdb_client_lock"); - RWLOCK_INIT(&afsdb_req.lock, "afsdb_req.lock"); + RWLOCK_INIT(&afsdb_req_lock, "afsdb_req_lock"); #endif QInit(&CellLRU); diff --git a/src/afs/afs_dcache.c b/src/afs/afs_dcache.c index b016dd4a8..b6992db96 100644 --- a/src/afs/afs_dcache.c +++ b/src/afs/afs_dcache.c @@ -14,7 +14,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/afs_dcache.c,v 1.42.2.22 2007/08/20 17:53:15 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/afs_dcache.c,v 1.42.2.23 2007/12/08 18:00:44 shadow Exp $"); #include "afs/sysincludes.h" /*Standard vendor system headers */ #include "afsincludes.h" /*AFS-based standard headers */ @@ -2860,6 +2860,7 @@ afs_WriteDCache(register struct dcache *adc, int atime) if (cacheDiskType == AFS_FCACHE_TYPE_MEM) return 0; AFS_STATCNT(afs_WriteDCache); + osi_Assert(WriteLocked(&afs_xdcache)); if (atime) adc->f.modTime = osi_Time(); /* diff --git a/src/afs/afs_osi.c b/src/afs/afs_osi.c index e290df371..fabe9acbb 100644 --- a/src/afs/afs_osi.c +++ b/src/afs/afs_osi.c @@ -11,7 +11,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/afs_osi.c,v 1.48.2.12 2007/04/03 18:57:06 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/afs_osi.c,v 1.48.2.15 2008/02/06 01:43:44 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -280,9 +280,6 @@ afs_osi_UnmaskUserLoop() void afs_osi_RxkRegister(void) { -#ifdef AFS_LINUX22_ENV - osi_linux_rxkreg(); -#endif } /* procedure for making our processes as invisible as we can */ @@ -308,8 +305,21 @@ afs_osi_Invisible(void) AFS_STATCNT(osi_Invisible); } +void +afs_osi_Visible(void) +{ +#if defined(AFS_SUN5_ENV) + curproc->p_flag &= ~SSYS; +#elif defined(AFS_DARWIN80_ENV) +#elif defined(AFS_DARWIN_ENV) + /* maybe call init_process instead? */ + current_proc()->p_flag &= ~P_SYSTEM; +#elif defined(AFS_XBSD_ENV) + curproc->p_flag &= ~P_SYSTEM; +#endif +} -#if !defined(AFS_LINUX20_ENV) && !defined(AFS_FBSD_ENV) +#if !defined(AFS_LINUX20_ENV) && !defined(AFS_XBSD_ENV) /* set the real time */ void afs_osi_SetTime(osi_timeval_t * atv) diff --git a/src/afs/afs_osi_alloc.c b/src/afs/afs_osi_alloc.c index 54116bde5..cfc1b4f3b 100644 --- a/src/afs/afs_osi_alloc.c +++ b/src/afs/afs_osi_alloc.c @@ -11,7 +11,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/afs_osi_alloc.c,v 1.10.2.1 2005/04/03 18:18:54 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/afs_osi_alloc.c,v 1.10.2.3 2007/12/13 19:18:47 shadow Exp $"); @@ -120,7 +120,11 @@ osi_AllocSmallSpace(size_t size) if (!freeSmallList) { afs_stats_cmperf.SmallBlocksAlloced++; afs_stats_cmperf.SmallBlocksActive++; - return afs_osi_Alloc(AFS_SMALLOCSIZ); + tp = afs_osi_Alloc(AFS_SMALLOCSIZ); +#ifdef KERNEL_HAVE_PIN + pin((char *)tp, AFS_SMALLOCSIZ); +#endif + return (char *)tp; } afs_stats_cmperf.SmallBlocksActive++; MObtainWriteLock(&osi_fsplock, 327); @@ -136,29 +140,34 @@ osi_AllocSmallSpace(size_t size) void shutdown_osinet(void) { - extern int afs_cold_shutdown; - AFS_STATCNT(shutdown_osinet); if (afs_cold_shutdown) { struct osi_packet *tp; while ((tp = freePacketList)) { freePacketList = tp->next; - afs_osi_Free(tp, AFS_LRALLOCSIZ); #ifdef KERNEL_HAVE_PIN unpin(tp, AFS_LRALLOCSIZ); #endif + afs_osi_Free(tp, AFS_LRALLOCSIZ); } while ((tp = freeSmallList)) { freeSmallList = tp->next; - afs_osi_Free(tp, AFS_SMALLOCSIZ); #ifdef KERNEL_HAVE_PIN unpin(tp, AFS_SMALLOCSIZ); #endif + afs_osi_Free(tp, AFS_SMALLOCSIZ); } LOCK_INIT(&osi_fsplock, "osi_fsplock"); LOCK_INIT(&osi_flplock, "osi_flplock"); } + if (afs_stats_cmperf.LargeBlocksActive || + afs_stats_cmperf.SmallBlocksActive) + { + afs_warn("WARNING: not all blocks freed: large %d small %d\n", + afs_stats_cmperf.LargeBlocksActive, + afs_stats_cmperf.SmallBlocksActive); + } } #endif diff --git a/src/afs/afs_osi_pag.c b/src/afs/afs_osi_pag.c index 9a11286f8..9494534c7 100644 --- a/src/afs/afs_osi_pag.c +++ b/src/afs/afs_osi_pag.c @@ -23,7 +23,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/afs_osi_pag.c,v 1.21.2.10 2007/02/09 00:32:04 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/afs_osi_pag.c,v 1.21.2.11 2008/01/04 18:40:30 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -145,6 +145,7 @@ getpag(void) */ static int afs_pag_sleepcnt = 0; +static int afs_pag_timewarn = 0; static int afs_pag_sleep(struct AFS_UCRED **acred) @@ -155,6 +156,13 @@ afs_pag_sleep(struct AFS_UCRED **acred) if(osi_Time() - pag_epoch < pagCounter) { rv = 1; } + if (rv && (osi_Time() < pag_epoch)) { + if (!afs_pag_timewarn) { + afs_pag_timewarn = 1; + printf("clock went backwards, not PAG throttling"); + } + rv = 0; + } } return rv; diff --git a/src/afs/afs_pioctl.c b/src/afs/afs_pioctl.c index 454703cf6..cbd3f5859 100644 --- a/src/afs/afs_pioctl.c +++ b/src/afs/afs_pioctl.c @@ -11,7 +11,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/afs_pioctl.c,v 1.81.2.28 2007/08/22 02:15:33 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/afs_pioctl.c,v 1.81.2.31 2008/03/17 16:53:36 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #ifdef AFS_OBSD_ENV @@ -982,8 +982,13 @@ afs_syscall_pioctl(path, com, cmarg, follow) #if defined(AFS_SUN510_ENV) if (vp && !IsAfsVnode(vp)) { struct vnode *realvp; - - if (VOP_REALVP(vp, &realvp) == 0) { + if +#ifdef AFS_SUN511_ENV + (VOP_REALVP(vp, &realvp, NULL) == 0) +#else + (VOP_REALVP(vp, &realvp) == 0) +#endif +{ struct vnode *oldvp = vp; VN_HOLD(realvp); @@ -2773,7 +2778,8 @@ DECL_PIOCTL(PGetVnodeXStatus2) DECL_PIOCTL(PSetSysName) { char *cp, *cp2 = NULL, inname[MAXSYSNAME], outname[MAXSYSNAME]; - int setsysname, foundname = 0; + afs_int32 setsysname; + int foundname = 0; register struct afs_exporter *exporter; register struct unixuser *au; register afs_int32 pag, error; @@ -2790,7 +2796,7 @@ DECL_PIOCTL(PSetSysName) #endif } memset(inname, 0, MAXSYSNAME); - memcpy((char *)&setsysname, ain, sizeof(afs_int32)); + memcpy(&setsysname, ain, sizeof(afs_int32)); ain += sizeof(afs_int32); if (setsysname) { diff --git a/src/afs/afs_prototypes.h b/src/afs/afs_prototypes.h index 8874d94e8..7920b1184 100644 --- a/src/afs/afs_prototypes.h +++ b/src/afs/afs_prototypes.h @@ -195,7 +195,12 @@ extern void afs_InitCBQueue(int doLockInit); extern void afs_DequeueCallback(struct vcache *avc); /* afs_cell.c */ +extern afs_int32 afs_cellindex; extern afs_rwlock_t afs_xcell; +#ifdef AFS_AFSDB_ENV +extern afs_rwlock_t afsdb_client_lock; +extern afs_rwlock_t afsdb_req_lock; +#endif extern struct afs_q CellLRU; extern void afs_CellInit(void); @@ -466,6 +471,7 @@ extern struct afs_exporter *afs_nfsexporter; /* afs_osi.c */ extern afs_lock_t afs_ftf; extern void afs_osi_Invisible(void); +extern void afs_osi_Visible(void); extern void afs_osi_RxkRegister(void); extern void afs_osi_MaskSignals(void); extern void afs_osi_UnmaskRxkSignals(void); @@ -554,7 +560,6 @@ extern void osi_linux_free_inode_pages(void); #endif extern void osi_linux_mask(void); extern void osi_linux_unmask(void); -extern void osi_linux_rxkreg(void); extern int setpag(cred_t ** cr, afs_uint32 pagvalue, afs_uint32 * newpag, int change_parent); #endif diff --git a/src/afs/afs_segments.c b/src/afs/afs_segments.c index ac5b6b85b..951bed009 100644 --- a/src/afs/afs_segments.c +++ b/src/afs/afs_segments.c @@ -14,7 +14,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/afs_segments.c,v 1.16.2.5 2005/02/21 01:15:21 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/afs_segments.c,v 1.16.2.6 2007/12/04 21:12:16 shadow Exp $"); #include "afs/sysincludes.h" /*Standard vendor system headers */ #include "afsincludes.h" /*AFS-based standard headers */ @@ -92,6 +92,10 @@ afs_StoreMini(register struct vcache *avc, struct vrequest *areq) afs_int32 l1, l2; l1 = avc->m.Length; l2 = tlen; + if ((avc->m.Length > 0x7fffffff) || + (tlen > 0x7fffffff) || + ((0x7fffffff - tlen) < avc->m.Length)) + return EFBIG; code = StartRXAFS_StoreData(tcall, (struct AFSFid *)&avc->fid.Fid, diff --git a/src/afs/afs_server.c b/src/afs/afs_server.c index acb376f6b..f9dc5511c 100644 --- a/src/afs/afs_server.c +++ b/src/afs/afs_server.c @@ -33,7 +33,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/afs_server.c,v 1.33.2.10 2007/10/05 02:54:08 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/afs_server.c,v 1.33.2.12 2007/12/11 21:31:52 shadow Exp $"); #include "afs/stds.h" #include "afs/sysincludes.h" /* Standard vendor system headers */ @@ -1129,6 +1129,7 @@ afsi_SetServerIPRank(struct srvAddr *sa, afs_int32 addr, sa->sa_iprank = afs_min(sa->sa_iprank, MED); } } + return; } #else /* AFS_USERSPACE_IP_ADDR */ #if (! defined(AFS_SUN5_ENV)) && !defined(AFS_DARWIN60_ENV) && defined(USEIFADDR) diff --git a/src/afs/afs_stats.h b/src/afs/afs_stats.h index 0206c4797..fa04973c0 100644 --- a/src/afs/afs_stats.h +++ b/src/afs/afs_stats.h @@ -35,6 +35,7 @@ #define AFS_STATS(arg) #define XSTATS_DECLS #define XSTATS_START_TIME(arg) +#define XSTATS_START_CMTIME(arg) #define XSTATS_END_TIME #else /* AFS_NOSTATS */ diff --git a/src/afs/afs_trace.et b/src/afs/afs_trace.et index cf81f078d..1c2640578 100644 --- a/src/afs/afs_trace.et +++ b/src/afs/afs_trace.et @@ -172,5 +172,6 @@ error_table 2 ZCM ec CM_TRACE_LOCKWAIT,"%s line %d: Waiting for lock 0x%lx level %d" ec CM_TRACE_WRITEFAILED, "osi_Write failed len %ld resid %ld err %ld" ec CM_TRACE_ADJUSTSIZE2, "AdjustSize dc = 0x%lx, chunkBytes = 0x%x used = %ld, diff = %ld" + ec CM_TRACE_AFSDB, "AFSDB lookup %s returned %d" end diff --git a/src/afs/afs_vcache.c b/src/afs/afs_vcache.c index 082efa853..aac8ca75b 100644 --- a/src/afs/afs_vcache.c +++ b/src/afs/afs_vcache.c @@ -39,7 +39,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/afs_vcache.c,v 1.65.2.46 2006/11/10 04:35:13 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/afs_vcache.c,v 1.65.2.48 2007/12/13 19:49:30 shadow Exp $"); #include "afs/sysincludes.h" /*Standard vendor system headers */ #include "afsincludes.h" /*AFS-based standard headers */ diff --git a/src/afs/lock.h b/src/afs/lock.h index 852babc38..0abe76400 100644 --- a/src/afs/lock.h +++ b/src/afs/lock.h @@ -102,9 +102,15 @@ extern tid_t thread_self(); #define MyPidxx2Pid(x) ((afs_int32)(x)) #else /* AFS_AIX41_ENV */ #if defined(AFS_HPUX101_ENV) +#if defined(AFS_HPUX1111_ENV) +typedef struct kthread * afs_lock_tracker_t; +#define MyPidxx (u.u_kthreadp) +#define MyPidxx2Pid(x) (x ? kt_tid(x) : 0) +#else typedef struct proc * afs_lock_tracker_t; #define MyPidxx (u.u_procp) #define MyPidxx2Pid(x) (x ? (afs_int32)p_pid(x) : 0) +#endif #else #if defined(AFS_SGI64_ENV) #if defined(AFS_SGI65_ENV) diff --git a/src/afs/sysincludes.h b/src/afs/sysincludes.h index 55ca2bb07..09a87e066 100644 --- a/src/afs/sysincludes.h +++ b/src/afs/sysincludes.h @@ -75,6 +75,9 @@ #if defined(LINUX_KEYRING_SUPPORT) #include #include +#if defined(KEY_TYPE_H_EXISTS) +#include +#endif #ifndef KEY_ALLOC_IN_QUOTA #define KEY_ALLOC_IN_QUOTA 1 #endif diff --git a/src/afsd/afs.rc.darwin b/src/afsd/afs.rc.darwin index 9634790cb..4e3fce37f 100644 --- a/src/afsd/afs.rc.darwin +++ b/src/afsd/afs.rc.darwin @@ -36,19 +36,28 @@ SMALL="-stat 300 -dcache 100 -daemons 2 -volumes 50" if [ -x /usr/sbin/kextstat ]; then KMODSTAT=/usr/sbin/kextstat; fi if [ -x /usr/sbin/kmodstat ]; then KMODSTAT=/usr/sbin/kmodstat; fi +if [ -f $CONFIG/afs.conf ]; then + . $CONFIG/afs.conf +fi + +# Check this file second so that if users have altered the file, it will +# override the default options +if [ -f $AFSDOPT ]; then + OPTIONS=`cat $AFSDOPT` +fi StartService() { echo "Starting OpenAFS" - if [ -f $AFSDOPT ]; then - OPTIONS=`cat $AFSDOPT` + if [ -z "$OPTIONS" ] || [ "$OPTIONS" = "AUTOMATIC" ] ; then + AFSD_OPTIONS="$VERBOSE" else - OPTIONS="$MEDIUM -fakestat" + AFSD_OPTIONS="$OPTIONS $VERBOSE" fi if [ "${NETWORKUP}" = "-NO-" ]; then - echo $OPTIONS | grep -e '-dynroot' || exit + echo $AFSD_OPTIONS | grep -e '-dynroot' || exit fi # Need the commands ps, awk, kill, sleep @@ -76,7 +85,7 @@ StartService() if [ -x /usr/afs/bin/bosserver ]; then echo "Starting AFS Server processes" /usr/afs/bin/bosserver - OPTIONS="$OPTIONS -nosettime" + AFSD_OPTIONS="$AFSD_OPTIONS -nosettime" sleep 30 fi @@ -107,7 +116,13 @@ StartService() done echo "Starting afsd" - $AFSD $OPTIONS + $AFSD $AFSD_OPTIONS + +# +# From /var/db/openafs/etc/config/afs.conf, call a post-init function or +# command if it's been defined +# + $AFS_POST_INIT # # Call afssettings (if it exists) to set customizable parameters @@ -117,6 +132,14 @@ StartService() $CONFIG/afssettings fi +# +# From /var/db/openafs/etc/config/afs.conf, set a sysname list if one was +# configured. +# + if [ -n "$AFS_SYSNAME" ] ; then + fs sysname $AFS_SYSNAME + fi + # # Run package to update the disk # @@ -151,6 +174,12 @@ StopService() { echo "Stopping AFS" +# +# If a pre-shutdown function was defined in /var/db/openafs/etc/config/afs.conf +# was defined, then run it +# + $AFS_PRE_SHUTDOWN + if $KMODSTAT | perl -e 'exit not grep /openafs/, <>' ; then echo "Unmounting /afs" umount -f /afs 2>&1 > /dev/console diff --git a/src/afsd/afs.rc.linux b/src/afsd/afs.rc.linux index 9591579d0..b86189ecd 100644 --- a/src/afsd/afs.rc.linux +++ b/src/afsd/afs.rc.linux @@ -58,7 +58,7 @@ runcmd() { echo } -SYSCNF=/etc/sysconfig/afs +SYSCNF=${SYSCNF:-/etc/sysconfig/afs} KERNEL_VERSION=`uname -r` # Gather up options and post startup script name, if present @@ -69,6 +69,10 @@ fi CACHEINFO=${CACHEINFO:-/usr/vice/etc/cacheinfo} CACHE=${CACHEDIR:-/usr/vice/cache} AFS=${AFSDIR:-/afs} +AFSD=${AFSD:-/usr/vice/etc/afsd} +BOSSERVER=${BOSSERVER:-/usr/afs/bin/bosserver} +BOS=${BOS:-/usr/bin/bos} +KILLAFS=${KILLAFS:-/usr/vice/etc/killafs} # is_on returns 1 if value of arg is "on" is_on() { @@ -183,7 +187,7 @@ set_prefix() esac } -MODLOADDIR=/usr/vice/etc/modload +MODLOADDIR=${MODLOADDIR:-/usr/vice/etc/modload} # load_client loads the AFS client module if it's not already loaded. load_client() { # If LIBAFS is set, use it. @@ -279,13 +283,13 @@ case "$1" in echo "Starting AFS services..... " # Start bosserver, it if exists - if is_on $AFS_SERVER && test -x /usr/afs/bin/bosserver ; then - /usr/afs/bin/bosserver + if is_on $AFS_SERVER && test -x $BOSSERVER ; then + $BOSSERVER test "$afs_rh" && touch /var/lock/subsys/afs if is_on $WAIT_FOR_SALVAGE; then # wait for fileserver to finish salvaging sleep 10 - while /usr/bin/bos status localhost fs 2>&1 | grep 'Auxiliary.*salvaging'; do + while $BOS status localhost fs 2>&1 | grep 'Auxiliary.*salvaging'; do echo "Waiting for salvager to finish..... " sleep 10 done @@ -293,10 +297,10 @@ case "$1" in fi # Start AFS client - if is_on $AFS_CLIENT && test -x /usr/vice/etc/afsd ; then + if is_on $AFS_CLIENT && test -x $AFSD ; then generate_cacheinfo choose_afsdoptions - /usr/vice/etc/afsd ${AFSD_OPTIONS} + $AFSD ${AFSD_OPTIONS} test "$afs_rh" && touch /var/lock/subsys/afs $AFS_POST_INIT fi @@ -309,16 +313,16 @@ case "$1" in echo "Stopping AFS services..... " if is_on $AFS_CLIENT ; then - if [ -x /usr/vice/etc/killafs ] ; then - runcmd "Sending all processes using /afs the TERM signal ..." /usr/vice/etc/killafs TERM - runcmd "Sending all processes using /afs the KILL signal ..." /usr/vice/etc/killafs KILL + if [ -x $KILLAFS ] ; then + runcmd "Sending all processes using /afs the TERM signal ..." $KILLAFS TERM + runcmd "Sending all processes using /afs the KILL signal ..." $KILLAFS KILL fi umount /afs fi - if is_on $AFS_SERVER && test -x /usr/bin/bos ; then + if is_on $AFS_SERVER && test -x $BOS ; then echo "Stopping AFS bosserver" - /usr/bin/bos shutdown localhost -localauth -wait + $BOS shutdown localhost -localauth -wait killall -HUP bosserver fi diff --git a/src/afsd/afsd.c b/src/afsd/afsd.c index 6ff46c3fc..4e824472d 100644 --- a/src/afsd/afsd.c +++ b/src/afsd/afsd.c @@ -58,7 +58,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/afsd/afsd.c,v 1.43.2.23 2007/10/23 14:31:29 shadow Exp $"); + ("$Header: /cvs/openafs/src/afsd/afsd.c,v 1.43.2.25 2007/10/31 22:32:17 shadow Exp $"); #define VFS 1 @@ -1387,8 +1387,8 @@ SweepAFSCache(vFilesFound) return doSweepAFSCache(vFilesFound, cacheBaseDir, -2, maxDir); } -static -ConfigCell(struct afsconf_cell *aci, char *arock, struct afsconf_dir *adir) +static int +ConfigCell(struct afsconf_cell *aci, void *arock, struct afsconf_dir *adir) { int isHomeCell; int i, code; @@ -1420,7 +1420,7 @@ ConfigCell(struct afsconf_cell *aci, char *arock, struct afsconf_dir *adir) static ConfigCellAlias(struct afsconf_cellalias *aca, - char *arock, struct afsconf_dir *adir) + void *arock, struct afsconf_dir *adir) { /* push the alias into the kernel */ call_syscall(AFSOP_ADDCELLALIAS, aca->aliasName, aca->realName); @@ -1513,7 +1513,7 @@ AfsdbLookupHandler() #endif #endif -mainproc(struct cmd_syndesc *as, char *arock) +mainproc(struct cmd_syndesc *as, void *arock) { static char rn[] = "afsd"; /*Name of this routine */ afs_int32 code; /*Result of fork() */ diff --git a/src/afsd/vsys.c b/src/afsd/vsys.c index 3ff94e378..c28b605f9 100644 --- a/src/afsd/vsys.c +++ b/src/afsd/vsys.c @@ -12,19 +12,13 @@ #include #include #include -#ifdef HAVE_STRING_H #include -#else -#ifdef HAVE_STRINGS_H -#include -#endif -#endif #ifdef HAVE_UNISTD_H #include #endif RCSID - ("$Header: /cvs/openafs/src/afsd/vsys.c,v 1.6 2003/07/15 23:14:31 shadow Exp $"); + ("$Header: /cvs/openafs/src/afsd/vsys.c,v 1.6.2.1 2007/10/30 15:23:45 shadow Exp $"); #include diff --git a/src/afsmonitor/afsmon-output.c b/src/afsmonitor/afsmon-output.c index 68b3d78bc..5f8824dda 100644 --- a/src/afsmonitor/afsmon-output.c +++ b/src/afsmonitor/afsmon-output.c @@ -19,17 +19,10 @@ #include #include #include - -#ifdef HAVE_STRING_H #include -#else -#ifdef HAVE_STRINGS_H -#include -#endif -#endif RCSID - ("$Header: /cvs/openafs/src/afsmonitor/afsmon-output.c,v 1.9 2003/07/15 23:14:32 shadow Exp $"); + ("$Header: /cvs/openafs/src/afsmonitor/afsmon-output.c,v 1.9.2.1 2007/10/30 15:23:49 shadow Exp $"); #include #include diff --git a/src/afsmonitor/afsmon-win.c b/src/afsmonitor/afsmon-win.c index 0124b62a3..69d58894c 100644 --- a/src/afsmonitor/afsmon-win.c +++ b/src/afsmonitor/afsmon-win.c @@ -16,15 +16,13 @@ #include RCSID - ("$Header: /cvs/openafs/src/afsmonitor/afsmon-win.c,v 1.10 2003/07/15 23:14:32 shadow Exp $"); + ("$Header: /cvs/openafs/src/afsmonitor/afsmon-win.c,v 1.10.2.2 2007/11/26 21:21:48 shadow Exp $"); #include #include #include #include -#ifdef HAVE_STRING_H #include -#endif #undef IN #include @@ -567,6 +565,7 @@ afsmonExit_gtx() } afsmon_Exit(0); + return 0; /* not reached */ } @@ -1581,7 +1580,7 @@ display_Server_label(a_srcBuf, a_firstObj_o, a_secondObj_o, a_thirdObj_o) } } } - + return 0; } /* display_Server_label */ diff --git a/src/afsmonitor/afsmonitor.c b/src/afsmonitor/afsmonitor.c index 5eb3cbc91..0e5e46d01 100644 --- a/src/afsmonitor/afsmonitor.c +++ b/src/afsmonitor/afsmonitor.c @@ -19,7 +19,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/afsmonitor/afsmonitor.c,v 1.18.2.3 2006/03/09 06:41:34 shadow Exp $"); + ("$Header: /cvs/openafs/src/afsmonitor/afsmonitor.c,v 1.18.2.4 2007/10/31 04:13:32 shadow Exp $"); #include #include @@ -3880,8 +3880,7 @@ afsmon_execute() *----------------------------------------------------------------------*/ int -afsmonInit(as) - struct cmd_syndesc *as; +afsmonInit(struct cmd_syndesc *as, void *arock) { /* afsmonInit() */ static char rn[] = "afsmonInit"; /* Routine name */ @@ -4185,7 +4184,7 @@ main(argc, argv) /* * Set up the commands we understand. */ - ts = cmd_CreateSyntax("initcmd", afsmonInit, 0, "initialize the program"); + ts = cmd_CreateSyntax("initcmd", afsmonInit, NULL, "initialize the program"); cmd_AddParm(ts, "-config", CMD_SINGLE, CMD_OPTIONAL, "configuration file"); cmd_AddParm(ts, "-frequency", CMD_SINGLE, CMD_OPTIONAL, diff --git a/src/afsweb/weblog.c b/src/afsweb/weblog.c index 54b5a8574..9c78c233c 100644 --- a/src/afsweb/weblog.c +++ b/src/afsweb/weblog.c @@ -25,7 +25,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/afsweb/weblog.c,v 1.8.2.1 2006/07/31 17:07:47 shadow Exp $"); + ("$Header: /cvs/openafs/src/afsweb/weblog.c,v 1.8.2.2 2007/10/31 04:13:33 shadow Exp $"); #include #include @@ -123,7 +123,7 @@ main(int argc, char **argv) zero_argc = argc; zero_argv = argv; - ts = cmd_CreateSyntax(NULL, CommandProc, 0, + ts = cmd_CreateSyntax(NULL, CommandProc, NULL, "obtain Kerberos authentication for web servers"); /* define the command line arguments */ @@ -803,10 +803,8 @@ getDFScreds(char *name, char *realm, char *passwd, afs_uint32 lifetime, * arrive through a pipe from the httpds, authenticates the user and * returns a token (or a failure message) over the pipe */ -CommandProc(as, arock) - char *arock; - struct cmd_syndesc *as; - +static int +CommandProc(struct cmd_syndesc *as, void *arock) { char name[MAXKTCNAMELEN]; char cell[MAXKTCREALMLEN]; diff --git a/src/aklog/.cvsignore b/src/aklog/.cvsignore new file mode 100644 index 000000000..51469b193 --- /dev/null +++ b/src/aklog/.cvsignore @@ -0,0 +1,4 @@ +Makefile +aklog +asetkey +klog diff --git a/src/aklog/Makefile.in b/src/aklog/Makefile.in index 24994d76b..e799373f8 100644 --- a/src/aklog/Makefile.in +++ b/src/aklog/Makefile.in @@ -16,7 +16,7 @@ AFSLIBS = ${TOP_LIBDIR}/libprot.a ${TOP_LIBDIR}/libubik.a \ SRCS= aklog.c aklog_main.c krb_util.c linked_list.c OBJS= aklog.o aklog_main.o krb_util.o linked_list.o -all: aklog asetkey +all: aklog asetkey klog aklog: ${OBJS} ${AFSLIBS} ${CC} -o $@ ${CFLAGS} ${OBJS} ${AKLIBS} ${AFSLIBS} ${XLIBS} @@ -24,6 +24,10 @@ aklog: ${OBJS} ${AFSLIBS} asetkey: asetkey.o ${AFSLIBS} ${CC} -o $@ ${CFLAGS} asetkey.o ${AKLIBS} ${AFSLIBS} ${XLIBS} +klog: klog.o skipwrap.o ${AFSLIBS} + ${CC} -o $@ ${CFLAGS} skipwrap.o klog.o ${AKLIBS} ${AFSLIBS} \ + ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/librx.a ${XLIBS} + # # Installation targets # @@ -49,7 +53,7 @@ ${DEST}/root.server/usr/afs/bin/asetkey: asetkey # Misc. targets # clean: - $(RM) -f *.o ${OBJS} aklog asetkey + $(RM) -f *.o ${OBJS} aklog asetkey klog include ../config/Makefile.version diff --git a/src/aklog/aklog_main.c b/src/aklog/aklog_main.c index 0d3c4b4ea..7776d698b 100644 --- a/src/aklog/aklog_main.c +++ b/src/aklog/aklog_main.c @@ -1,5 +1,5 @@ /* - * $Id: aklog_main.c,v 1.1.2.20 2007/10/10 17:47:58 shadow Exp $ + * $Id: aklog_main.c,v 1.1.2.23 2008/01/05 04:48:40 shadow Exp $ * * Copyright 1990,1991 by the Massachusetts Institute of Technology * For distribution and copying rights, see the file "mit-copyright.h" @@ -36,7 +36,7 @@ #if !defined(lint) && !defined(SABER) static char *rcsid = - "$Id: aklog_main.c,v 1.1.2.20 2007/10/10 17:47:58 shadow Exp $"; + "$Id: aklog_main.c,v 1.1.2.23 2008/01/05 04:48:40 shadow Exp $"; #endif /* lint || SABER */ #include @@ -199,7 +199,7 @@ static int get_user_realm(krb5_context, char *); #error "Must have either krb5_princ_size or krb5_principal_get_comp_string" #endif -#if !defined(HAVE_KRB5_ENCRYPT_TKT_PART) && defined(HAVE_ENCODE_KRB5_ENC_TKT_PART) +#if !defined(HAVE_KRB5_ENCRYPT_TKT_PART) && defined(HAVE_ENCODE_KRB5_ENC_TKT_PART) && defined(HAVE_KRB5_C_ENCRYPT) krb5_error_code krb5_encrypt_tkt_part(krb5_context context, const krb5_keyblock *key, @@ -660,6 +660,33 @@ static int auth_to_cell(krb5_context context, char *cell, char *realm) status = get_credv5(context, name, primary_instance, realm_of_cell, &v5cred); +#if !defined(USING_HEIMDAL) && defined(HAVE_KRB5_DECODE_TICKET) + if (status == 0 && strcmp(realm_of_cell, "") == 0) { + krb5_error_code code; + krb5_ticket *ticket; + + code = krb5_decode_ticket(&v5cred->ticket, &ticket); + + if (code != 0) { + fprintf(stderr, + "%s: Couldn't decode ticket to determine realm for " + "cell %s.\n", + progname, cell_to_use); + } else { + int len = realm_len(context, ticket->server); + /* This really shouldn't happen. */ + if (len > REALM_SZ-1) + len = REALM_SZ-1; + + strncpy(realm_of_cell, realm_data(context, ticket->server), + len); + realm_of_cell[len] = 0; + + krb5_free_ticket(context, ticket); + } + } +#endif + if ((status == KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN || status == KRB5KRB_ERR_GENERIC) && !realm_of_cell[0]) { char *afs_realm = afs_realm_of_cell(context, &ak_cellconfig, TRUE); @@ -929,11 +956,14 @@ static int auth_to_cell(krb5_context context, char *cell, char *realm) printf("Setting tokens. %s / %s @ %s \n", aclient.name, aclient.instance, aclient.cell ); } +#ifndef AFS_AIX51_ENV /* on AIX 4.1.4 with AFS 3.4a+ if a write is not done before * this routine, it will not add the token. It is not clear what - * is going on here! So we will do the following operation + * is going on here! So we will do the following operation. + * On AIX 5, it causes the parent program to die, so we won't. */ write(2,"",0); /* dummy write */ +#endif #ifndef WINDOWS if ((status = ktc_SetToken(&aserver, &atoken, &aclient, afssetpag))) { fprintf(stderr, @@ -1690,7 +1720,7 @@ static krb5_error_code get_credv5_akimpersonate(krb5_context context, int *paddress, krb5_creds** out_creds /* out */ ) { -#if defined(USING_HEIMDAL) || (defined(HAVE_ENCODE_KRB5_ENC_TKT) && defined(HAVE_ENCODE_KRB5_TICKET)) +#if defined(USING_HEIMDAL) || (defined(HAVE_ENCODE_KRB5_ENC_TKT) && defined(HAVE_ENCODE_KRB5_TICKET) && defined(HAVE_KRB5_C_ENCRYPT)) krb5_error_code code; krb5_keytab kt = 0; krb5_kt_cursor cursor[1]; diff --git a/src/aklog/asetkey.c b/src/aklog/asetkey.c index 39a3311fb..c12355f55 100644 --- a/src/aklog/asetkey.c +++ b/src/aklog/asetkey.c @@ -1,5 +1,5 @@ /* - * $Id: asetkey.c,v 1.4.2.7 2007/04/10 18:43:40 shadow Exp $ + * $Id: asetkey.c,v 1.4.2.9 2008/03/18 16:11:50 shadow Exp $ * * asetkey - Manipulates an AFS KeyFile * @@ -7,31 +7,25 @@ */ #include -#include #include #include #include +#include #ifdef HAVE_UNISTD_H #include #endif -#ifdef HAVE_STDLIB_H #include -#endif #ifdef HAVE_MEMORY_H #include #endif /* HAVE_MEMORY_H */ -#ifdef HAVE_STRING_H #include -#else /* HAVE_STRING_H */ -#ifdef HAVE_STRINGS_H -#include -#endif /* HAVE_STRINGS_H */ -#endif /* HAVE_STRING_H */ #include #include +#ifndef HAVE_KERBEROSV_HEIM_ERR_H #include +#endif #include #include #include diff --git a/src/aklog/klog.c b/src/aklog/klog.c new file mode 100644 index 000000000..d757906c0 --- /dev/null +++ b/src/aklog/klog.c @@ -0,0 +1,740 @@ +/* + * Copyright 2000, International Business Machines Corporation and others. + * All Rights Reserved. + * + * This software has been released under the terms of the IBM Public + * License. For details, see the LICENSE file in the top-level source + * directory or online at http://www.openafs.org/dl/license10.html + */ + +#include +#include + +#include +#include +#include +#ifdef AFS_AIX32_ENV +#include +#endif +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif +#include + +#include +#include + +#include +#include +#if 0 +#include +#endif +#include +#include +#include +#ifdef AFS_RXK5 +#include "rxk5_utilafs.h" +#endif +#include +#include +#include + +#ifdef HAVE_KRB5_CREDS_KEYBLOCK +#define USING_MIT 1 +#endif +#ifdef HAVE_KRB5_CREDS_SESSION +#define USING_HEIMDAL 1 +#endif + +#ifndef USING_HEIMDAL +extern krb5_cc_ops krb5_mcc_ops; +#endif + +#include "assert.h" + + +/* This code borrowed heavily from the previous version of log. Here is the + intro comment for that program: */ + +/* + log -- tell the Andrew Cache Manager your password + 5 June 1985 + modified + February 1986 + + Further modified in August 1987 to understand cell IDs. + + Further modified in October 2006 to understand kerberos 5. + */ + +/* Current Usage: + klog [principal [password]] [-t] [-c cellname] [-k ] + + where: + principal is of the form 'name' or 'name@cell' which provides the + cellname. See the -c option below. + password is the user's password. This form is NOT recommended for + interactive users. + -t advises klog to write a Kerberos style ticket file in /tmp. + -c identifies cellname as the cell in which authentication is to take + place. + -k identifies an alternate kerberos realm to use provide + authentication services for the cell. + */ + +#define KLOGEXIT(code) rx_Finalize(); \ + (exit(!!code)) +extern int CommandProc(struct cmd_syndesc *as, char *arock); + +static int zero_argc; +static char **zero_argv; + +static krb5_context k5context; +static struct afsconf_dir *tdir; +static int always_evil = 2; /* gcc optimizes 0 into bss. fools. */ + +int +main(int argc, char *argv[]) +{ + struct cmd_syndesc *ts; + afs_int32 code; +#ifdef AFS_AIX32_ENV + /* + * The following signal action for AIX is necessary so that in case of a + * crash (i.e. core is generated) we can include the user's data section + * in the core dump. Unfortunately, by default, only a partial core is + * generated which, in many cases, isn't too useful. + */ + struct sigaction nsa; + + sigemptyset(&nsa.sa_mask); + nsa.sa_handler = SIG_DFL; + nsa.sa_flags = SA_FULLDUMP; + sigaction(SIGABRT, &nsa, NULL); + sigaction(SIGSEGV, &nsa, NULL); +#endif + zero_argc = argc; + zero_argv = argv; + + ts = cmd_CreateSyntax(NULL, CommandProc, 0, + "obtain Kerberos authentication"); + +#define aXFLAG 0 +#define aPRINCIPAL 1 +#define aPASSWORD 2 +#define aCELL 3 +#define aKRBREALM 4 +#define aPIPE 5 +#define aSILENT 6 +#define aLIFETIME 7 +#define aSETPAG 8 +#define aTMP 9 +#define aNOPRDB 10 +#define aUNWRAP 11 +#define aK5 12 +#define aK4 13 + + cmd_AddParm(ts, "-x", CMD_FLAG, CMD_OPTIONAL|CMD_HIDDEN, 0); + cmd_Seek(ts, aPRINCIPAL); + cmd_AddParm(ts, "-principal", CMD_SINGLE, CMD_OPTIONAL, "user name"); + cmd_AddParm(ts, "-password", CMD_SINGLE, CMD_OPTIONAL, "user's password"); + cmd_AddParm(ts, "-cell", CMD_SINGLE, CMD_OPTIONAL, "cell name"); + cmd_AddParm(ts, "-k", CMD_SINGLE, CMD_OPTIONAL, "krb5 realm"); + cmd_AddParm(ts, "-pipe", CMD_FLAG, CMD_OPTIONAL, + "read password from stdin"); + cmd_AddParm(ts, "-silent", CMD_FLAG, CMD_OPTIONAL, "silent operation"); + cmd_AddParm(ts, "-lifetime", CMD_SINGLE, CMD_OPTIONAL, + "ticket lifetime in hh[:mm[:ss]]"); + cmd_AddParm(ts, "-setpag", CMD_FLAG, CMD_OPTIONAL, + "Create a new setpag before authenticating"); + cmd_AddParm(ts, "-tmp", CMD_FLAG, CMD_OPTIONAL, + "write Kerberos-style ticket file in /tmp"); + cmd_AddParm(ts, "-noprdb", CMD_FLAG, CMD_OPTIONAL, "don't consult pt"); + cmd_AddParm(ts, "-unwrap", CMD_FLAG, CMD_OPTIONAL, "perform 524d conversion"); +#ifdef AFS_RXK5 + cmd_AddParm(ts, "-k5", CMD_FLAG, CMD_OPTIONAL, "get rxk5 credentials"); + cmd_AddParm(ts, "-k4", CMD_FLAG, CMD_OPTIONAL, "get rxkad credentials"); +#else + ++ts->nParms; /* skip -k5 */ + cmd_AddParm(ts, "-k4", CMD_FLAG, CMD_OPTIONAL|CMD_HIDDEN, 0); +#endif + + code = cmd_Dispatch(argc, argv); + KLOGEXIT(code); +} + +static char * +getpipepass(void) +{ + static char gpbuf[BUFSIZ]; + /* read a password from stdin, stop on \n or eof */ + register int i, tc; + memset(gpbuf, 0, sizeof(gpbuf)); + for (i = 0; i < (sizeof(gpbuf) - 1); i++) { + tc = fgetc(stdin); + if (tc == '\n' || tc == EOF) + break; + gpbuf[i] = tc; + } + return gpbuf; +} + +void +silent_errors(const char *who, + afs_int32 code, + const char *fmt, + va_list ap) +{ + /* ignore and don't print error */ +} + +#if defined(HAVE_KRB5_PRINC_SIZE) || defined(krb5_princ_size) + +#define get_princ_str(c, p, n) krb5_princ_component(c, p, n)->data +#define get_princ_len(c, p, n) krb5_princ_component(c, p, n)->length +#define num_comp(c, p) (krb5_princ_size(c, p)) +#define realm_data(c, p) krb5_princ_realm(c, p)->data +#define realm_len(c, p) krb5_princ_realm(c, p)->length + +#elif defined(HAVE_KRB5_PRINCIPAL_GET_COMP_STRING) + +#define get_princ_str(c, p, n) krb5_principal_get_comp_string(c, p, n) +#define get_princ_len(c, p, n) strlen(krb5_principal_get_comp_string(c, p, n)) +#define num_comp(c, p) ((p)->name.name_string.len) +#define realm_data(c, p) krb5_realm_data(krb5_principal_get_realm(c, p)) +#define realm_len(c, p) krb5_realm_length(krb5_principal_get_realm(c, p)) + +#else +#error "Must have either krb5_princ_size or krb5_principal_get_comp_string" +#endif + +#if defined(HAVE_KRB5_CREDS_KEYBLOCK) + +#define get_cred_keydata(c) c->keyblock.contents +#define get_cred_keylen(c) c->keyblock.length +#define get_creds_enctype(c) c->keyblock.enctype + +#elif defined(HAVE_KRB5_CREDS_SESSION) + +#define get_cred_keydata(c) c->session.keyvalue.data +#define get_cred_keylen(c) c->session.keyvalue.length +#define get_creds_enctype(c) c->session.keytype + +#else +#error "Must have either keyblock or session member of krb5_creds" +#endif + +static int +whoami(struct ktc_token *atoken, + struct afsconf_cell *cellconfig, + struct ktc_principal *aclient, + int *vicep) +{ + int scIndex; + int code; + int i; + struct ubik_client *ptconn = 0; + struct rx_securityClass *sc; + struct rx_connection *conns[MAXSERVERS+1]; + idlist lids[1]; + namelist lnames[1]; + char tempname[PR_MAXNAMELEN + 1]; + + memset(lnames, 0, sizeof *lnames); + memset(lids, 0, sizeof *lids); + scIndex = 2; + sc = rxkad_NewClientSecurityObject(rxkad_auth, + &atoken->sessionKey, atoken->kvno, + atoken->ticketLen, atoken->ticket); + for (i = 0; i < cellconfig->numServers; ++i) + conns[i] = rx_NewConnection(cellconfig->hostAddr[i].sin_addr.s_addr, + cellconfig->hostAddr[i].sin_port, PRSRV, sc, scIndex); + conns[i] = 0; + ptconn = 0; + if ((code = ubik_ClientInit(conns, &ptconn))) + goto Failed; + if (*aclient->instance) + snprintf (tempname, sizeof tempname, "%s.%s", + aclient->name, aclient->instance); + else + snprintf (tempname, sizeof tempname, "%s", aclient->name); + lnames->namelist_len = 1; + lnames->namelist_val = (prname *) tempname; + code = ubik_PR_NameToID(ptconn, 0, lnames, lids); + if (lids->idlist_val) { + *vicep = *lids->idlist_val; + } +Failed: + if (lids->idlist_val) free(lids->idlist_val); + if (ptconn) ubik_ClientDestroy(ptconn); + return code; +} + +static void +k5_to_k4_name(krb5_context k5context, + krb5_principal k5princ, + struct ktc_principal *ktcprinc) +{ + int i; + + switch(num_comp(k5context, k5princ)) { + default: + /* case 2: */ + i = get_princ_len(k5context, k5princ, 1); + if (i > MAXKTCNAMELEN-1) i = MAXKTCNAMELEN-1; + memcpy(ktcprinc->instance, get_princ_str(k5context, k5princ, 1), i); + /* fall through */ + case 1: + i = get_princ_len(k5context, k5princ, 0); + if (i > MAXKTCNAMELEN-1) i = MAXKTCNAMELEN-1; + memcpy(ktcprinc->name, get_princ_str(k5context, k5princ, 0), i); + /* fall through */ + case 0: + break; + } +} + +/* save and reuse password. This is necessary to make + * "direct to service" authentication work with most + * flavors of kerberos, when the afs principal has no instance. + */ +struct kp_arg { + char **pp, *pstore; +}; +krb5_error_code +klog_prompter(krb5_context context, + void *a, + const char *name, + const char *banner, + int num_prompts, + krb5_prompt prompts[]) +{ + krb5_error_code code; + int i, type; +#ifndef USING_HEIMDAL + krb5_prompt_type *types; +#endif + struct kp_arg *kparg = (struct kp_arg *) a; + code = krb5_prompter_posix(context, a, name, banner, num_prompts, prompts); + if (code) return code; +#ifndef USING_HEIMDAL + if ((types = krb5_get_prompt_types(context))) +#endif + for (i = 0; i < num_prompts; ++i) { +#ifdef USING_HEIMDAL + type = prompts[i].type; +#else + type = types[i]; +#endif +#if 0 + printf ("i%d t%d <%.*s>\n", i, +type, +prompts[i].reply->length, +prompts[i].reply->data); +#endif + switch(type) { + case KRB5_PROMPT_TYPE_PASSWORD: + case KRB5_PROMPT_TYPE_NEW_PASSWORD_AGAIN: + memcpy(kparg->pstore, prompts[i].reply->data, prompts[i].reply->length); + kparg->pstore[prompts[i].reply->length] = 0; + *kparg->pp = kparg->pstore; + } + } + return 0; +} + +int +CommandProc(struct cmd_syndesc *as, char *arock) +{ + krb5_principal princ = 0; + char *cell, *pname, **hrealms, *service; + char service_temp[MAXKTCREALMLEN + 20]; + char realm[MAXKTCREALMLEN]; + char lrealm[MAXKTCREALMLEN]; /* uppercase copy of local cellname */ + krb5_creds incred[1], mcred[1], *outcred = 0, *afscred; + krb5_ccache cc = 0; + krb5_get_init_creds_opt gic_opts[1]; + char *tofree, *outname; + int code; + char *what; + int i, dosetpag, evil, noprdb, id; +#ifdef AFS_RXK5 + int authtype; +#endif + krb5_data enc_part[1]; + time_t lifetime; /* requested ticket lifetime */ + krb5_prompter_fct pf = NULL; + char *pass = 0; + void *pa = 0; + struct kp_arg klog_arg[1]; + + char passwd[BUFSIZ]; + struct afsconf_cell cellconfig[1]; + + static char rn[] = "klog"; /*Routine name */ + static int Pipe = 0; /* reading from a pipe */ + static int Silent = 0; /* Don't want error messages */ + + int local; /* explicit cell is same a local one */ + int writeTicketFile = 0; /* write ticket file to /tmp */ + + char *reason; /* string describing errors */ + + service = 0; + memset(incred, 0, sizeof *incred); + /* blow away command line arguments */ + for (i = 1; i < zero_argc; i++) + memset(zero_argv[i], 0, strlen(zero_argv[i])); + zero_argc = 0; + memset(klog_arg, 0, sizeof *klog_arg); + + /* first determine quiet flag based on -silent switch */ + Silent = (as->parms[aSILENT].items ? 1 : 0); + + if (Silent) { + set_com_err_hook(silent_errors); + } + + if ((code = krb5_init_context(&k5context))) { + com_err(rn, code, "while initializing Kerberos 5 library"); + KLOGEXIT(code); + } + if ((code = rx_Init(0))) { + com_err(rn, code, "while initializing rx"); + KLOGEXIT(code); + } + initialize_U_error_table(); + /*initialize_krb5_error_table();*/ + initialize_RXK_error_table(); + initialize_KTC_error_table(); + initialize_ACFG_error_table(); + /* initialize_rx_error_table(); */ + if (!(tdir = afsconf_Open(AFSDIR_CLIENT_ETC_DIRPATH))) { + com_err(rn, 0, "can't get afs configuration (afsconf_Open(%s))", + rn, AFSDIR_CLIENT_ETC_DIRPATH); + KLOGEXIT(1); + } + + /* Parse remaining arguments. */ + + dosetpag = !! as->parms[aSETPAG].items; + Pipe = !! as->parms[aPIPE].items; + writeTicketFile = !! as->parms[aTMP].items; + noprdb = !! as->parms[aNOPRDB].items; + evil = (always_evil&1) || !! as->parms[aUNWRAP].items; + +#ifdef AFS_RXK5 + authtype = 0; + if (as->parms[aK5].items) + authtype |= FORCE_RXK5; + if (as->parms[aK4].items) + authtype |= FORCE_RXKAD; + if (!authtype) + authtype |= env_afs_rxk5_default(); +#endif + + cell = as->parms[aCELL].items ? cell = as->parms[aCELL].items->data : 0; + if ((code = afsconf_GetCellInfo(tdir, cell, "afsprot", cellconfig))) { + if (cell) + com_err(rn, code, "Can't get cell information for '%s'", cell); + else + com_err(rn, code, "Can't get determine local cell!"); + KLOGEXIT(code); + } + + if (as->parms[aKRBREALM].items) { + code = krb5_set_default_realm(k5context, + (const char *) as->parms[aKRBREALM].items); + if (code) { + com_err(rn, code, "Can't make <%s> the default realm", + as->parms[aKRBREALM].items); + KLOGEXIT(code); + } + } + else if ((code = krb5_get_host_realm(k5context, cellconfig->hostName[0], &hrealms))) { + com_err(rn, code, "Can't get realm for host <%s> in cell <%s>\n", + cellconfig->hostName[0], cellconfig->name); + KLOGEXIT(code); + } else { + if (hrealms && *hrealms) { + code = krb5_set_default_realm(k5context, + *hrealms); + if (code) { + com_err(rn, code, "Can't make <%s> the default realm", + *hrealms); + KLOGEXIT(code); + } + } + if (hrealms) krb5_free_host_realm(k5context, hrealms); + } + + id = getuid(); + if (as->parms[aPRINCIPAL].items) { + pname = as->parms[aPRINCIPAL].items->data; + } else { + /* No explicit name provided: use Unix uid. */ + struct passwd *pw; + pw = getpwuid(id); + if (pw == 0) { + com_err(rn, 0, + "Can't figure out your name from your user id (%d).", id); + if (!Silent) + fprintf(stderr, "%s: Try providing the user name.\n", rn); + KLOGEXIT(1); + } + pname = pw->pw_name; + } + code = krb5_parse_name(k5context, pname, &princ); + if (code) { + com_err(rn, code, "Can't parse principal <%s>", pname); + KLOGEXIT(code); + } + + if (as->parms[aPASSWORD].items) { + /* + * Current argument is the desired password string. Remember it in + * our local buffer, and zero out the argument string - anyone can + * see it there with ps! + */ + strncpy(passwd, as->parms[aPASSWORD].items->data, sizeof(passwd)); + memset(as->parms[aPASSWORD].items->data, 0, + strlen(as->parms[aPASSWORD].items->data)); + pass = passwd; + } + + if (as->parms[aLIFETIME].items) { + char *life = as->parms[aLIFETIME].items->data; + char *sp; /* string ptr to rest of life */ + lifetime = 3600 * strtol(life, &sp, 0); /* hours */ + if (sp == life) { + bad_lifetime: + if (!Silent) + fprintf(stderr, "%s: translating '%s' to lifetime failed\n", + rn, life); + return 1; + } + if (*sp == ':') { + life = sp + 1; /* skip the colon */ + lifetime += 60 * strtol(life, &sp, 0); /* minutes */ + if (sp == life) + goto bad_lifetime; + if (*sp == ':') { + life = sp + 1; + lifetime += strtol(life, &sp, 0); /* seconds */ + if (sp == life) + goto bad_lifetime; + if (*sp) + goto bad_lifetime; + } else if (*sp) + goto bad_lifetime; + } else if (*sp) + goto bad_lifetime; + } else + lifetime = 0; + + /* Get the password if it wasn't provided. */ + if (!pass) { + if (Pipe) { + strncpy(passwd, getpipepass(), sizeof(passwd)); + pass = passwd; + } else { + pf = klog_prompter; + pa = (char *)klog_arg; + } + } + + service = 0; +#ifdef AFS_RXK5 + if (authtype & FORCE_RXK5) { + tofree = get_afs_krb5_svc_princ(cellconfig); + snprintf(service_temp, sizeof service_temp, "%s", tofree); + } else +#endif + snprintf (service_temp, sizeof service_temp, "afs/%s", cellconfig->name); + if (writeTicketFile) + service = 0; + else + service = service_temp; + + klog_arg->pp = &pass; + klog_arg->pstore = passwd; + /* XXX should allow k5 to prompt in most cases -- what about expired pw?*/ + krb5_get_init_creds_opt_init(gic_opts); + for (;;) { + code = krb5_get_init_creds_password(k5context, + incred, + princ, + pass, + pf, /* prompter */ + pa, /* data */ + 0, /* start_time */ + service, /* in_tkt_service */ + gic_opts); + if (code != KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN || service != service_temp) break; +#ifdef AFS_RXK5 + if (authtype & FORCE_RXK5) break; +#endif + service = "afs"; + } + memset(passwd, 0, sizeof(passwd)); + if (code) { + char *r = 0; + if (krb5_get_default_realm(k5context, &r)) + r = 0; + if (service) + com_err(rn, code, "Unable to authenticate to use %s", service); + else if (r) + com_err(rn, code, "Unable to authenticate in realm %s", r); + else + com_err(rn, code, "Unable to authenticate to use cell %s", + cellconfig->name); + if (r) free(r); + KLOGEXIT(code); + } + + if (service) { + afscred = incred; + } else { + for (;;writeTicketFile = 0) { + if (writeTicketFile) { + what = "getting default ccache"; + code = krb5_cc_default(k5context, &cc); + } else { +#ifdef HAVE_KRB5_CC_REGISTER + what = "krb5_cc_register"; + code = krb5_cc_register(k5context, &krb5_mcc_ops, FALSE); + if (code && code != KRB5_CC_TYPE_EXISTS) goto Failed; +#endif + what = "krb5_cc_resolve"; + code = krb5_cc_resolve(k5context, "MEMORY:core", &cc); + if (code) goto Failed; + } + what = "initializing ccache"; + code = krb5_cc_initialize(k5context, cc, princ); + if (code) goto Failed; + what = "writing Kerberos ticket file"; + code = krb5_cc_store_cred(k5context, cc, incred); + if (code) goto Failed; + if (writeTicketFile) + fprintf(stderr, + "Wrote ticket file to %s\n", + krb5_cc_get_name(k5context, cc)); + break; + Failed: + if (code) + com_err(rn, code, what); + if (writeTicketFile) { + if (cc) { + krb5_cc_close(k5context, cc); + cc = 0; + } + continue; + } + KLOGEXIT(code); + } + + for (service = service_temp;;service = "afs") { + memset(mcred, 0, sizeof *mcred); + mcred->client = princ; + code = krb5_parse_name(k5context, service, &mcred->server); + if (code) { + com_err(rn, code, "Unable to parse service <%s>\n", service); + KLOGEXIT(code); + } + if (tofree) { free(tofree); tofree = 0; } + if (!(code = krb5_unparse_name(k5context, mcred->server, &outname))) + tofree = outname; + else outname = service; + code = krb5_get_credentials(k5context, 0, cc, mcred, &outcred); + krb5_free_principal(k5context, mcred->server); + if (code != KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN || service != service_temp) break; +#ifdef AFS_RXK5 + if (authtype & FORCE_RXK5) break; +#endif + } + afscred = outcred; + } + if (code) { + com_err(rn, code, "Unable to get credentials to use %s", outname); + KLOGEXIT(code); + } + +#ifdef AFS_RXK5 + if (authtype & FORCE_RXK5) { + struct ktc_principal aserver[1]; + int viceid = 555; + + memset(aserver, 0, sizeof *aserver); + strncpy(aserver->cell, cellconfig->name, MAXKTCREALMLEN-1); + code = ktc_SetK5Token(k5context, aserver, afscred, viceid, dosetpag); + if (code) { + com_err(rn, code, "Unable to store tokens for cell %s\n", + cellconfig->name); + KLOGEXIT(1); + } + } else +#endif + { + struct ktc_principal aserver[1], aclient[1]; + struct ktc_token atoken[1]; + + memset(atoken, 0, sizeof *atoken); + if (evil) { + atoken->kvno = RXKAD_TKT_TYPE_KERBEROS_V5_ENCPART_ONLY; + if (afs_krb5_skip_ticket_wrapper(afscred->ticket.data, + afscred->ticket.length, &enc_part->data, + &enc_part->length)) { + com_err(rn, 0, "Can't unwrap %s AFS credential", + cellconfig->name); + KLOGEXIT(1); + } + } else { + atoken->kvno = RXKAD_TKT_TYPE_KERBEROS_V5; + *enc_part = afscred->ticket; + } + atoken->startTime = afscred->times.starttime; + atoken->endTime = afscred->times.endtime; + memcpy(&atoken->sessionKey, get_cred_keydata(afscred), + get_cred_keylen(afscred)); + memcpy(atoken->ticket, enc_part->data, + atoken->ticketLen = enc_part->length); + memset(aserver, 0, sizeof *aserver); + strncpy(aserver->name, "afs", 4); + strncpy(aserver->cell, cellconfig->name, MAXKTCREALMLEN-1); + memset(aclient, 0, sizeof *aclient); + i = realm_len(k5context, afscred->client); + if (i > MAXKTCREALMLEN-1) i = MAXKTCREALMLEN-1; + memcpy(aclient->cell, realm_data(k5context, afscred->client), i); + if (!noprdb) { + int viceid; + k5_to_k4_name(k5context, afscred->client, aclient); + code = whoami(atoken, cellconfig, aclient, &viceid); + if (code) { + com_err(rn, code, "Can't get your viceid", cellconfig->name); + *aclient->name = 0; + } else + snprintf(aclient->name, MAXKTCNAMELEN-1, "AFS ID %d", viceid); + } + if (!*aclient->name) + k5_to_k4_name(k5context, afscred->client, aclient); + code = ktc_SetToken(aserver, atoken, aclient, dosetpag); + if (code) { + com_err(rn, code, "Unable to store tokens for cell %s\n", + cellconfig->name); + KLOGEXIT(1); + } + } + + krb5_free_principal(k5context, princ); + krb5_free_cred_contents(k5context, incred); + if (outcred) krb5_free_creds(k5context, outcred); + if (cc) + krb5_cc_close(k5context, cc); + if (tofree) free(tofree); + + return 0; +} diff --git a/src/aklog/skipwrap.c b/src/aklog/skipwrap.c new file mode 100644 index 000000000..d920bd7d6 --- /dev/null +++ b/src/aklog/skipwrap.c @@ -0,0 +1,124 @@ + +/* + * Copyright (c) 2006 + * The Regents of the University of Michigan + * ALL RIGHTS RESERVED + * + * Permission is granted to use, copy, create derivative works + * and redistribute this software and such derivative works + * for any purpose, so long as the name of the University of + * Michigan is not used in any advertising or publicity + * pertaining to the use or distribution of this software + * without specific, written prior authorization. If the + * above copyright notice or any other identification of the + * University of Michigan is included in any copy of any + * portion of this software, then the disclaimer below must + * also be included. + * + * This software is provided as is, without representation + * from the University of Michigan as to its fitness for any + * purpose, and without warranty by the University of + * Michigan of any kind, either express or implied, including + * without limitation the implied warranties of + * merchantability and fitness for a particular purpose. The + * regents of the University of Michigan shall not be liable + * for any damages, including special, indirect, incidental, or + * consequential damages, with respect to any claim arising + * out of or in connection with the use of the software, even + * if it has been or is hereafter advised of the possibility of + * such damages. + */ + +#include +#include +#include +#include +#include + +/* evil hack */ +#define SEQUENCE 16 +#define CONSTRUCTED 32 +#define APPLICATION 64 +#define CONTEXT_SPECIFIC 128 +static int skip_get_number(char **pp, size_t *lp, int *np) +{ + unsigned l; + int r, n, i; + char *p; + + l = *lp; + if (l < 1) { +#ifdef DEBUG + fprintf(stderr, "skip_bad_number: missing number\n"); +#endif + return -1; + } + p = *pp; + r = (unsigned char)*p; + ++p; --l; + if (r & 0x80) { + n = (r&0x7f); + if (l < n) { +#ifdef DEBUG + fprintf(stderr, "skip_bad_number: truncated number\n"); +#endif + return -1; + } + r = 0; + for (i = n; --i >= 0; ) { + r <<= 8; + r += (unsigned char)*p; + ++p; --l; + } + } + *np = r; + *pp = p; + *lp = l; + return 0; +} + +int +afs_krb5_skip_ticket_wrapper(char *tix, size_t tixlen, char **enc, size_t *enclen) +{ + char *p = tix; + size_t l = tixlen; + int code; + int num; + + if (l < 1) return -1; + if (*p != (char) (CONSTRUCTED+APPLICATION+1)) return -1; + ++p; --l; + if ((code = skip_get_number(&p, &l, &num))) return code; + if (l != num) return -1; + if (l < 1) return -1; + if (*p != (char)(CONSTRUCTED+SEQUENCE)) return -1; + ++p; --l; + if ((code = skip_get_number(&p, &l, &num))) return code; + if (l != num) return -1; + if (l < 1) return -1; + if (*p != (char)(CONSTRUCTED+CONTEXT_SPECIFIC+0)) return -1; + ++p; --l; + if ((code = skip_get_number(&p, &l, &num))) return code; + if (l < num) return -1; + l -= num; p += num; + if (l < 1) return -1; + if (*p != (char)(CONSTRUCTED+CONTEXT_SPECIFIC+1)) return -1; + ++p; --l; + if ((code = skip_get_number(&p, &l, &num))) return code; + if (l < num) return -1; + l -= num; p += num; + if (l < 1) return -1; + if (*p != (char)(CONSTRUCTED+CONTEXT_SPECIFIC+2)) return -1; + ++p; --l; + if ((code = skip_get_number(&p, &l, &num))) return code; + if (l < num) return -1; + l -= num; p += num; + if (l < 1) return -1; + if (*p != (char)(CONSTRUCTED+CONTEXT_SPECIFIC+3)) return -1; + ++p; --l; + if ((code = skip_get_number(&p, &l, &num))) return code; + if (l != num) return -1; + *enc = p; + *enclen = l; + return 0; +} diff --git a/src/auth/authcon.c b/src/auth/authcon.c index 16d25e65d..364508b0a 100644 --- a/src/auth/authcon.c +++ b/src/auth/authcon.c @@ -15,7 +15,7 @@ #endif RCSID - ("$Header: /cvs/openafs/src/auth/authcon.c,v 1.13.2.1 2004/08/25 07:09:36 shadow Exp $"); + ("$Header: /cvs/openafs/src/auth/authcon.c,v 1.13.2.3 2007/11/01 16:09:43 shadow Exp $"); #if defined(UKERNEL) #include "afs/sysincludes.h" @@ -23,6 +23,7 @@ RCSID #include "afs/stds.h" #include "afs/pthread_glock.h" #include "des/des.h" +#include "des/des_prototypes.h" #include "rx/rxkad.h" #include "rx/rx.h" #include "afs/cellconfig.h" @@ -41,7 +42,10 @@ RCSID #include #include #endif +#include +#include #include +#include #include #include #include "cellconfig.h" @@ -51,9 +55,7 @@ RCSID /* return a null security object if nothing else can be done */ static afs_int32 -QuickAuth(astr, aindex) - struct rx_securityClass **astr; - afs_int32 *aindex; +QuickAuth(struct rx_securityClass **astr, afs_int32 *aindex) { register struct rx_securityClass *tc; tc = rxnull_NewClientSecurityObject(); @@ -65,10 +67,9 @@ QuickAuth(astr, aindex) #if !defined(UKERNEL) /* Return an appropriate security class and index */ afs_int32 -afsconf_ServerAuth(adir, astr, aindex) - register struct afsconf_dir *adir; - struct rx_securityClass **astr; - afs_int32 *aindex; +afsconf_ServerAuth(register struct afsconf_dir *adir, + struct rx_securityClass **astr, + afs_int32 *aindex) { register struct rx_securityClass *tclass; @@ -88,11 +89,10 @@ afsconf_ServerAuth(adir, astr, aindex) #endif /* !defined(UKERNEL) */ static afs_int32 -GenericAuth(adir, astr, aindex, enclevel) - struct afsconf_dir *adir; - struct rx_securityClass **astr; - afs_int32 *aindex; - rxkad_level enclevel; +GenericAuth(struct afsconf_dir *adir, + struct rx_securityClass **astr, + afs_int32 *aindex, + rxkad_level enclevel) { char tbuffer[256]; struct ktc_encryptionKey key, session; @@ -159,10 +159,9 @@ afsconf_ClientAuth(struct afsconf_dir * adir, struct rx_securityClass ** astr, * tells rxkad to encrypt the data, too. */ afs_int32 -afsconf_ClientAuthSecure(adir, astr, aindex) - struct afsconf_dir *adir; - struct rx_securityClass **astr; - afs_int32 *aindex; +afsconf_ClientAuthSecure(struct afsconf_dir *adir, + struct rx_securityClass **astr, + afs_int32 *aindex) { afs_int32 rc; diff --git a/src/auth/cellconfig.c b/src/auth/cellconfig.c index 9645f28d7..0207acfff 100644 --- a/src/auth/cellconfig.c +++ b/src/auth/cellconfig.c @@ -11,13 +11,15 @@ #include RCSID - ("$Header: /cvs/openafs/src/auth/cellconfig.c,v 1.40.2.14 2006/12/30 16:56:39 jaltman Exp $"); + ("$Header: /cvs/openafs/src/auth/cellconfig.c,v 1.40.2.19 2007/11/02 18:26:38 shadow Exp $"); #include #include #ifdef UKERNEL #include "afs/sysincludes.h" #include "afsincludes.h" +#include "des/des.h" +#include "rx/rxkad.h" #else /* UKERNEL */ #include #ifdef AFS_NT40_ENV @@ -47,16 +49,12 @@ RCSID #include #include #include -#ifdef HAVE_STRING_H #include -#else -#ifdef HAVE_STRINGS_H -#include -#endif -#endif #ifdef HAVE_UNISTD_H #include #endif +#include +#include #endif /* UKERNEL */ #include #include "cellconfig.h" @@ -311,7 +309,10 @@ IsClientConfigDirectory(const char *path) static int afsconf_Check(register struct afsconf_dir *adir) { - char tbuffer[256], *p; + char tbuffer[256]; +#ifdef AFS_NT40_ENV + char *p; +#endif struct stat tstat; register afs_int32 code; @@ -357,9 +358,11 @@ afsconf_Check(register struct afsconf_dir *adir) static int afsconf_Touch(register struct afsconf_dir *adir) { - char tbuffer[256], *p; + char tbuffer[256]; #ifndef AFS_NT40_ENV struct timeval tvp[2]; +#else + char *p; #endif adir->timeRead = 0; /* just in case */ @@ -781,8 +784,8 @@ ParseCellLine(register char *aline, register char *aname, /* call aproc(entry, arock, adir) for all cells. Proc must return 0, or we'll stop early and return the code it returns */ int afsconf_CellApply(struct afsconf_dir *adir, - int (*aproc) (struct afsconf_cell * cell, char *arock, - struct afsconf_dir * dir), char *arock) + int (*aproc) (struct afsconf_cell * cell, void *arock, + struct afsconf_dir * dir), void *arock) { register struct afsconf_entry *tde; register afs_int32 code; @@ -804,8 +807,8 @@ afsconf_CellApply(struct afsconf_dir *adir, int afsconf_CellAliasApply(struct afsconf_dir *adir, int (*aproc) (struct afsconf_cellalias * alias, - char *arock, struct afsconf_dir * dir), - char *arock) + void *arock, struct afsconf_dir * dir), + void *arock) { register struct afsconf_aliasentry *tde; register afs_int32 code; @@ -1282,7 +1285,8 @@ afsconf_GetKeys(struct afsconf_dir *adir, struct afsconf_keys *astr) /* get latest key */ afs_int32 -afsconf_GetLatestKey(struct afsconf_dir * adir, afs_int32 * avno, char *akey) +afsconf_GetLatestKey(struct afsconf_dir * adir, afs_int32 * avno, + struct ktc_encryptionKey *akey) { register int i; int maxa; @@ -1323,8 +1327,9 @@ afsconf_GetLatestKey(struct afsconf_dir * adir, afs_int32 * avno, char *akey) /* get a particular key */ int -afsconf_GetKey(struct afsconf_dir *adir, afs_int32 avno, char *akey) +afsconf_GetKey(void *rock, afs_int32 avno, struct ktc_encryptionKey *akey) { + struct afsconf_dir *adir = (struct afsconf_dir *) rock; register int i, maxa; register struct afsconf_key *tk; register afs_int32 code; diff --git a/src/auth/cellconfig.p.h b/src/auth/cellconfig.p.h index e2ae6ed2d..4819510f8 100644 --- a/src/auth/cellconfig.p.h +++ b/src/auth/cellconfig.p.h @@ -101,14 +101,14 @@ struct afsconf_servPair { extern struct afsconf_dir *afsconf_Open(register const char *adir); extern int afsconf_CellApply(struct afsconf_dir *adir, int (*aproc) (struct afsconf_cell * cell, - char *arock, + void *arock, struct afsconf_dir * dir), - char *arock); + void *arock); extern int afsconf_CellAliasApply(struct afsconf_dir *adir, int (*aproc) (struct afsconf_cellalias * - alias, char *arock, + alias, void *arock, struct afsconf_dir * dir), - char *arock); + void *arock); extern int afsconf_GetExtendedCellInfo(struct afsconf_dir *adir, char *acellName, char *aservice, struct afsconf_cell *acellInfo, @@ -125,9 +125,10 @@ extern int afsconf_IntGetKeys(struct afsconf_dir *adir); extern int afsconf_GetKeys(struct afsconf_dir *adir, struct afsconf_keys *astr); extern afs_int32 afsconf_GetLatestKey(struct afsconf_dir *adir, - afs_int32 * avno, char *akey); -extern int afsconf_GetKey(struct afsconf_dir *adir, afs_int32 avno, - char *akey); + afs_int32 * avno, + struct ktc_encryptionKey *akey); +extern int afsconf_GetKey(void *rock, afs_int32 avno, + struct ktc_encryptionKey *akey); extern int afsconf_AddKey(struct afsconf_dir *adir, afs_int32 akvno, char akey[8], afs_int32 overwrite); extern int afsconf_DeleteKey(struct afsconf_dir *adir, afs_int32 akvno); diff --git a/src/auth/copyauth.c b/src/auth/copyauth.c index ae650eaa8..2f8abdc15 100644 --- a/src/auth/copyauth.c +++ b/src/auth/copyauth.c @@ -11,16 +11,9 @@ #include RCSID - ("$Header: /cvs/openafs/src/auth/copyauth.c,v 1.6 2003/07/15 23:14:41 shadow Exp $"); + ("$Header: /cvs/openafs/src/auth/copyauth.c,v 1.6.2.2 2007/11/01 16:09:43 shadow Exp $"); -#ifdef HAVE_STRING_H #include -#else -#ifdef HAVE_STRINGS_H -#include -#endif -#endif - #include #include "auth.h" #ifdef AFS_NT40_ENV @@ -35,9 +28,8 @@ RCSID char whoami[256]; -main(argc, argv) - int argc; - char **argv; +int +main(int argc, char **argv) { char localName[64]; register afs_int32 code; diff --git a/src/auth/ktc.c b/src/auth/ktc.c index 8230e37e6..145f6c04e 100644 --- a/src/auth/ktc.c +++ b/src/auth/ktc.c @@ -17,7 +17,7 @@ #endif RCSID - ("$Header: /cvs/openafs/src/auth/ktc.c,v 1.15.2.7 2007/08/09 14:59:54 shadow Exp $"); + ("$Header: /cvs/openafs/src/auth/ktc.c,v 1.15.2.10 2007/12/13 18:54:09 shadow Exp $"); #if defined(UKERNEL) #include "afs/sysincludes.h" @@ -40,6 +40,7 @@ RCSID #include #endif #include +#include #include #include #include @@ -49,16 +50,14 @@ RCSID #include #include #include -#ifdef HAVE_STRING_H #include -#else -#ifdef HAVE_STRINGS_H -#include -#endif -#endif #include #ifdef AFS_AIX_ENV #include +#ifdef AFS_AIX51_ENV +#include +#include +#endif #endif #ifdef HAVE_UNISTD_H #include @@ -128,10 +127,16 @@ static struct flock fileUlock = { F_UNLCK, 0, 0, 0, 0 }; /* the following routines aren't static anymore on behalf of the kerberos IV * compatibility library built in subtree krb. */ -int afs_tf_init(), afs_tf_get_pname(), afs_tf_get_pinst(), afs_tf_get_cred(); -int afs_tf_save_cred(), afs_tf_close(), afs_tf_create(); -int afs_tf_dest_tkt(); -static void ktc_LocalCell(); +int afs_tf_init(char *, int); +int afs_tf_get_pname(char *); +int afs_tf_get_pinst(char *); +int afs_tf_get_cred(struct ktc_principal *, struct ktc_token *); +int afs_tf_save_cred(struct ktc_principal *, struct ktc_token *, + struct ktc_principal *); +int afs_tf_close(void); +int afs_tf_create(char *, char *); +int afs_tf_dest_tkt(void); +static void ktc_LocalCell(void); #endif /* AFS_KERBEROS_ENV */ #ifdef AFS_DUX40_ENV @@ -251,11 +256,10 @@ static struct { * now. */ static int -NewSetToken(aserver, atoken, aclient, flags) - struct ktc_principal *aserver; - struct ktc_principal *aclient; - struct ktc_token *atoken; - afs_int32 flags; +NewSetToken(struct ktc_principal *aserver, + struct ktc_token *atoken, + struct ktc_principal *aclient, + afs_int32 flags) { TRY_KERNEL(KTC_SETTOKEN_OP, aserver, aclient, atoken, sizeof(struct ktc_token)); @@ -267,10 +271,8 @@ NewSetToken(aserver, atoken, aclient, flags) (3*sizeof(afs_int32)+MAXKTCTICKETLEN+sizeof(struct ClearToken)+MAXKTCREALMLEN) static int -OldSetToken(aserver, atoken, aclient, flags) - struct ktc_principal *aserver, *aclient; - struct ktc_token *atoken; - afs_int32 flags; +OldSetToken(struct ktc_principal *aserver, struct ktc_token *atoken, + struct ktc_principal *aclient, afs_int32 flags) { struct ViceIoctl iob; char tbuffer[MAXPIOCTLTOKENLEN]; @@ -414,12 +416,11 @@ OldSetToken(aserver, atoken, aclient, flags) return 0; } - -ktc_SetToken(aserver, atoken, aclient, flags) - struct ktc_principal *aserver; - struct ktc_principal *aclient; - struct ktc_token *atoken; - afs_int32 flags; +int +ktc_SetToken(struct ktc_principal *aserver, + struct ktc_token *atoken, + struct ktc_principal *aclient, + afs_int32 flags) { int ncode, ocode; @@ -487,10 +488,9 @@ ktc_SetToken(aserver, atoken, aclient, flags) /* get token, given server we need and token buffer. aclient will eventually * be set to our identity to the server. */ -ktc_GetToken(aserver, atoken, atokenLen, aclient) - struct ktc_principal *aserver, *aclient; - int atokenLen; - struct ktc_token *atoken; +int +ktc_GetToken(struct ktc_principal *aserver, struct ktc_token *atoken, + int atokenLen, struct ktc_principal *aclient) { struct ViceIoctl iob; char tbuffer[MAXPIOCTLTOKENLEN]; @@ -502,7 +502,9 @@ ktc_GetToken(aserver, atoken, atokenLen, aclient) afs_int32 temp; int maxLen; /* biggest ticket we can copy */ int tktLen; /* server ticket length */ +#ifdef AFS_KERBEROS_ENV char found = 0; +#endif LOCK_GLOBAL_MUTEX; #ifndef NO_AFS_CLIENT @@ -540,8 +542,8 @@ ktc_GetToken(aserver, atoken, atokenLen, aclient) found = 1; } else { char tmpstring[MAXHOSTCHARS]; - afs_tf_get_pname(&tmpstring); - afs_tf_get_pinst(&tmpstring); + afs_tf_get_pname(tmpstring); + afs_tf_get_pinst(tmpstring); found = 1; } } @@ -671,8 +673,8 @@ ktc_GetToken(aserver, atoken, atokenLen, aclient) * NOT IMPLEMENTED YET! */ #ifndef NO_AFS_CLIENT -ktc_ForgetToken(aserver) - struct ktc_principal *aserver; +int +ktc_ForgetToken(struct ktc_principal *aserver) { int rc; @@ -689,9 +691,10 @@ ktc_ForgetToken(aserver) * next rock in (*aindex). (*aserver) is set to the relevant ticket on * success. */ -ktc_ListTokens(aprevIndex, aindex, aserver) - int aprevIndex, *aindex; - struct ktc_principal *aserver; +int +ktc_ListTokens(int aprevIndex, + int *aindex, + struct ktc_principal *aserver) { struct ViceIoctl iob; char tbuffer[MAXPIOCTLTOKENLEN]; @@ -841,7 +844,7 @@ ktc_ListTokens(aprevIndex, aindex, aserver) /* discard all tokens from this user's cache */ static int -NewForgetAll() +NewForgetAll(void) { #ifndef NO_AFS_CLIENT TRY_KERNEL(KTC_FORGETALLTOKENS_OP, 0, 0, 0, 0); @@ -850,7 +853,7 @@ NewForgetAll() } static int -OldForgetAll() +OldForgetAll(void) { struct ViceIoctl iob; register afs_int32 code; @@ -872,7 +875,7 @@ OldForgetAll() } int -ktc_ForgetAllTokens() +ktc_ForgetAllTokens(void) { int ncode, ocode; @@ -900,7 +903,8 @@ ktc_ForgetAllTokens() /* ktc_OldPioctl - returns a boolean true if the kernel supports only the old * pioctl interface for delivering AFS tickets to the cache manager. */ -ktc_OldPioctl() +int +ktc_OldPioctl(void) { int rc; LOCK_GLOBAL_MUTEX; @@ -950,12 +954,13 @@ ktc_OldPioctl() * c. In tf_close, be sure it gets reinitialized to a negative * number. */ -static fd = -1; -static curpos; /* Position in tfbfr */ -static lastpos; /* End of tfbfr */ +static int fd = -1; +static int curpos; /* Position in tfbfr */ +static int lastpos; /* End of tfbfr */ static char tfbfr[BUFSIZ]; /* Buffer for ticket data */ -static tf_gets(), tf_read(); +static int tf_gets(char *, int); +static int tf_read(char *, int); /* * This file contains routines for manipulating the ticket cache file. @@ -1020,8 +1025,8 @@ static tf_gets(), tf_read(); * TKT_FIL_LCK - couldn't lock the file, even after a retry */ -afs_tf_init(tf_name, rw) - char *tf_name; +int +afs_tf_init(char *tf_name, int rw) { int wflag; int me; @@ -1114,8 +1119,8 @@ afs_tf_init(tf_name, rw) * was longer than MAXKTCNAMELEN, TKT_FIL_FMT is returned. */ -afs_tf_get_pname(p) - char *p; +int +afs_tf_get_pname(char *p) { if (fd < 0) { return TKT_FIL_INI; @@ -1135,8 +1140,8 @@ afs_tf_get_pname(p) * instance may be null. */ -afs_tf_get_pinst(inst) - char *inst; +int +afs_tf_get_pinst(char *inst) { if (fd < 0) { return TKT_FIL_INI; @@ -1157,9 +1162,8 @@ afs_tf_get_pinst(inst) * EOF - end of file encountered */ -afs_tf_get_cred(principal, token) - struct ktc_principal *principal; - struct ktc_token *token; +int +afs_tf_get_cred(struct ktc_principal *principal, struct ktc_token *token) { int k_errno; int kvno, lifetime; @@ -1217,7 +1221,8 @@ afs_tf_get_cred(principal, token) * The return value is not defined. */ -afs_tf_close() +int +afs_tf_close(void) { if (!(fd < 0)) { #if defined(AFS_AIX_ENV) || defined(AFS_HPUX_ENV) || defined(AFS_SUN5_ENV) @@ -1229,6 +1234,7 @@ afs_tf_close() fd = -1; /* see declaration of fd above */ } memset(tfbfr, 0, sizeof(tfbfr)); + return 0; } /* @@ -1249,11 +1255,10 @@ afs_tf_close() * file is seriously ill. */ -static -tf_gets(s, n) - register char *s; +static int +tf_gets(register char *s, int n) { - register count; + register int count; if (fd < 0) { return TKT_FIL_INI; @@ -1285,12 +1290,10 @@ tf_gets(s, n) * 0 on end of file or read error */ -static -tf_read(s, n) - register char *s; - register n; +static int +tf_read(register char *s, register int n) { - register count; + register int count; for (count = n; count > 0; --count) { if (curpos >= sizeof(tfbfr)) { @@ -1305,8 +1308,6 @@ tf_read(s, n) return n; } -char *tkt_string(); - /* * afs_tf_save_cred() appends an incoming ticket to the end of the ticket * file. You must call afs_tf_init() before calling afs_tf_save_cred(). @@ -1318,10 +1319,10 @@ char *tkt_string(); * called previously, and KFAILURE for anything else that went wrong. */ -afs_tf_save_cred(aserver, atoken, aclient) - struct ktc_principal *aserver; - struct ktc_principal *aclient; - struct ktc_token *atoken; /* Token */ +int +afs_tf_save_cred(struct ktc_principal *aserver, + struct ktc_token *atoken, + struct ktc_principal *aclient) { char realm[MAXKTCREALMLEN + 1]; char junk[MAXKTCNAMELEN]; @@ -1420,8 +1421,6 @@ afs_tf_save_cred(aserver, atoken, aclient) * . */ -char *getenv(); - /* * This routine is used to generate the name of the file that holds * the user's cache of server tickets and associated session keys. @@ -1451,7 +1450,7 @@ ktc_tkt_string_uid(afs_uint32 uid) LOCK_GLOBAL_MUTEX; if (!*krb_ticket_string) { - if (env = getenv("KRBTKFILE")) { + if ((env = getenv("KRBTKFILE"))) { (void)strncpy(krb_ticket_string, env, sizeof(krb_ticket_string) - 1); krb_ticket_string[sizeof(krb_ticket_string) - 1] = '\0'; @@ -1494,9 +1493,8 @@ ktc_set_tkt_string(char * val) * success, or KFAILURE if something goes wrong. */ -afs_tf_create(pname, pinst) - char *pname; - char *pinst; +int +afs_tf_create(char *pname, char *pinst) { int tktfile; int me, metoo; @@ -1573,7 +1571,8 @@ afs_tf_create(pname, pinst) * failure. */ -afs_tf_dest_tkt() +int +afs_tf_dest_tkt(void) { char *file = ktc_tkt_string(); int i, fd; @@ -1613,8 +1612,14 @@ afs_tf_dest_tkt() } static afs_uint32 -curpag() +curpag(void) { +#if defined(AFS_AIX51_ENV) + int code = getpagvalue("afs"); + if (code < 0 && errno == EINVAL) + code = 0; + return code; +#else gid_t groups[NGROUPS_MAX]; afs_uint32 g0, g1; afs_uint32 h, l, ret; @@ -1638,10 +1643,11 @@ curpag() return -1; } return -1; +#endif } - -ktc_newpag() +int +ktc_newpag(void) { extern char **environ; @@ -1660,7 +1666,7 @@ ktc_newpag() if (pag == -1) { sprintf(fname, "%s%d", prefix, getuid()); } else { - sprintf(fname, "%sp%ld", prefix, pag); + sprintf(fname, "%sp%ld", prefix, (long int) pag); } ktc_set_tkt_string(fname); @@ -1668,7 +1674,7 @@ ktc_newpag() numenv++; newenv = (char **)malloc((numenv + 2) * sizeof(char *)); - for (senv = environ, denv = newenv; *senv; *senv++) { + for (senv = environ, denv = newenv; *senv; senv++) { if (strncmp(*senv, "KRBTKFILE=", 10) != 0) *denv++ = *senv; } @@ -1679,6 +1685,7 @@ ktc_newpag() *++denv = 0; environ = newenv; UNLOCK_GLOBAL_MUTEX; + return 0; } /* @@ -1686,7 +1693,7 @@ ktc_newpag() * find out what the local cell is. */ static void -ktc_LocalCell() +ktc_LocalCell(void) { int code; struct afsconf_dir *conf; diff --git a/src/auth/setkey.c b/src/auth/setkey.c index a0dc50f55..c75360a5d 100644 --- a/src/auth/setkey.c +++ b/src/auth/setkey.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/auth/setkey.c,v 1.8 2003/07/15 23:14:41 shadow Exp $"); + ("$Header: /cvs/openafs/src/auth/setkey.c,v 1.8.2.2 2007/11/01 16:09:43 shadow Exp $"); #include #include @@ -21,19 +21,14 @@ RCSID #include #include #endif -#ifdef HAVE_STRING_H #include -#else -#ifdef HAVE_STRINGS_H -#include -#endif -#endif #ifdef HAVE_NETINET_IN_H #include #endif #ifdef HAVE_NETDB_H #include #endif +#include #include "cellconfig.h" #include "keys.h" #include @@ -43,9 +38,7 @@ static int char2hex(char c); static int hex2char(char c); int -main(argc, argv) - int argc; - char **argv; +main(int argc, char **argv) { struct afsconf_dir *tdir; register afs_int32 code; diff --git a/src/auth/test/testcellconf.c b/src/auth/test/testcellconf.c index c6e72633f..ee00119c1 100644 --- a/src/auth/test/testcellconf.c +++ b/src/auth/test/testcellconf.c @@ -26,7 +26,7 @@ Creation date: #include RCSID - ("$Header: /cvs/openafs/src/auth/test/testcellconf.c,v 1.7 2003/07/15 23:14:42 shadow Exp $"); + ("$Header: /cvs/openafs/src/auth/test/testcellconf.c,v 1.7.2.1 2007/10/31 22:32:18 shadow Exp $"); #include #include @@ -40,10 +40,8 @@ RCSID #endif #include -PrintOneCell(ainfo, arock, adir) - struct afsconf_cell *ainfo; - char *arock; - struct afsconf_dir *adir; +int +PrintOneCell(struct afsconf_cell *ainfo, void *arock, struct afsconf_dir *adir) { register int i; long temp; @@ -101,7 +99,7 @@ main(argc, argv) printf("failed to find afsprot service (%d)\n", code); else { printf("AFSPROT service:\n"); - PrintOneCell(&theCell, (char *)NULL, theDir); + PrintOneCell(&theCell, NULL, theDir); } code = afsconf_GetCellInfo(theDir, 0, "bozotheclown", &theCell); if (code == 0) diff --git a/src/auth/userok.c b/src/auth/userok.c index f234e4c2d..7ecb9bad2 100644 --- a/src/auth/userok.c +++ b/src/auth/userok.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/auth/userok.c,v 1.12.2.1 2004/08/25 07:09:36 shadow Exp $"); + ("$Header: /cvs/openafs/src/auth/userok.c,v 1.12.2.3 2008/02/29 04:46:20 shadow Exp $"); #include #include @@ -46,23 +46,21 @@ RCSID #include "keys.h" #include "afs/audit.h" -afs_int32 afsconf_SuperUser(); - #if !defined(UKERNEL) int -afsconf_CheckAuth(adir, acall) - register struct rx_call *acall; - register struct afsconf_dir *adir; +afsconf_CheckAuth(register struct afsconf_dir *adir, + register struct rx_call *acall) { + int rc; LOCK_GLOBAL_MUTEX; - return ((afsconf_SuperUser(adir, acall, NULL) == 0) ? 10029 : 0); + rc = ((afsconf_SuperUser(adir, acall, NULL) == 0) ? 10029 : 0); UNLOCK_GLOBAL_MUTEX; + return rc; } #endif /* !defined(UKERNEL) */ static int -GetNoAuthFlag(adir) - struct afsconf_dir *adir; +GetNoAuthFlag(struct afsconf_dir *adir) { if (access(AFSDIR_SERVER_NOAUTH_FILEPATH, 0) == 0) { osi_audit(NoAuthEvent, 0, AUD_END); /* some random server is running noauth */ @@ -73,8 +71,7 @@ GetNoAuthFlag(adir) int -afsconf_GetNoAuthFlag(adir) - struct afsconf_dir *adir; +afsconf_GetNoAuthFlag(struct afsconf_dir *adir) { int rc; @@ -85,9 +82,7 @@ afsconf_GetNoAuthFlag(adir) } void -afsconf_SetNoAuthFlag(adir, aflag) - struct afsconf_dir *adir; - int aflag; +afsconf_SetNoAuthFlag(struct afsconf_dir *adir, int aflag) { register afs_int32 code; @@ -112,9 +107,7 @@ afsconf_SetNoAuthFlag(adir, aflag) /* deletes a user from the UserList file */ int -afsconf_DeleteUser(adir, auser) - struct afsconf_dir *adir; - register char *auser; +afsconf_DeleteUser(struct afsconf_dir *adir, register char *auser) { char tbuffer[1024]; char nbuffer[1024]; @@ -204,11 +197,8 @@ afsconf_DeleteUser(adir, auser) /* returns nth super user from the UserList file */ int -afsconf_GetNthUser(adir, an, abuffer, abufferLen) - struct afsconf_dir *adir; - afs_int32 an; - char *abuffer; - afs_int32 abufferLen; +afsconf_GetNthUser(struct afsconf_dir *adir, afs_int32 an, char *abuffer, + afs_int32 abufferLen) { char tbuffer[256]; register FILE *tf; @@ -246,9 +236,7 @@ afsconf_GetNthUser(adir, an, abuffer, abufferLen) /* returns true iff user is in the UserList file */ static int -FindUser(adir, auser) - struct afsconf_dir *adir; - register char *auser; +FindUser(struct afsconf_dir *adir, register char *auser) { char tbuffer[256]; register bufio_p bp; @@ -280,9 +268,7 @@ FindUser(adir, auser) /* add a user to the user list, checking for duplicates */ int -afsconf_AddUser(adir, aname) - struct afsconf_dir *adir; - char *aname; +afsconf_AddUser(struct afsconf_dir *adir, char *aname) { FILE *tf; register afs_int32 code; @@ -316,12 +302,8 @@ afsconf_AddUser(adir, aname) otherwise returns NULL. The resulting string should be immediately copied to other storage prior to release of mutex. */ static char * -CompFindUser(adir, name, sep, inst, realm) - struct afsconf_dir *adir; - char *name; - char *sep; - char *inst; - char *realm; +CompFindUser(struct afsconf_dir *adir, char *name, char *sep, char *inst, + char *realm) { static char fullname[MAXKTCNAMELEN + MAXKTCNAMELEN + MAXKTCREALMLEN + 3]; @@ -360,10 +342,7 @@ CompFindUser(adir, name, sep, inst, realm) if a pointer is passed. */ afs_int32 -afsconf_SuperUser(adir, acall, namep) - struct afsconf_dir *adir; - struct rx_call *acall; - char *namep; +afsconf_SuperUser(struct afsconf_dir *adir, struct rx_call *acall, char *namep) { register struct rx_connection *tconn; register afs_int32 code; @@ -429,7 +408,7 @@ afsconf_SuperUser(adir, acall, namep) tmp = tcell_l; while (*tmp) { *tmp = tolower(*tmp); - *tmp++; + tmp++; } /* determine local cell name. It's static, so will only get diff --git a/src/auth/writeconfig.c b/src/auth/writeconfig.c index e6aeb8880..6f7276c47 100644 --- a/src/auth/writeconfig.c +++ b/src/auth/writeconfig.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/auth/writeconfig.c,v 1.10.2.1 2004/08/25 07:09:36 shadow Exp $"); + ("$Header: /cvs/openafs/src/auth/writeconfig.c,v 1.10.2.3 2007/11/01 16:09:43 shadow Exp $"); #include #include @@ -28,19 +28,14 @@ RCSID #endif #include #include -#ifdef HAVE_STRING_H #include -#else -#ifdef HAVE_STRINGS_H -#include -#endif -#endif #ifdef HAVE_FCNTL_H #include #endif #ifdef HAVE_UNISTD_H #include #endif +#include #include "cellconfig.h" #include "keys.h" @@ -49,8 +44,7 @@ RCSID */ static int -VerifyEntries(aci) - register struct afsconf_cell *aci; +VerifyEntries(register struct afsconf_cell *aci) { register int i; register struct hostent *th; @@ -91,10 +85,8 @@ VerifyEntries(aci) */ int -afsconf_SetCellInfo(adir, apath, acellInfo) - struct afsconf_dir *adir; - char *apath; - struct afsconf_cell *acellInfo; +afsconf_SetCellInfo(struct afsconf_dir *adir, const char *apath, + struct afsconf_cell *acellInfo) { afs_int32 code; @@ -103,11 +95,9 @@ afsconf_SetCellInfo(adir, apath, acellInfo) } int -afsconf_SetExtendedCellInfo(adir, apath, acellInfo, clones) - struct afsconf_dir *adir; - char *apath; - struct afsconf_cell *acellInfo; - char clones[]; +afsconf_SetExtendedCellInfo(struct afsconf_dir *adir, + const char *apath, + struct afsconf_cell *acellInfo, char clones[]) { register afs_int32 code; register int fd; diff --git a/src/bozo/Makefile.in b/src/bozo/Makefile.in index c6c0a9161..6ceac74ec 100644 --- a/src/bozo/Makefile.in +++ b/src/bozo/Makefile.in @@ -48,16 +48,16 @@ bosint.xdr.o: bosint.xdr.c ${RPCINCLS} bosint.cs.o: bosint.cs.c ${RPCINCLS} bosint.cs.c: bosint.xg - ${RXGEN} -x -C -o $@ ${srcdir}/bosint.xg + ${RXGEN} -x -A -C -o $@ ${srcdir}/bosint.xg bosint.ss.c: bosint.xg - ${RXGEN} -x -S -o $@ ${srcdir}/bosint.xg + ${RXGEN} -x -A -S -o $@ ${srcdir}/bosint.xg bosint.xdr.c: bosint.xg - ${RXGEN} -x -c -o $@ ${srcdir}/bosint.xg + ${RXGEN} -x -A -c -o $@ ${srcdir}/bosint.xg bosint.h: bosint.xg - ${RXGEN} -x -h -o $@ ${srcdir}/bosint.xg + ${RXGEN} -x -A -h -o $@ ${srcdir}/bosint.xg bosint.cs.c: bosint.h bosint.ss.c: bosint.h diff --git a/src/bozo/bnode.c b/src/bozo/bnode.c index a5e1b3977..20ae5641d 100644 --- a/src/bozo/bnode.c +++ b/src/bozo/bnode.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/bozo/bnode.c,v 1.17.2.5 2006/12/21 23:15:34 shadow Exp $"); + ("$Header: /cvs/openafs/src/bozo/bnode.c,v 1.17.2.8 2008/03/10 22:35:33 shadow Exp $"); #include #include @@ -28,14 +28,7 @@ RCSID #include #endif #include - -#ifdef HAVE_STRING_H #include -#else -#ifdef HAVE_STRINGS_H -#include -#endif -#endif #include /* signal(), kill(), wait(), etc. */ #include @@ -43,6 +36,7 @@ RCSID #include #include #include "bnode.h" +#include "bosprototypes.h" #if defined(AFS_AIX_ENV) || defined(AFS_SUN4_ENV) /* All known versions of AIX lack WCOREDUMP but this works */ @@ -497,8 +491,8 @@ DeleteProc(register struct bnode_proc *abproc) } /* bnode lwp executes this code repeatedly */ -static int -bproc() +static void * +bproc(void *unused) { register afs_int32 code; register struct bnode *tb; @@ -647,6 +641,7 @@ bproc() } } } + return NULL; } static afs_int32 @@ -769,9 +764,11 @@ hdl_notifier(struct bnode_proc *tp) /* Called by IOMGR at low priority on IOMGR's stack shortly after a SIGCHLD * occurs. Wakes up bproc do redo things */ -int -bnode_SoftInt(int asignal) +void * +bnode_SoftInt(void *param) { + /* int asignal = (int) param; */ + IOMGR_Cancel(bproc_pid); return 0; } @@ -782,12 +779,10 @@ bnode_SoftInt(int asignal) void bnode_Int(int asignal) { - extern void bozo_ShutdownAndExit(); - if (asignal == SIGQUIT) { - IOMGR_SoftSig(bozo_ShutdownAndExit, (char *)asignal); + IOMGR_SoftSig(bozo_ShutdownAndExit, (void *) asignal); } else { - IOMGR_SoftSig(bnode_SoftInt, (char *)asignal); + IOMGR_SoftSig(bnode_SoftInt, (void *) asignal); } } diff --git a/src/bozo/bos.c b/src/bozo/bos.c index 012115550..f0ec4c54d 100644 --- a/src/bozo/bos.c +++ b/src/bozo/bos.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/bozo/bos.c,v 1.20.2.3 2007/04/10 18:43:40 shadow Exp $"); + ("$Header: /cvs/openafs/src/bozo/bos.c,v 1.20.2.4 2007/10/31 04:13:34 shadow Exp $"); #include #include @@ -277,9 +277,8 @@ GetConn(as, aencrypt) return tconn; } -static -SetAuth(as) - struct cmd_syndesc *as; +static int +SetAuth(struct cmd_syndesc *as, void *arock) { register afs_int32 code; register struct rx_connection *tconn; @@ -348,9 +347,8 @@ CopyBytes(afd, acall) } } -static -Prune(as) - register struct cmd_syndesc *as; +static int +Prune(register struct cmd_syndesc *as, void *arock) { register afs_int32 code; register struct rx_connection *tconn; @@ -372,9 +370,8 @@ Prune(as) return code; } -static -Exec(as) - register struct cmd_syndesc *as; +static int +Exec(register struct cmd_syndesc *as, void *arock) { register struct rx_connection *tconn; register afs_int32 code; @@ -386,9 +383,8 @@ Exec(as) return code; } -static -GetDate(as) - register struct cmd_syndesc *as; +static int +GetDate(register struct cmd_syndesc *as, void *arock) { register afs_int32 code; char tbuffer[256]; @@ -437,9 +433,8 @@ GetDate(as) return 0; } -static -UnInstall(as) - register struct cmd_syndesc *as; +static int +UnInstall(register struct cmd_syndesc *as, void *arock) { register afs_int32 code; char tbuffer[256]; @@ -496,9 +491,8 @@ GetServerGoal(aconn, aname) return BSTAT_NORMAL; } -static -Install(as) - struct cmd_syndesc *as; +static int +Install(struct cmd_syndesc *as, void *arock) { struct rx_connection *tconn; register afs_int32 code; @@ -554,9 +548,8 @@ Install(as) return 0; } -static -Shutdown(as) - struct cmd_syndesc *as; +static int +Shutdown(struct cmd_syndesc *as, void *arock) { register struct rx_connection *tconn; register afs_int32 code; @@ -584,10 +577,8 @@ Shutdown(as) return 0; } -static -BlockScannerCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +static int +BlockScannerCmd(struct cmd_syndesc *as, void *arock) { register afs_int32 code; struct rx_connection *tconn; @@ -602,10 +593,8 @@ BlockScannerCmd(as, arock) return 0; } -static -UnBlockScannerCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +static int +UnBlockScannerCmd(struct cmd_syndesc *as, void *arock) { register afs_int32 code; struct rx_connection *tconn; @@ -620,10 +609,8 @@ UnBlockScannerCmd(as, arock) return 0; } -static -GetRestartCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +static int +GetRestartCmd(struct cmd_syndesc *as, void *arock) { register afs_int32 code; struct ktime generalTime, newBinaryTime; @@ -665,10 +652,8 @@ GetRestartCmd(as, arock) return 0; } -static -SetRestartCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +static int +SetRestartCmd(struct cmd_syndesc *as, void *arock) { afs_int32 count; register afs_int32 code; @@ -707,9 +692,8 @@ SetRestartCmd(as, arock) return 0; } -static -Startup(as) - struct cmd_syndesc *as; +static int +Startup(struct cmd_syndesc *as, void *arock) { register struct rx_connection *tconn; register afs_int32 code; @@ -731,9 +715,8 @@ Startup(as) return 0; } -static -Restart(as) - struct cmd_syndesc *as; +static int +Restart(struct cmd_syndesc *as, void *arock) { register struct rx_connection *tconn; register afs_int32 code; @@ -777,9 +760,8 @@ Restart(as) return 0; } -static -SetCellName(as) - struct cmd_syndesc *as; +static int +SetCellName(struct cmd_syndesc *as, void *arock) { register struct rx_connection *tconn; register afs_int32 code; @@ -791,9 +773,8 @@ SetCellName(as) return 0; } -static -AddHost(as) - register struct cmd_syndesc *as; +static int +AddHost(register struct cmd_syndesc *as, void *arock) { register struct rx_connection *tconn; register afs_int32 code; @@ -819,9 +800,8 @@ AddHost(as) return 0; } -static -RemoveHost(as) - register struct cmd_syndesc *as; +static int +RemoveHost(register struct cmd_syndesc *as, void *arock) { register struct rx_connection *tconn; register afs_int32 code; @@ -837,9 +817,8 @@ RemoveHost(as) return 0; } -static -ListHosts(as) - register struct cmd_syndesc *as; +static int +ListHosts(register struct cmd_syndesc *as, void *arock) { register struct rx_connection *tconn; register afs_int32 code; @@ -868,9 +847,8 @@ ListHosts(as) return 0; } -static -AddKey(as) - register struct cmd_syndesc *as; +static int +AddKey(register struct cmd_syndesc *as, void *arock) { register struct rx_connection *tconn; register afs_int32 code; @@ -938,9 +916,8 @@ AddKey(as) return 0; } -static -RemoveKey(as) - register struct cmd_syndesc *as; +static int +RemoveKey(register struct cmd_syndesc *as, void *arock) { register struct rx_connection *tconn; register afs_int32 code; @@ -959,9 +936,8 @@ RemoveKey(as) return 0; } -static -ListKeys(as) - IN register struct cmd_syndesc *as; +static int +ListKeys(register struct cmd_syndesc *as, void *arock) { register struct rx_connection *tconn; register afs_int32 code; @@ -1000,9 +976,8 @@ ListKeys(as) return 0; } -static -AddSUser(as) - register struct cmd_syndesc *as; +static int +AddSUser(register struct cmd_syndesc *as, void *arock) { register struct rx_connection *tconn; register afs_int32 code; @@ -1021,9 +996,8 @@ AddSUser(as) return failed; } -static -RemoveSUser(as) - register struct cmd_syndesc *as; +static int +RemoveSUser(register struct cmd_syndesc *as, void *arock) { register struct rx_connection *tconn; register struct cmd_item *ti; @@ -1047,9 +1021,8 @@ RemoveSUser(as) } #define NPERLINE 10 /* dudes to print per line */ -static -ListSUsers(as) - register struct cmd_syndesc *as; +static int +ListSUsers(register struct cmd_syndesc *as, void *arock) { register struct rx_connection *tconn; register int i; @@ -1087,9 +1060,8 @@ ListSUsers(as) return 0; } -static -StatServer(as) - register struct cmd_syndesc *as; +static int +StatServer(register struct cmd_syndesc *as, void *arock) { register struct rx_connection *tconn; register afs_int32 code; @@ -1122,9 +1094,8 @@ StatServer(as) return 0; } -static -CreateServer(as) - register struct cmd_syndesc *as; +static int +CreateServer(register struct cmd_syndesc *as, void *arock) { register struct rx_connection *tconn; register afs_int32 code; @@ -1155,9 +1126,8 @@ CreateServer(as) return code; } -static -DeleteServer(as) - register struct cmd_syndesc *as; +static int +DeleteServer(register struct cmd_syndesc *as, void *arock) { register struct rx_connection *tconn; register afs_int32 code; @@ -1178,9 +1148,8 @@ DeleteServer(as) return code; } -static -StartServer(as) - register struct cmd_syndesc *as; +static int +StartServer(register struct cmd_syndesc *as, void *arock) { register struct rx_connection *tconn; register afs_int32 code; @@ -1197,9 +1166,8 @@ StartServer(as) return code; } -static -StopServer(as) - register struct cmd_syndesc *as; +static int +StopServer(register struct cmd_syndesc *as, void *arock) { register struct rx_connection *tconn; register afs_int32 code; @@ -1432,9 +1400,8 @@ DoSalvage(aconn, aparm1, aparm2, aoutName, showlog, parallel, atmpDir, return code; } -static -GetLogCmd(as) - register struct cmd_syndesc *as; +static int +GetLogCmd(register struct cmd_syndesc *as, void *arock) { struct rx_connection *tconn; register struct rx_call *tcall; @@ -1471,9 +1438,8 @@ GetLogCmd(as) return code; } -static -SalvageCmd(as) - struct cmd_syndesc *as; +static int +SalvageCmd(struct cmd_syndesc *as, void *arock) { register struct rx_connection *tconn; register afs_int32 code, rc, i; @@ -1867,9 +1833,8 @@ DoStat(aname, aconn, aint32p, firstTime) } #ifdef BOS_RESTRICTED_MODE -static -GetRestrict(as) - struct cmd_syndesc *as; +static int +GetRestrict(struct cmd_syndesc *as, void *arock) { register struct rx_connection *tconn; afs_int32 code, val; @@ -1884,9 +1849,8 @@ GetRestrict(as) return 0; } -static -SetRestrict(as) - struct cmd_syndesc *as; +static int +SetRestrict(struct cmd_syndesc *as, void *arock) { register struct rx_connection *tconn; afs_int32 code, val; @@ -1959,12 +1923,12 @@ main(argc, argv) initialize_CMD_error_table(); initialize_BZ_error_table(); - ts = cmd_CreateSyntax("start", StartServer, 0, "start running a server"); + ts = cmd_CreateSyntax("start", StartServer, NULL, "start running a server"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); cmd_AddParm(ts, "-instance", CMD_LIST, 0, "server process name"); add_std_args(ts); - ts = cmd_CreateSyntax("stop", StopServer, 0, "halt a server instance"); + ts = cmd_CreateSyntax("stop", StopServer, NULL, "halt a server instance"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); cmd_AddParm(ts, "-instance", CMD_LIST, 0, "server process name"); cmd_Seek(ts, 8); @@ -1972,7 +1936,7 @@ main(argc, argv) "wait for process to stop"); add_std_args(ts); - ts = cmd_CreateSyntax("status", StatServer, 0, + ts = cmd_CreateSyntax("status", StatServer, NULL, "show server instance status"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); cmd_AddParm(ts, "-instance", CMD_LIST, CMD_OPTIONAL, @@ -1980,7 +1944,7 @@ main(argc, argv) cmd_AddParm(ts, "-long", CMD_FLAG, CMD_OPTIONAL, "long status"); add_std_args(ts); - ts = cmd_CreateSyntax("shutdown", Shutdown, 0, "shutdown all processes"); + ts = cmd_CreateSyntax("shutdown", Shutdown, NULL, "shutdown all processes"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); cmd_AddParm(ts, "-instance", CMD_LIST, CMD_OPTIONAL, "instances"); cmd_Seek(ts, 8); @@ -1988,12 +1952,12 @@ main(argc, argv) "wait for process to stop"); add_std_args(ts); - ts = cmd_CreateSyntax("startup", Startup, 0, "start all processes"); + ts = cmd_CreateSyntax("startup", Startup, NULL, "start all processes"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); cmd_AddParm(ts, "-instance", CMD_LIST, CMD_OPTIONAL, "instances"); add_std_args(ts); - ts = cmd_CreateSyntax("restart", Restart, 0, "restart processes"); + ts = cmd_CreateSyntax("restart", Restart, NULL, "restart processes"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); cmd_AddParm(ts, "-instance", CMD_LIST, CMD_OPTIONAL, "instances"); cmd_AddParm(ts, "-bosserver", CMD_FLAG, CMD_OPTIONAL, @@ -2003,7 +1967,7 @@ main(argc, argv) #ifndef OPBOS - ts = cmd_CreateSyntax("create", CreateServer, 0, + ts = cmd_CreateSyntax("create", CreateServer, NULL, "create a new server instance"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); cmd_AddParm(ts, "-instance", CMD_SINGLE, 0, "server process name"); @@ -2013,105 +1977,105 @@ main(argc, argv) "Notifier program"); add_std_args(ts); - ts = cmd_CreateSyntax("delete", DeleteServer, 0, + ts = cmd_CreateSyntax("delete", DeleteServer, NULL, "delete a server instance"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); cmd_AddParm(ts, "-instance", CMD_LIST, 0, "server process name"); add_std_args(ts); - ts = cmd_CreateSyntax("adduser", AddSUser, 0, + ts = cmd_CreateSyntax("adduser", AddSUser, NULL, "add users to super-user list"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); cmd_AddParm(ts, "-user", CMD_LIST, 0, "user names"); add_std_args(ts); - ts = cmd_CreateSyntax("removeuser", RemoveSUser, 0, + ts = cmd_CreateSyntax("removeuser", RemoveSUser, NULL, "remove users from super-user list"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); cmd_AddParm(ts, "-user", CMD_LIST, 0, "user names"); add_std_args(ts); - ts = cmd_CreateSyntax("listusers", ListSUsers, 0, "list super-users"); + ts = cmd_CreateSyntax("listusers", ListSUsers, NULL, "list super-users"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); add_std_args(ts); - ts = cmd_CreateSyntax("addkey", AddKey, 0, + ts = cmd_CreateSyntax("addkey", AddKey, NULL, "add keys to key dbase (kvno 999 is bcrypt)"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); cmd_AddParm(ts, "-key", CMD_SINGLE, CMD_OPTIONAL, "key"); cmd_AddParm(ts, "-kvno", CMD_SINGLE, 0, "key version number"); add_std_args(ts); - ts = cmd_CreateSyntax("removekey", RemoveKey, 0, + ts = cmd_CreateSyntax("removekey", RemoveKey, NULL, "remove keys from key dbase"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); cmd_AddParm(ts, "-kvno", CMD_LIST, 0, "key version number"); add_std_args(ts); - ts = cmd_CreateSyntax("listkeys", ListKeys, 0, "list keys"); + ts = cmd_CreateSyntax("listkeys", ListKeys, NULL, "list keys"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); cmd_AddParm(ts, "-showkey", CMD_FLAG, CMD_OPTIONAL, "show the actual key rather than the checksum"); add_std_args(ts); - ts = cmd_CreateSyntax("listhosts", ListHosts, 0, "get cell host list"); + ts = cmd_CreateSyntax("listhosts", ListHosts, NULL, "get cell host list"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); add_std_args(ts); cmd_CreateAlias(ts, "getcell"); - ts = cmd_CreateSyntax("setcellname", SetCellName, 0, "set cell name"); + ts = cmd_CreateSyntax("setcellname", SetCellName, NULL, "set cell name"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); cmd_AddParm(ts, "-name", CMD_SINGLE, 0, "cell name"); add_std_args(ts); - ts = cmd_CreateSyntax("addhost", AddHost, 0, "add host to cell dbase"); + ts = cmd_CreateSyntax("addhost", AddHost, NULL, "add host to cell dbase"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); cmd_AddParm(ts, "-host", CMD_LIST, 0, "host name"); cmd_AddParm(ts, "-clone", CMD_FLAG, CMD_OPTIONAL, "vote doesn't count"); add_std_args(ts); - ts = cmd_CreateSyntax("removehost", RemoveHost, 0, + ts = cmd_CreateSyntax("removehost", RemoveHost, NULL, "remove host from cell dbase"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); cmd_AddParm(ts, "-host", CMD_LIST, 0, "host name"); add_std_args(ts); - ts = cmd_CreateSyntax("setauth", SetAuth, 0, + ts = cmd_CreateSyntax("setauth", SetAuth, NULL, "set authentication required flag"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); cmd_AddParm(ts, "-authrequired", CMD_SINGLE, 0, "on or off: authentication required for admin requests"); add_std_args(ts); - ts = cmd_CreateSyntax("install", Install, 0, "install program"); + ts = cmd_CreateSyntax("install", Install, NULL, "install program"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); cmd_AddParm(ts, "-file", CMD_LIST, 0, "files to install"); cmd_AddParm(ts, "-dir", CMD_SINGLE, CMD_OPTIONAL, "destination dir"); add_std_args(ts); - ts = cmd_CreateSyntax("uninstall", UnInstall, 0, "uninstall program"); + ts = cmd_CreateSyntax("uninstall", UnInstall, NULL, "uninstall program"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); cmd_AddParm(ts, "-file", CMD_LIST, 0, "files to uninstall"); cmd_AddParm(ts, "-dir", CMD_SINGLE, CMD_OPTIONAL, "destination dir"); add_std_args(ts); - ts = cmd_CreateSyntax("getlog", GetLogCmd, 0, "examine log file"); + ts = cmd_CreateSyntax("getlog", GetLogCmd, NULL, "examine log file"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); cmd_AddParm(ts, "-file", CMD_SINGLE, 0, "log file to examine"); add_std_args(ts); - ts = cmd_CreateSyntax("getdate", GetDate, 0, "get dates for programs"); + ts = cmd_CreateSyntax("getdate", GetDate, NULL, "get dates for programs"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); cmd_AddParm(ts, "-file", CMD_LIST, 0, "files to check"); cmd_AddParm(ts, "-dir", CMD_SINGLE, CMD_OPTIONAL, "destination dir"); add_std_args(ts); - ts = cmd_CreateSyntax("exec", Exec, 0, "execute shell command on server"); + ts = cmd_CreateSyntax("exec", Exec, NULL, "execute shell command on server"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); cmd_AddParm(ts, "-cmd", CMD_SINGLE, 0, "command to execute"); add_std_args(ts); - ts = cmd_CreateSyntax("prune", Prune, 0, "prune server files"); + ts = cmd_CreateSyntax("prune", Prune, NULL, "prune server files"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); cmd_AddParm(ts, "-bak", CMD_FLAG, CMD_OPTIONAL, "delete .BAK files"); cmd_AddParm(ts, "-old", CMD_FLAG, CMD_OPTIONAL, "delete .OLD files"); @@ -2119,7 +2083,7 @@ main(argc, argv) cmd_AddParm(ts, "-all", CMD_FLAG, CMD_OPTIONAL, "delete all junk files"); add_std_args(ts); - ts = cmd_CreateSyntax("setrestart", SetRestartCmd, 0, + ts = cmd_CreateSyntax("setrestart", SetRestartCmd, NULL, "set restart times"); cmd_AddParm(ts, "-server", CMD_SINGLE, CMD_REQUIRED, "machine name"); cmd_AddParm(ts, "-time", CMD_SINGLE, CMD_REQUIRED, @@ -2130,12 +2094,12 @@ main(argc, argv) "set new binary restart time"); add_std_args(ts); - ts = cmd_CreateSyntax("getrestart", GetRestartCmd, 0, + ts = cmd_CreateSyntax("getrestart", GetRestartCmd, NULL, "get restart times"); cmd_AddParm(ts, "-server", CMD_SINGLE, CMD_REQUIRED, "machine name"); add_std_args(ts); - ts = cmd_CreateSyntax("salvage", SalvageCmd, 0, + ts = cmd_CreateSyntax("salvage", SalvageCmd, NULL, "salvage partition or volumes"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); cmd_AddParm(ts, "-partition", CMD_SINGLE, CMD_OPTIONAL, @@ -2191,23 +2155,23 @@ main(argc, argv) "(MR-AFS) Numeric mask of residencies to be included in the salvage. Do not use with -SalvageRemote or -SalvageArchival"); add_std_args(ts); - ts = cmd_CreateSyntax("blockscanner", BlockScannerCmd, 0, + ts = cmd_CreateSyntax("blockscanner", BlockScannerCmd, NULL, "block scanner daemon from making migration requests"); cmd_AddParm(ts, "-server", CMD_SINGLE, CMD_REQUIRED, "machine name"); add_std_args(ts); - ts = cmd_CreateSyntax("unblockscanner", UnBlockScannerCmd, 0, + ts = cmd_CreateSyntax("unblockscanner", UnBlockScannerCmd, NULL, "allow scanner daemon to make migration requests again"); cmd_AddParm(ts, "-server", CMD_SINGLE, CMD_REQUIRED, "machine name"); add_std_args(ts); #ifdef BOS_RESTRICTED_MODE - ts = cmd_CreateSyntax("getrestricted", GetRestrict, 0, + ts = cmd_CreateSyntax("getrestricted", GetRestrict, NULL, "get restrict mode"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); add_std_args(ts); - ts = cmd_CreateSyntax("setrestricted", SetRestrict, 0, + ts = cmd_CreateSyntax("setrestricted", SetRestrict, NULL, "set restrict mode"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); cmd_AddParm(ts, "-mode", CMD_SINGLE, 0, "mode to set"); diff --git a/src/bozo/bos_util.c b/src/bozo/bos_util.c index 4af472f3c..c8cbbd995 100644 --- a/src/bozo/bos_util.c +++ b/src/bozo/bos_util.c @@ -23,19 +23,12 @@ #include RCSID - ("$Header: /cvs/openafs/src/bozo/bos_util.c,v 1.4 2003/07/15 23:14:43 shadow Exp $"); + ("$Header: /cvs/openafs/src/bozo/bos_util.c,v 1.4.2.1 2007/10/30 15:23:50 shadow Exp $"); #include #include #include - -#ifdef HAVE_STRING_H #include -#else -#ifdef HAVE_STRINGS_H -#include -#endif -#endif #include #include diff --git a/src/bozo/bosoprocs.c b/src/bozo/bosoprocs.c index ce506a70d..ec9e1e476 100644 --- a/src/bozo/bosoprocs.c +++ b/src/bozo/bosoprocs.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/bozo/bosoprocs.c,v 1.19.2.1 2006/12/21 23:15:35 shadow Exp $"); + ("$Header: /cvs/openafs/src/bozo/bosoprocs.c,v 1.19.2.4 2008/03/10 22:35:34 shadow Exp $"); #include #include @@ -37,18 +37,11 @@ RCSID #include #include #include - -#ifdef HAVE_STRING_H #include -#else -#ifdef HAVE_STRINGS_H -#include -#endif -#endif #include "bnode.h" #include "bosint.h" - +#include "bosprototypes.h" extern struct ktime bozo_nextRestartKT, bozo_nextDayKT; @@ -1662,9 +1655,10 @@ SBOZO_SetRestrictedMode(acall, arestmode) } #endif -void -bozo_ShutdownAndExit(int asignal) +void * +bozo_ShutdownAndExit(void *param) { + int asignal = (int) param; int code; bozo_Log diff --git a/src/bozo/bosprototypes.h b/src/bozo/bosprototypes.h new file mode 100644 index 000000000..7275737f8 --- /dev/null +++ b/src/bozo/bosprototypes.h @@ -0,0 +1,19 @@ +/* + * Copyright 2000, International Business Machines Corporation and others. + * All Rights Reserved. + * + * This software has been released under the terms of the IBM Public + * License. For details, see the LICENSE file in the top-level source + * directory or online at http://www.openafs.org/dl/license10.html + */ + +#ifndef _BOSPROTOTYPES_H_ +#define _BOSPROTOTYPES_H_ + +/* bosserver.c */ +void bozo_Log(char *format, ... ); + +/* bosoprocs.c */ +void *bozo_ShutdownAndExit(void *arock /* really int asignal */); + +#endif diff --git a/src/bozo/bosserver.c b/src/bozo/bosserver.c index ec7258980..b15cc5052 100644 --- a/src/bozo/bosserver.c +++ b/src/bozo/bosserver.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/bozo/bosserver.c,v 1.23.2.11 2007/05/14 19:27:49 shadow Exp $"); + ("$Header: /cvs/openafs/src/bozo/bosserver.c,v 1.23.2.16 2008/03/10 22:35:34 shadow Exp $"); #include #include @@ -21,6 +21,7 @@ RCSID #include #include #include +#include #ifdef AFS_NT40_ENV #include #include @@ -37,6 +38,7 @@ RCSID #include #include "bosint.h" #include "bnode.h" +#include "bosprototypes.h" #include #include #include @@ -47,14 +49,11 @@ RCSID #include #endif - #define BOZO_LWP_STACKSIZE 16000 extern int BOZO_ExecuteRequest(); extern int RXSTATS_ExecuteRequest(); extern struct bnode_ops fsbnode_ops, ezbnode_ops, cronbnode_ops; -void bozo_Log(); - struct afsconf_dir *bozo_confdir = 0; /* bozo configuration dir */ static char *bozo_pid; struct rx_securityClass *bozo_rxsc[3]; @@ -72,6 +71,7 @@ static afs_int32 nextDay; struct ktime bozo_nextRestartKT, bozo_nextDayKT; int bozo_newKTs; int rxBind = 0; +int rxkadDisableDotCheck = 0; #define ADDRSPERSITE 16 /* Same global is in rx/rx_user.c */ afs_uint32 SHostAddrs[ADDRSPERSITE]; @@ -514,8 +514,8 @@ bdrestart(register struct bnode *abnode, char *arock) #define BOZO_MINSKIP 3600 /* minimum to advance clock */ /* lwp to handle system restarts */ -static int -BozoDaemon() +static void * +BozoDaemon(void *unused) { register afs_int32 now; @@ -550,6 +550,7 @@ BozoDaemon() bnode_ApplyInstance(bdrestart, 0); } } + return NULL; } #ifdef AFS_AIX32_ENV @@ -822,6 +823,9 @@ main(int argc, char **argv, char **envp) else if (strcmp(argv[code], "-rxbind") == 0) { rxBind = 1; } + else if (strcmp(argv[code], "-allow-dotted-principals") == 0) { + rxkadDisableDotCheck = 1; + } else if (!strcmp(argv[i], "-rxmaxmtu")) { if ((i + 1) >= argc) { fprintf(stderr, "missing argument for -rxmaxmtu\n"); @@ -830,7 +834,7 @@ main(int argc, char **argv, char **envp) rxMaxMTU = atoi(argv[++i]); if ((rxMaxMTU < RX_MIN_PACKET_SIZE) || (rxMaxMTU > RX_MAX_PACKET_DATA_SIZE)) { - printf("rxMaxMTU %d% invalid; must be between %d-%d\n", + printf("rxMaxMTU %d invalid; must be between %d-%d\n", rxMaxMTU, RX_MIN_PACKET_SIZE, RX_MAX_PACKET_DATA_SIZE); exit(1); @@ -873,14 +877,14 @@ main(int argc, char **argv, char **envp) #ifndef AFS_NT40_ENV printf("Usage: bosserver [-noauth] [-log] " "[-auditlog ] " - "[-rxmaxmtu ] [-rxbind] " + "[-rxmaxmtu ] [-rxbind] [-allow-dotted-principals]" "[-syslog[=FACILITY]] " "[-enable_peer_stats] [-enable_process_stats] " "[-nofork] " "[-help]\n"); #else printf("Usage: bosserver [-noauth] [-log] " "[-auditlog ] " - "[-rxmaxmtu ] [-rxbind] " + "[-rxmaxmtu ] [-rxbind] [-allow-dotted-principals]" "[-enable_peer_stats] [-enable_process_stats] " "[-help]\n"); #endif @@ -1063,6 +1067,11 @@ main(int argc, char **argv, char **envp) rx_SetMinProcs(tservice, 2); rx_SetMaxProcs(tservice, 4); rx_SetStackSize(tservice, BOZO_LWP_STACKSIZE); /* so gethostbyname works (in cell stuff) */ + if (rxkadDisableDotCheck) { + rx_SetSecurityConfiguration(tservice, RXS_CONFIG_FLAGS, + (void *)RXS_CONFIG_FLAGS_DISABLE_DOTCHECK, + NULL); + } tservice = rx_NewServiceHost(host, 0, RX_STATS_SERVICE_ID, "rpcstats", bozo_rxsc, @@ -1070,17 +1079,21 @@ main(int argc, char **argv, char **envp) rx_SetMinProcs(tservice, 2); rx_SetMaxProcs(tservice, 4); rx_StartServer(1); /* donate this process */ + return 0; } void -bozo_Log(char *a, char *b, char *c, char *d, char *e, char *f) +bozo_Log(char *format, ...) { char tdate[26]; time_t myTime; + va_list ap; + + va_start(ap, format); if (DoSyslog) { #ifndef AFS_NT40_ENV - syslog(LOG_INFO, a, b, c, d, e, f); + vsyslog(LOG_INFO, format, ap); #endif } else { myTime = time(0); @@ -1098,13 +1111,13 @@ bozo_Log(char *a, char *b, char *c, char *d, char *e, char *f) if (bozo_logFile) { fprintf(bozo_logFile, "%s ", tdate); - fprintf(bozo_logFile, a, b, c, d, e, f); + vfprintf(bozo_logFile, format, ap); fflush(bozo_logFile); /* close so rm BosLog works */ fclose(bozo_logFile); } else { printf("%s ", tdate); - printf(a, b, c, d, e, f); + vprintf(format, ap); } } } diff --git a/src/bozo/cronbnodeops.c b/src/bozo/cronbnodeops.c index a6877366a..ba017d20a 100644 --- a/src/bozo/cronbnodeops.c +++ b/src/bozo/cronbnodeops.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/bozo/cronbnodeops.c,v 1.10 2003/12/07 22:49:18 jaltman Exp $"); + ("$Header: /cvs/openafs/src/bozo/cronbnodeops.c,v 1.10.2.2 2007/10/31 04:21:31 shadow Exp $"); #include #include @@ -23,19 +23,14 @@ RCSID #include #endif -#ifdef HAVE_STRING_H #include -#else -#ifdef HAVE_STRINGS_H -#include -#endif -#endif #include #include #include #include /* signal(), kill(), wait(), etc. */ #include "bnode.h" +#include "bosprototypes.h" static int cron_timeout(), cron_getstat(), cron_setstat(), cron_delete(); static int cron_procexit(), cron_getstring(), cron_getparm(), cron_restartp(); diff --git a/src/bozo/ezbnodeops.c b/src/bozo/ezbnodeops.c index 72d40de5d..48ea33f45 100644 --- a/src/bozo/ezbnodeops.c +++ b/src/bozo/ezbnodeops.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/bozo/ezbnodeops.c,v 1.8 2003/07/15 23:14:43 shadow Exp $"); + ("$Header: /cvs/openafs/src/bozo/ezbnodeops.c,v 1.8.2.2 2007/10/31 04:21:31 shadow Exp $"); #include #include @@ -21,18 +21,13 @@ RCSID #include #endif -#ifdef HAVE_STRING_H #include -#else -#ifdef HAVE_STRINGS_H -#include -#endif -#endif #include #include #include /* signal(), kill(), wait(), etc. */ #include "bnode.h" +#include "bosprototypes.h" static int ez_timeout(), ez_getstat(), ez_setstat(), ez_delete(); static int ez_procexit(), ez_getstring(), ez_getparm(), ez_restartp(); diff --git a/src/bozo/fsbnodeops.c b/src/bozo/fsbnodeops.c index 4b2eb32cc..010fad4e0 100644 --- a/src/bozo/fsbnodeops.c +++ b/src/bozo/fsbnodeops.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/bozo/fsbnodeops.c,v 1.13 2003/12/07 22:49:18 jaltman Exp $"); + ("$Header: /cvs/openafs/src/bozo/fsbnodeops.c,v 1.13.2.3 2007/11/26 21:21:49 shadow Exp $"); #include #include @@ -26,13 +26,7 @@ RCSID #else #include -#ifdef HAVE_STRING_H #include -#else -#ifdef HAVE_STRINGS_H -#include -#endif -#endif #include #endif /* AFS_NT40_ENV */ @@ -40,13 +34,14 @@ RCSID #include /* signal(), kill(), wait(), etc. */ #include #include "bnode.h" +#include "bosprototypes.h" static int fs_timeout(), fs_getstat(), fs_setstat(), fs_delete(); static int fs_procexit(), fs_getstring(), fs_getparm(), fs_restartp(); static int fs_hascore(); struct bnode *fs_create(); -static SetNeedsClock(); +static void SetNeedsClock(); static NudgeProcs(); static int emergency = 0; @@ -515,7 +510,7 @@ fs_procexit(struct fsbnode *abnode, struct bnode_proc *aproc) } /* make sure we're periodically checking the state if we need to */ -static int +static void SetNeedsClock(register struct fsbnode *ab) { if (ab->b.goal == 1 && ab->fileRunning && ab->volRunning diff --git a/src/bu_utils/fms.c b/src/bu_utils/fms.c index 0c14ba1b5..bdf71ae34 100644 --- a/src/bu_utils/fms.c +++ b/src/bu_utils/fms.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/bu_utils/fms.c,v 1.7 2003/07/15 23:14:44 shadow Exp $"); + ("$Header: /cvs/openafs/src/bu_utils/fms.c,v 1.7.2.2 2007/11/26 21:21:49 shadow Exp $"); #undef IN #include @@ -35,7 +35,7 @@ afs_int32 eotEnabled = 1; /* prototypes */ int fileMark(usd_handle_t hTape); int fileMarkSize(char *tapeDevice); -void tt_fileMarkSize(struct cmd_syndesc *as, char *arock); +static int tt_fileMarkSize(struct cmd_syndesc *as, void *arock); #define ERROR(evalue) \ { \ @@ -64,23 +64,24 @@ main(argc, argv) sigaction(SIGINT, &intaction, &oldaction); cptr = - cmd_CreateSyntax(NULL, tt_fileMarkSize, 0, + cmd_CreateSyntax(NULL, tt_fileMarkSize, NULL, "write a tape full of file marks"); cmd_AddParm(cptr, "-tape", CMD_SINGLE, CMD_REQUIRED, "tape special file"); cmd_Dispatch(argc, argv); + return 0; } -void -tt_fileMarkSize(as, arock) - struct cmd_syndesc *as; - char *arock; +static int +tt_fileMarkSize(struct cmd_syndesc *as, void *arock) { char *tapeDevice; tapeDevice = as->parms[0].items->data; fileMarkSize(tapeDevice); + + return 0; } diff --git a/src/bubasics/Makefile.in b/src/bubasics/Makefile.in index 77eec29d7..21b37680d 100644 --- a/src/bubasics/Makefile.in +++ b/src/bubasics/Makefile.in @@ -18,16 +18,16 @@ libbubasics.a: $(OBJS) AFS_component_version_number.o ${RANLIB} libbubasics.a butc.xdr.c: butc.xg - ${RXGEN} -c -o $@ ${srcdir}/butc.xg + ${RXGEN} -A -c -o $@ ${srcdir}/butc.xg butc.ss.c: butc.xg - ${RXGEN} -S -o $@ ${srcdir}/butc.xg + ${RXGEN} -A -S -o $@ ${srcdir}/butc.xg butc.cs.c: butc.xg - ${RXGEN} -C -o $@ ${srcdir}/butc.xg + ${RXGEN} -A -C -o $@ ${srcdir}/butc.xg butc.h: butc.xg - ${RXGEN} -h -o $@ ${srcdir}/butc.xg + ${RXGEN} -A -h -o $@ ${srcdir}/butc.xg butc.xdr.c: butc.h butc.cs.c: butc.h diff --git a/src/bucoord/bc.p.h b/src/bucoord/bc.p.h index 4e385e238..4fbc1bfc6 100644 --- a/src/bucoord/bc.p.h +++ b/src/bucoord/bc.p.h @@ -13,11 +13,8 @@ #ifdef HAVE_STDIO_H #include #endif /* HAVE_STDIO_H */ -#if defined(HAVE_STRING_H) -# include -#elif defined(HAVE_STRINGS_H) -# include -#endif /* HAVE_STRING_H */ + +#include /* * Represents a host in the config database. diff --git a/src/bucoord/bc_status.c b/src/bucoord/bc_status.c index 13fd67751..a3cd0c5a4 100644 --- a/src/bucoord/bc_status.c +++ b/src/bucoord/bc_status.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/bucoord/bc_status.c,v 1.11.2.2 2007/04/10 18:43:41 shadow Exp $"); + ("$Header: /cvs/openafs/src/bucoord/bc_status.c,v 1.11.2.3 2008/03/10 22:35:34 shadow Exp $"); #include #include @@ -105,8 +105,8 @@ nextItem(linkPtr) char *cmdLine; -int -cmdDispatch() +void * +cmdDispatch(void *unused) { #define MAXV 100 char **targv[MAXV]; /*Ptr to parsed argv stuff */ @@ -120,7 +120,7 @@ cmdDispatch() code = cmd_ParseLine(internalCmdLine, targv, &targc, MAXV); if (code) { printf("Couldn't parse line: '%s'", afs_error_message(code)); - return (1); + return (void *)(1); } free(internalCmdLine); @@ -130,10 +130,11 @@ cmdDispatch() */ doDispatch(targc, targv, 1); cmd_FreeArgv(targv); - return(0); + return(void *)(0); } -statusWatcher() +void * +statusWatcher(void *unused) { struct rx_connection *tconn = (struct rc_connection *)0; statusP curPollPtr = 0; @@ -395,6 +396,7 @@ statusWatcher() curPollPtr = 0; } /*done */ } /*w */ + return NULL; } /* bc_jobNumber diff --git a/src/bucoord/bucoord_prototypes.h b/src/bucoord/bucoord_prototypes.h new file mode 100644 index 000000000..1807505b7 --- /dev/null +++ b/src/bucoord/bucoord_prototypes.h @@ -0,0 +1,17 @@ +/* Copyright 2000, International Business Machines Corporation and others. + * All Rights Reserved. + * + * This software has been released under the terms of the IBM Public + * License. For details, see the LICENSE file in the top-level source + * directory or online at http://www.openafs.org/dl/license10.html + */ + +#ifndef _BUCOORD_PROTOTYPES_H +#define _BUCOORD_PROTOTYPES_H + +/* bc_status.c */ + +extern void *statusWatcher(void *); + +#endif + diff --git a/src/bucoord/commands.c b/src/bucoord/commands.c index 42fdba065..b2ba07ecf 100644 --- a/src/bucoord/commands.c +++ b/src/bucoord/commands.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/bucoord/commands.c,v 1.14.2.9 2007/06/23 15:27:22 shadow Exp $"); + ("$Header: /cvs/openafs/src/bucoord/commands.c,v 1.14.2.11 2007/11/26 21:21:50 shadow Exp $"); #include #if defined(AFS_LINUX24_ENV) @@ -765,7 +765,8 @@ concatParams(itemPtr) /* printIfStatus * print out an interface status node as received from butc */ - + +void printIfStatus(statusPtr) struct tciStatusS *statusPtr; { @@ -822,10 +823,8 @@ getPortOffset(port) /* bc_GetTapeStatusCmd * display status of all tasks on a particular tape coordinator */ - -bc_GetTapeStatusCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +int +bc_GetTapeStatusCmd(struct cmd_syndesc *as, void *arock) { afs_int32 code; struct rx_connection *tconn; @@ -920,10 +919,8 @@ bc_WaitForNoJobs() * parameters * ignored - a null "as" prints only jobs. */ - -bc_JobsCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +int +bc_JobsCmd(struct cmd_syndesc *as, void *arock) { afs_int32 prevTime; dlqlinkP ptr; @@ -1037,9 +1034,8 @@ bc_JobsCmd(as, arock) return 0; } -bc_KillCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +int +bc_KillCmd(struct cmd_syndesc *as, void *arock) { afs_int32 i; afs_int32 slot; @@ -1111,9 +1107,8 @@ bc_KillCmd(as, arock) } /* restore a volume or volumes */ -bc_VolRestoreCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +int +bc_VolRestoreCmd(struct cmd_syndesc *as, void *arock) { /* * parm 0 is the new server to restore to @@ -1266,9 +1261,8 @@ bc_VolRestoreCmd(as, arock) * various optional */ -bc_DiskRestoreCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +int +bc_DiskRestoreCmd(struct cmd_syndesc *as, void *arock) { struct bc_volumeSet tvolumeSet; /* temporary volume set for EvalVolumeSet call */ struct bc_volumeEntry tvolumeEntry; /* entry within the volume set */ @@ -1423,9 +1417,8 @@ bc_DiskRestoreCmd(as, arock) * restore a volumeset or list of volumes. */ -bc_VolsetRestoreCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +int +bc_VolsetRestoreCmd(struct cmd_syndesc *as, void *arock) { int oldFlag; long fromDate; @@ -1606,9 +1599,7 @@ bc_VolsetRestoreCmd(as, arock) int dontExecute; int -bc_DumpCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +bc_DumpCmd(struct cmd_syndesc *as, void *arock) { /*bc_DumpCmd */ static char rn[] = "bc_DumpCmd"; /*Routine name */ char *dumpPath, *vsName; /*Ptrs to various names */ @@ -1986,10 +1977,8 @@ bc_DumpCmd(as, arock) * parameters: * ignored */ - -bc_QuitCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +int +bc_QuitCmd(struct cmd_syndesc *as, void *arock) { int i; struct bc_dumpTask *td; @@ -2038,10 +2027,8 @@ bc_QuitCmd(as, arock) * Labels a tape i.e. request the tape coordinator to perform this * operation */ - -bc_LabelTapeCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +int +bc_LabelTapeCmd(struct cmd_syndesc *as, void *arock) { char *tapename = 0, *pname = 0; afs_int32 size; @@ -2101,10 +2088,8 @@ bc_LabelTapeCmd(as, arock) * params: * optional port number */ - -bc_ReadLabelCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +int +bc_ReadLabelCmd(struct cmd_syndesc *as, void *arock) { afs_int32 code; afs_int32 port = 0; @@ -2131,10 +2116,8 @@ bc_ReadLabelCmd(as, arock) * read content information from dump tapes, and if user desires, * add it to the database */ - -bc_ScanDumpsCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +int +bc_ScanDumpsCmd(struct cmd_syndesc *as, void *arock) { afs_int32 port = 0; afs_int32 dbAddFlag = 0; @@ -2242,10 +2225,8 @@ bc_ParseExpiration(paramPtr, expType, expDate) * Currently a single option, volumename to search for. Reports * all dumps containing the specified volume */ - -bc_dblookupCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +int +bc_dblookupCmd(struct cmd_syndesc *as, void *arock) { struct cmd_item *ciptr; afs_int32 code; @@ -2261,10 +2242,8 @@ bc_dblookupCmd(as, arock) /* for ubik version */ - -bc_dbVerifyCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +int +bc_dbVerifyCmd(struct cmd_syndesc *as, void *arock) { afs_int32 status; afs_int32 orphans; @@ -2420,10 +2399,8 @@ deleteDump(dumpid, port, force) * entry: * dump id - single required arg as param 0. */ - -bc_deleteDumpCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +int +bc_deleteDumpCmd(struct cmd_syndesc *as, void *arock) { afs_uint32 dumpid; afs_int32 code = 0; @@ -2576,9 +2553,8 @@ bc_deleteDumpCmd(as, arock) return (rcode); } -bc_saveDbCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +int +bc_saveDbCmd(struct cmd_syndesc *as, void *arock) { struct rx_connection *tconn; afs_int32 portOffset = 0; @@ -2646,9 +2622,8 @@ bc_saveDbCmd(as, arock) return (code); } -bc_restoreDbCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +int +bc_restoreDbCmd(struct cmd_syndesc *as, void *arock) { struct rx_connection *tconn; afs_int32 portOffset = 0; @@ -3151,9 +3126,8 @@ printRecentDumps(ndumps) * as - name of tape * arock - */ -bc_dumpInfoCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +int +bc_dumpInfoCmd(struct cmd_syndesc *as, void *arock) { afs_int32 dumpid; afs_int32 detailFlag; diff --git a/src/bucoord/dlq.c b/src/bucoord/dlq.c index 0ba034422..0f6f1fe8e 100644 --- a/src/bucoord/dlq.c +++ b/src/bucoord/dlq.c @@ -12,9 +12,10 @@ #ifdef HAVE_STDLIB_H #include #endif +#include RCSID - ("$Header: /cvs/openafs/src/bucoord/dlq.c,v 1.9.2.1 2007/01/05 03:34:09 shadow Exp $"); + ("$Header: /cvs/openafs/src/bucoord/dlq.c,v 1.9.2.2 2007/11/26 21:21:50 shadow Exp $"); #include "bc.h" #include diff --git a/src/bucoord/dsstub.c b/src/bucoord/dsstub.c index 490951e69..83da89eac 100644 --- a/src/bucoord/dsstub.c +++ b/src/bucoord/dsstub.c @@ -15,7 +15,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/bucoord/dsstub.c,v 1.6.2.2 2007/01/05 03:34:09 shadow Exp $"); + ("$Header: /cvs/openafs/src/bucoord/dsstub.c,v 1.6.2.3 2007/11/26 21:21:50 shadow Exp $"); #include #include @@ -26,6 +26,8 @@ RCSID #include #include #endif +#include +#include #include #include #include diff --git a/src/bucoord/dsvs.c b/src/bucoord/dsvs.c index ce8f6ae8a..44ffb30f5 100644 --- a/src/bucoord/dsvs.c +++ b/src/bucoord/dsvs.c @@ -19,7 +19,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/bucoord/dsvs.c,v 1.9.2.2 2007/01/05 03:34:09 shadow Exp $"); + ("$Header: /cvs/openafs/src/bucoord/dsvs.c,v 1.9.2.3 2007/11/26 21:21:50 shadow Exp $"); #include #include @@ -44,6 +44,8 @@ struct ubik_client *cstructp; /*Ptr to Ubik client structure */ extern struct bc_volumeSet *bc_FindVolumeSet(struct bc_config *cf, char *name); +static FreeVolumeEntryList(); +static FreeVolumeEntry(); /* Code to maintain dump schedule and volume set abstractions. * A volume set looks like this: diff --git a/src/bucoord/dump.c b/src/bucoord/dump.c index 223ccade3..ecd67421b 100644 --- a/src/bucoord/dump.c +++ b/src/bucoord/dump.c @@ -15,7 +15,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/bucoord/dump.c,v 1.12.2.3 2007/04/10 18:43:41 shadow Exp $"); + ("$Header: /cvs/openafs/src/bucoord/dump.c,v 1.12.2.5 2008/03/10 22:35:34 shadow Exp $"); #include #include @@ -178,6 +178,7 @@ bc_Dumper(aindex) * free the list of volumes used for dumps */ +void freeDumpTaskVolumeList(vdptr) struct bc_volumeDump *vdptr; { @@ -198,9 +199,10 @@ freeDumpTaskVolumeList(vdptr) * The other half of the dump/restore create process call. In bc_StartDmpRst, * we allocated a dumpTask entry. Here we do the task and then free the entry. */ -bc_DmpRstStart(aindex) - afs_int32 aindex; +void * +bc_DmpRstStart(void *param) { + afs_int32 aindex = (afs_int32) param; register struct bc_dumpTask *tdump; register afs_int32 code; diff --git a/src/bucoord/dump_sched.c b/src/bucoord/dump_sched.c index 1f3ffb661..07160263a 100644 --- a/src/bucoord/dump_sched.c +++ b/src/bucoord/dump_sched.c @@ -12,11 +12,13 @@ */ #include +#include +#include #include #include RCSID - ("$Header: /cvs/openafs/src/bucoord/dump_sched.c,v 1.7.2.5 2007/04/10 18:43:41 shadow Exp $"); + ("$Header: /cvs/openafs/src/bucoord/dump_sched.c,v 1.7.2.7 2007/11/26 21:21:50 shadow Exp $"); #ifdef AFS_NT40_ENV #include @@ -43,6 +45,7 @@ extern struct bc_config *bc_globalConfig; extern struct udbHandleS udbHandle; extern char *whoami; +static ListDumpSchedule(); /* ------------------------------------ * command level routines @@ -56,13 +59,11 @@ extern char *whoami; * parm 1: expiration date (list) */ -afs_int32 -bc_AddDumpCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +int +bc_AddDumpCmd(struct cmd_syndesc *as, void *arock) { register char *dname; /* dump schedule name */ - register afs_int32 code; + register int code; afs_int32 expType, expDate; register struct cmd_item *ti; udbClientTextP ctPtr; @@ -146,16 +147,14 @@ bc_AddDumpCmd(as, arock) * delete a dump schedule */ -afs_int32 -bc_DeleteDumpCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +int +bc_DeleteDumpCmd(struct cmd_syndesc *as, void *arock) { /* parm 0 is vol set name * parm 1 is dump schedule name */ register char *dname; - register afs_int32 code; + register int code; udbClientTextP ctPtr; /* lock schedules and check validity */ @@ -265,11 +264,11 @@ ListDumpSchedule(register struct bc_dumpSchedule *adump, int alevel) * ignored */ -afs_int32 -bc_ListDumpScheduleCmd(struct cmd_syndesc *as, char *arock) +int +bc_ListDumpScheduleCmd(struct cmd_syndesc *as, void *arock) { /* no parms */ - afs_int32 code; + int code; register struct bc_dumpSchedule *tdump; /* first check to see if schedules must be updated */ @@ -298,17 +297,15 @@ bc_ListDumpScheduleCmd(struct cmd_syndesc *as, char *arock) * parm 1: expiration date (list) */ -afs_int32 -bc_SetExpCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +int +bc_SetExpCmd(struct cmd_syndesc *as, void *arock) { register char *dname; /* dump schedule name */ register struct cmd_item *ti; struct bc_dumpSchedule *node, *parent; afs_int32 expType, expDate; udbClientTextP ctPtr; - register afs_int32 code; + register int code; afs_int32 bc_ParseExpiration(); diff --git a/src/bucoord/main.c b/src/bucoord/main.c index 46d69cf91..b887c1531 100644 --- a/src/bucoord/main.c +++ b/src/bucoord/main.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/bucoord/main.c,v 1.16.2.3 2007/06/23 15:27:22 shadow Exp $"); + ("$Header: /cvs/openafs/src/bucoord/main.c,v 1.16.2.5 2008/03/10 22:35:34 shadow Exp $"); #include #include @@ -45,7 +45,7 @@ RCSID #include #include "bc.h" /*Backup Coordinator structs and defs */ - +#include "bucoord_prototypes.h" int localauth, interact; char tcell[64]; @@ -244,8 +244,6 @@ backupInit() PROCESS watcherPid; PROCESS pid; /* LWP process ID */ - extern statusWatcher(); - /* Initialization */ initialize_CMD_error_table(); @@ -326,8 +324,7 @@ backupInit() */ static int -MyBeforeProc(as) - register struct cmd_syndesc *as; +MyBeforeProc(register struct cmd_syndesc *as, void *arock) { afs_int32 code; @@ -462,9 +459,7 @@ doDispatch(targc, targv, dispatchCount) } int -bc_interactCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +bc_interactCmd(struct cmd_syndesc *as, void *arock) { interact = 1; return 0; @@ -516,7 +511,7 @@ main(argc, argv) cmd_SetBeforeProc(MyBeforeProc, NULL); - ts = cmd_CreateSyntax("dump", bc_DumpCmd, 0, "start dump"); + ts = cmd_CreateSyntax("dump", bc_DumpCmd, NULL, "start dump"); cmd_AddParm(ts, "-volumeset", CMD_SINGLE, CMD_OPTIONAL, "volume set name"); cmd_AddParm(ts, "-dump", CMD_SINGLE, CMD_OPTIONAL, "dump level name"); @@ -530,7 +525,7 @@ main(argc, argv) if (!interact) add_std_args(ts); - ts = cmd_CreateSyntax("volrestore", bc_VolRestoreCmd, 0, + ts = cmd_CreateSyntax("volrestore", bc_VolRestoreCmd, NULL, "restore volume"); cmd_AddParm(ts, "-server", CMD_SINGLE, CMD_REQUIRED, "destination machine"); @@ -549,7 +544,7 @@ main(argc, argv) if (!interact) add_std_args(ts); - ts = cmd_CreateSyntax("diskrestore", bc_DiskRestoreCmd, 0, + ts = cmd_CreateSyntax("diskrestore", bc_DiskRestoreCmd, NULL, "restore partition"); cmd_AddParm(ts, "-server", CMD_SINGLE, CMD_REQUIRED, "machine to restore"); @@ -567,9 +562,9 @@ main(argc, argv) if (!interact) add_std_args(ts); - ts = cmd_CreateSyntax("quit", bc_QuitCmd, 0, "leave the program"); + ts = cmd_CreateSyntax("quit", bc_QuitCmd, NULL, "leave the program"); - ts = cmd_CreateSyntax("volsetrestore", bc_VolsetRestoreCmd, 0, + ts = cmd_CreateSyntax("volsetrestore", bc_VolsetRestoreCmd, NULL, "restore a set of volumes"); cmd_AddParm(ts, "-name", CMD_SINGLE, CMD_OPTIONAL, "volume set name"); cmd_AddParm(ts, "-file", CMD_SINGLE, CMD_OPTIONAL, "file name"); @@ -580,7 +575,7 @@ main(argc, argv) if (!interact) add_std_args(ts); - ts = cmd_CreateSyntax("addhost", bc_AddHostCmd, 0, "add host to config"); + ts = cmd_CreateSyntax("addhost", bc_AddHostCmd, NULL, "add host to config"); cmd_AddParm(ts, "-tapehost", CMD_SINGLE, CMD_REQUIRED, "tape machine name"); cmd_AddParm(ts, "-portoffset", CMD_SINGLE, CMD_OPTIONAL, @@ -588,7 +583,7 @@ main(argc, argv) if (!interact) add_std_args(ts); - ts = cmd_CreateSyntax("delhost", bc_DeleteHostCmd, 0, + ts = cmd_CreateSyntax("delhost", bc_DeleteHostCmd, NULL, "delete host to config"); cmd_AddParm(ts, "-tapehost", CMD_SINGLE, CMD_REQUIRED, "tape machine name"); @@ -597,29 +592,29 @@ main(argc, argv) if (!interact) add_std_args(ts); - ts = cmd_CreateSyntax("listhosts", bc_ListHostsCmd, 0, + ts = cmd_CreateSyntax("listhosts", bc_ListHostsCmd, NULL, "list config hosts"); if (!interact) add_std_args(ts); - ts = cmd_CreateSyntax("jobs", bc_JobsCmd, 0, "list running jobs"); + ts = cmd_CreateSyntax("jobs", bc_JobsCmd, NULL, "list running jobs"); - ts = cmd_CreateSyntax("kill", bc_KillCmd, 0, "kill running job"); + ts = cmd_CreateSyntax("kill", bc_KillCmd, NULL, "kill running job"); cmd_AddParm(ts, "-id", CMD_SINGLE, CMD_REQUIRED, "job ID or dump set name"); - ts = cmd_CreateSyntax("listvolsets", bc_ListVolSetCmd, 0, + ts = cmd_CreateSyntax("listvolsets", bc_ListVolSetCmd, NULL, "list volume sets"); cmd_AddParm(ts, "-name", CMD_SINGLE, CMD_OPTIONAL, "volume set name"); if (!interact) add_std_args(ts); - ts = cmd_CreateSyntax("listdumps", bc_ListDumpScheduleCmd, 0, + ts = cmd_CreateSyntax("listdumps", bc_ListDumpScheduleCmd, NULL, "list dump schedules"); if (!interact) add_std_args(ts); - ts = cmd_CreateSyntax("addvolset", bc_AddVolSetCmd, 0, + ts = cmd_CreateSyntax("addvolset", bc_AddVolSetCmd, NULL, "create a new volume set"); cmd_AddParm(ts, "-name", CMD_SINGLE, CMD_REQUIRED, "volume set name"); cmd_AddParm(ts, "-temporary", CMD_FLAG, CMD_OPTIONAL, @@ -627,20 +622,20 @@ main(argc, argv) if (!interact) add_std_args(ts); - ts = cmd_CreateSyntax("status", bc_GetTapeStatusCmd, 0, + ts = cmd_CreateSyntax("status", bc_GetTapeStatusCmd, NULL, "get tape coordinator status"); cmd_AddParm(ts, "-portoffset", CMD_SINGLE, CMD_OPTIONAL, "TC port offset"); if (!interact) add_std_args(ts); - ts = cmd_CreateSyntax("delvolset", bc_DeleteVolSetCmd, 0, + ts = cmd_CreateSyntax("delvolset", bc_DeleteVolSetCmd, NULL, "delete a volume set"); cmd_AddParm(ts, "-name", CMD_LIST, CMD_REQUIRED, "volume set name"); if (!interact) add_std_args(ts); - ts = cmd_CreateSyntax("addvolentry", bc_AddVolEntryCmd, 0, + ts = cmd_CreateSyntax("addvolentry", bc_AddVolEntryCmd, NULL, "add a new volume entry"); cmd_AddParm(ts, "-name", CMD_SINGLE, CMD_REQUIRED, "volume set name"); cmd_AddParm(ts, "-server", CMD_SINGLE, CMD_REQUIRED, "machine name"); @@ -650,26 +645,26 @@ main(argc, argv) if (!interact) add_std_args(ts); - ts = cmd_CreateSyntax("delvolentry", bc_DeleteVolEntryCmd, 0, + ts = cmd_CreateSyntax("delvolentry", bc_DeleteVolEntryCmd, NULL, "delete a volume set sub-entry"); cmd_AddParm(ts, "-name", CMD_SINGLE, CMD_REQUIRED, "volume set name"); cmd_AddParm(ts, "-entry", CMD_SINGLE, CMD_REQUIRED, "volume set index"); if (!interact) add_std_args(ts); - ts = cmd_CreateSyntax("adddump", bc_AddDumpCmd, 0, "add dump schedule"); + ts = cmd_CreateSyntax("adddump", bc_AddDumpCmd, NULL, "add dump schedule"); cmd_AddParm(ts, "-dump", CMD_LIST, CMD_REQUIRED, "dump level name"); cmd_AddParm(ts, "-expires", CMD_LIST, CMD_OPTIONAL, "expiration date"); if (!interact) add_std_args(ts); - ts = cmd_CreateSyntax("deldump", bc_DeleteDumpCmd, 0, + ts = cmd_CreateSyntax("deldump", bc_DeleteDumpCmd, NULL, "delete dump schedule"); cmd_AddParm(ts, "-dump", CMD_SINGLE, CMD_REQUIRED, "dump level name"); if (!interact) add_std_args(ts); - ts = cmd_CreateSyntax("labeltape", bc_LabelTapeCmd, 0, "label a tape"); + ts = cmd_CreateSyntax("labeltape", bc_LabelTapeCmd, NULL, "label a tape"); cmd_AddParm(ts, "-name", CMD_SINGLE, CMD_OPTIONAL, "AFS tape name, defaults to NULL"); cmd_AddParm(ts, "-size", CMD_SINGLE, CMD_OPTIONAL, @@ -681,14 +676,14 @@ main(argc, argv) if (!interact) add_std_args(ts); - ts = cmd_CreateSyntax("readlabel", bc_ReadLabelCmd, 0, + ts = cmd_CreateSyntax("readlabel", bc_ReadLabelCmd, NULL, "read the label on tape"); cmd_AddParm(ts, "-portoffset", CMD_SINGLE, CMD_OPTIONAL, "TC port offset"); if (!interact) add_std_args(ts); - ts = cmd_CreateSyntax("scantape", bc_ScanDumpsCmd, 0, + ts = cmd_CreateSyntax("scantape", bc_ScanDumpsCmd, NULL, "dump information recovery from tape"); cmd_AddParm(ts, "-dbadd", CMD_FLAG, CMD_OPTIONAL, "add information to the database"); @@ -697,34 +692,34 @@ main(argc, argv) if (!interact) add_std_args(ts); - ts = cmd_CreateSyntax("volinfo", bc_dblookupCmd, 0, + ts = cmd_CreateSyntax("volinfo", bc_dblookupCmd, NULL, "query the backup database"); cmd_AddParm(ts, "-volume", CMD_SINGLE, CMD_REQUIRED, "volume name"); if (!interact) add_std_args(ts); - ts = cmd_CreateSyntax("setexp", bc_SetExpCmd, 0, + ts = cmd_CreateSyntax("setexp", bc_SetExpCmd, NULL, "set/clear dump expiration dates"); cmd_AddParm(ts, "-dump", CMD_LIST, CMD_REQUIRED, "dump level name"); cmd_AddParm(ts, "-expires", CMD_LIST, CMD_OPTIONAL, "expiration date"); if (!interact) add_std_args(ts); - ts = cmd_CreateSyntax("savedb", bc_saveDbCmd, 0, "save backup database"); + ts = cmd_CreateSyntax("savedb", bc_saveDbCmd, NULL, "save backup database"); cmd_AddParm(ts, "-portoffset", CMD_SINGLE, CMD_OPTIONAL, "TC port offset"); cmd_AddParm(ts, "-archive", CMD_LIST, CMD_OPTIONAL, "date time"); if (!interact) add_std_args(ts); - ts = cmd_CreateSyntax("restoredb", bc_restoreDbCmd, 0, + ts = cmd_CreateSyntax("restoredb", bc_restoreDbCmd, NULL, "restore backup database"); cmd_AddParm(ts, "-portoffset", CMD_SINGLE, CMD_OPTIONAL, "TC port offset"); if (!interact) add_std_args(ts); - ts = cmd_CreateSyntax("dumpinfo", bc_dumpInfoCmd, 0, + ts = cmd_CreateSyntax("dumpinfo", bc_dumpInfoCmd, NULL, "provide information about a dump in the database"); cmd_AddParm(ts, "-ndumps", CMD_SINGLE, CMD_OPTIONAL, "no. of dumps"); cmd_AddParm(ts, "-id", CMD_SINGLE, CMD_OPTIONAL, "dump id"); @@ -733,13 +728,13 @@ main(argc, argv) if (!interact) add_std_args(ts); - ts = cmd_CreateSyntax("dbverify", bc_dbVerifyCmd, 0, + ts = cmd_CreateSyntax("dbverify", bc_dbVerifyCmd, NULL, "check ubik database integrity"); cmd_AddParm(ts, "-detail", CMD_FLAG, CMD_OPTIONAL, "additional details"); if (!interact) add_std_args(ts); - ts = cmd_CreateSyntax("deletedump", bc_deleteDumpCmd, 0, + ts = cmd_CreateSyntax("deletedump", bc_deleteDumpCmd, NULL, "delete dumps from the database"); cmd_AddParm(ts, "-dumpid", CMD_LIST, CMD_OPTIONAL, "dump id"); cmd_AddParm(ts, "-from", CMD_LIST, CMD_OPTIONAL, "date time"); @@ -756,7 +751,7 @@ main(argc, argv) if (!interact) add_std_args(ts); - ts = cmd_CreateSyntax("interactive", bc_interactCmd, 0, + ts = cmd_CreateSyntax("interactive", bc_interactCmd, NULL, "enter interactive mode"); add_std_args(ts); diff --git a/src/bucoord/regex.c b/src/bucoord/regex.c index a65587e2a..435749f1a 100644 --- a/src/bucoord/regex.c +++ b/src/bucoord/regex.c @@ -93,6 +93,10 @@ static char expbuf[ESIZE], *braslist[NBRA], *braelist[NBRA]; static char circf; +static int advance(); +static int backref(); +static int cclass(); + /* * compile the regular expression argument into a dfa */ diff --git a/src/bucoord/restore.c b/src/bucoord/restore.c index 7486cbd81..d335e5048 100644 --- a/src/bucoord/restore.c +++ b/src/bucoord/restore.c @@ -15,7 +15,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/bucoord/restore.c,v 1.8.2.8 2007/10/16 16:56:48 jaltman Exp $"); + ("$Header: /cvs/openafs/src/bucoord/restore.c,v 1.8.2.9 2007/11/26 21:21:50 shadow Exp $"); #include #include @@ -131,6 +131,7 @@ extractTapeSeq(tapename) return (atol(sptr)); } +void viceName(value) long value; { diff --git a/src/bucoord/status.c b/src/bucoord/status.c index 4805db193..4150effed 100644 --- a/src/bucoord/status.c +++ b/src/bucoord/status.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/bucoord/status.c,v 1.7.2.1 2007/01/05 03:34:09 shadow Exp $"); + ("$Header: /cvs/openafs/src/bucoord/status.c,v 1.7.2.2 2007/11/26 21:21:50 shadow Exp $"); #include #include @@ -38,6 +38,7 @@ extern struct Lock cmdLineLock; /* lock on the cmdLine */ * These routines are common the backup coordinator and tape coordinator */ +void initStatus() { dlqInit(&statusHead); @@ -47,21 +48,25 @@ initStatus() /* lock managment */ +void lock_Status() { ObtainWriteLock(&statusQueueLock); } +void unlock_Status() { ReleaseWriteLock(&statusQueueLock); } +void lock_cmdLine() { ObtainWriteLock(&cmdLineLock); } +void unlock_cmdLine() { ReleaseWriteLock(&cmdLineLock); @@ -109,6 +114,7 @@ createStatusNode() return (ptr); } +void deleteStatusNode(ptr) statusP ptr; { diff --git a/src/bucoord/tape_hosts.c b/src/bucoord/tape_hosts.c index 92fb5530f..6aebc33ac 100644 --- a/src/bucoord/tape_hosts.c +++ b/src/bucoord/tape_hosts.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/bucoord/tape_hosts.c,v 1.7.2.3 2007/04/10 18:43:41 shadow Exp $"); + ("$Header: /cvs/openafs/src/bucoord/tape_hosts.c,v 1.7.2.4 2007/10/31 04:13:35 shadow Exp $"); #include #include @@ -49,10 +49,8 @@ extern char *whoami; * Add a host to the tape hosts */ -afs_int32 -bc_AddHostCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +int +bc_AddHostCmd(struct cmd_syndesc *as, void *arock) { struct cmd_item *ti; udbClientTextP ctPtr; @@ -107,10 +105,8 @@ bc_AddHostCmd(as, arock) return (code); } -afs_int32 -bc_DeleteHostCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +int +bc_DeleteHostCmd(struct cmd_syndesc *as, void *arock) { struct cmd_item *ti; afs_int32 port = 0; @@ -174,10 +170,8 @@ bc_DeleteHostCmd(as, arock) * ignored */ -afs_int32 -bc_ListHostsCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +int +bc_ListHostsCmd(struct cmd_syndesc *as, void *arock) { afs_int32 code; register struct bc_hostEntry *tentry; diff --git a/src/bucoord/vol_sets.c b/src/bucoord/vol_sets.c index 26677388e..f65ecc4e6 100644 --- a/src/bucoord/vol_sets.c +++ b/src/bucoord/vol_sets.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/bucoord/vol_sets.c,v 1.10.2.4 2007/04/10 18:43:41 shadow Exp $"); + ("$Header: /cvs/openafs/src/bucoord/vol_sets.c,v 1.10.2.6 2007/11/26 21:21:50 shadow Exp $"); #include #include @@ -41,6 +41,7 @@ extern char *whoami; extern struct bc_volumeSet *bc_FindVolumeSet(struct bc_config *cf, char *name); extern void FreeVolumeSet(struct bc_volumeSet *avset); +static ListVolSet(); /* ------------------------------------ * command level routines @@ -57,11 +58,10 @@ extern void FreeVolumeSet(struct bc_volumeSet *avset); * parm 3 is volume regexp */ -bc_AddVolEntryCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +int +bc_AddVolEntryCmd(struct cmd_syndesc *as, void *arock) { - register afs_int32 code; + register int code; char *volSetName, *serverName, *partitionName, *volRegExp; udbClientTextP ctPtr; struct bc_volumeSet *tset; @@ -129,13 +129,11 @@ bc_AddVolEntryCmd(as, arock) * name of new volume set */ -afs_int32 -bc_AddVolSetCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +int +bc_AddVolSetCmd(struct cmd_syndesc *as, void *arock) { /* parm 0 is vol set name */ - register afs_int32 code; + register int code; register struct cmd_item *ti; udbClientTextP ctPtr; afs_int32 flags; @@ -190,12 +188,10 @@ bc_AddVolSetCmd(as, arock) * parm 1 is entry # (integer, 1 based) */ -afs_int32 -bc_DeleteVolEntryCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +int +bc_DeleteVolEntryCmd(struct cmd_syndesc *as, void *arock) { - register afs_int32 code; + register int code; afs_int32 entry; char *vsname; udbClientTextP ctPtr; @@ -279,13 +275,11 @@ bc_DeleteVolEntryCmd(as, arock) * name of volumeset to delete */ -afs_int32 -bc_DeleteVolSetCmd(as, arock) - struct cmd_syndesc *as; - char *arock; +int +bc_DeleteVolSetCmd(struct cmd_syndesc *as, void *arock) { /* parm 0 is vol set name */ - register afs_int32 code; + register int code; register struct cmd_item *ti; udbClientTextP ctPtr; afs_int32 c; @@ -364,13 +358,13 @@ ListVolSet(struct bc_volumeSet *aset) * optional parameter specifies a volumeset name */ -afs_int32 -bc_ListVolSetCmd(struct cmd_syndesc *as, char *arock) +int +bc_ListVolSetCmd(struct cmd_syndesc *as, void *arock) { /* parm 0 is optional volume set to display */ register struct bc_volumeSet *tset; register struct cmd_item *ti; - afs_int32 code = 0; + int code = 0; code = bc_UpdateVolumeSet(); if (code) { diff --git a/src/budb/Makefile.in b/src/budb/Makefile.in index 7d50173aa..4d3cbcf64 100644 --- a/src/budb/Makefile.in +++ b/src/budb/Makefile.in @@ -74,16 +74,16 @@ budb_server: $(SERVER_OBJS) ${LIBS} ${CC} ${LDFLAGS} -o budb_server $(SERVER_OBJS) ${LIBS} ${XLIBS} budb.cs.c: budb.rg - ${RXGEN} -u -C -o $@ ${srcdir}/budb.rg + ${RXGEN} -A -u -C -o $@ ${srcdir}/budb.rg budb.ss.c: budb.rg - ${RXGEN} -S -o $@ ${srcdir}/budb.rg + ${RXGEN} -A -S -o $@ ${srcdir}/budb.rg budb.xdr.c: budb.rg - ${RXGEN} -c -o $@ ${srcdir}/budb.rg + ${RXGEN} -A -c -o $@ ${srcdir}/budb.rg budb.h: budb.rg - ${RXGEN} -u -h -o $@ ${srcdir}/budb.rg + ${RXGEN} -A -u -h -o $@ ${srcdir}/budb.rg budb.cs.c: budb.h budb.xdr.c: budb.h diff --git a/src/budb/database.c b/src/budb/database.c index 63769cc36..afc413e24 100644 --- a/src/budb/database.c +++ b/src/budb/database.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/budb/database.c,v 1.7.2.1 2007/07/06 11:34:00 jaltman Exp $"); + ("$Header: /cvs/openafs/src/budb/database.c,v 1.7.2.2 2007/10/30 15:23:50 shadow Exp $"); #ifdef AFS_NT40_ENV #include @@ -27,15 +27,7 @@ RCSID #include "database.h" #include "error_macros.h" #include "afs/audit.h" - -#ifdef HAVE_STRING_H #include -#else -#ifdef HAVE_STRINGS_H -#include -#endif -#endif - int pollCount; struct memoryDB db; /* really allocate it here */ diff --git a/src/budb/db_alloc.c b/src/budb/db_alloc.c index 23ff7affb..18017b397 100644 --- a/src/budb/db_alloc.c +++ b/src/budb/db_alloc.c @@ -11,20 +11,14 @@ #include RCSID - ("$Header: /cvs/openafs/src/budb/db_alloc.c,v 1.7 2003/07/15 23:14:48 shadow Exp $"); + ("$Header: /cvs/openafs/src/budb/db_alloc.c,v 1.7.2.1 2007/10/30 15:23:50 shadow Exp $"); #ifdef AFS_NT40_ENV #include #else #include #endif -#ifdef HAVE_STRING_H #include -#else -#ifdef HAVE_STRINGS_H -#include -#endif -#endif #include #include #include diff --git a/src/budb/db_dump.c b/src/budb/db_dump.c index 5a1111d55..fd2010842 100644 --- a/src/budb/db_dump.c +++ b/src/budb/db_dump.c @@ -16,7 +16,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/budb/db_dump.c,v 1.7 2003/07/15 23:14:48 shadow Exp $"); + ("$Header: /cvs/openafs/src/budb/db_dump.c,v 1.7.2.2 2007/11/26 21:21:50 shadow Exp $"); #ifdef AFS_NT40_ENV #include @@ -28,14 +28,7 @@ RCSID #include #include #include - -#ifdef HAVE_STRING_H #include -#else -#ifdef HAVE_STRINGS_H -#include -#endif -#endif #include "database.h" #include "budb.h" @@ -100,6 +93,7 @@ canWrite(fid) * no return value */ +void haveWritten(nbytes) afs_int32 nbytes; { @@ -121,6 +115,7 @@ haveWritten(nbytes) * done flag. */ +void doneWriting(error) afs_int32 error; { diff --git a/src/budb/db_hash.c b/src/budb/db_hash.c index a58a647c4..ba20b3130 100644 --- a/src/budb/db_hash.c +++ b/src/budb/db_hash.c @@ -11,20 +11,14 @@ #include RCSID - ("$Header: /cvs/openafs/src/budb/db_hash.c,v 1.8 2003/11/23 04:53:31 jaltman Exp $"); + ("$Header: /cvs/openafs/src/budb/db_hash.c,v 1.8.2.1 2007/10/30 15:23:50 shadow Exp $"); #ifdef AFS_NT40_ENV #include #else #include #endif -#ifdef HAVE_STRING_H #include -#else -#ifdef HAVE_STRINGS_H -#include -#endif -#endif #include #include #include diff --git a/src/budb/db_text.c b/src/budb/db_text.c index 913f0f0c7..1c2ba165c 100644 --- a/src/budb/db_text.c +++ b/src/budb/db_text.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/budb/db_text.c,v 1.10.2.2 2005/07/11 19:29:34 shadow Exp $"); + ("$Header: /cvs/openafs/src/budb/db_text.c,v 1.10.2.4 2007/11/26 21:21:50 shadow Exp $"); #ifdef AFS_NT40_ENV #include @@ -22,13 +22,7 @@ RCSID #include #include #endif -#ifdef HAVE_STRING_H #include -#else -#ifdef HAVE_STRINGS_H -#include -#endif -#endif #include #include #include @@ -490,7 +484,7 @@ SaveText(call, lockHandle, textType, offset, flags, charListPtr) } /* debug support */ - +void saveTextToFile(ut, tbPtr) struct ubik_trans *ut; struct textBlock *tbPtr; diff --git a/src/budb/dbs_dump.c b/src/budb/dbs_dump.c index a4315cf61..7fb102595 100644 --- a/src/budb/dbs_dump.c +++ b/src/budb/dbs_dump.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/budb/dbs_dump.c,v 1.11 2003/07/15 23:14:48 shadow Exp $"); + ("$Header: /cvs/openafs/src/budb/dbs_dump.c,v 1.11.2.1 2008/03/10 22:35:34 shadow Exp $"); #ifdef AFS_NT40_ENV #include @@ -45,6 +45,7 @@ RCSID #include "globals.h" #include "afs/audit.h" +void *dumpWatcher(void *); /* dump ubik database - interface routines */ @@ -64,9 +65,10 @@ badEntry(dbAddr) * decode the arguments passed via LWP and dump the database. */ -setupDbDump(writeFid) - int writeFid; +void * +setupDbDump(void *param) { + int writeFid = (int)param; afs_int32 code = 0; code = InitRPC(&dumpSyncPtr->ut, LOCKREAD, 1); @@ -86,7 +88,7 @@ setupDbDump(writeFid) error_exit: if (dumpSyncPtr->ut) ubik_EndTrans(dumpSyncPtr->ut); - return (code); + return (void *)(code); } @@ -117,7 +119,6 @@ DumpDB(call, firstcall, maxLength, charListPtr, done) PROCESS dumperPid, watcherPid; int readSize; afs_int32 code = 0; - extern dumpWatcher(); if (callPermitted(call) == 0) ERROR(BUDB_NOTPERMITTED); @@ -289,7 +290,8 @@ RestoreDbHeader(call, header) * transactions can proceed. */ -dumpWatcher() +void * +dumpWatcher(void *unused) { afs_int32 code; diff --git a/src/budb/ol_verify.c b/src/budb/ol_verify.c index dfe6095dd..11c7dde8b 100644 --- a/src/budb/ol_verify.c +++ b/src/budb/ol_verify.c @@ -13,7 +13,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/budb/ol_verify.c,v 1.13.2.1 2007/07/06 11:38:31 jaltman Exp $"); + ("$Header: /cvs/openafs/src/budb/ol_verify.c,v 1.13.2.2 2007/10/30 15:23:50 shadow Exp $"); #include #ifdef AFS_NT40_ENV @@ -22,13 +22,7 @@ RCSID #include #include #endif -#ifdef HAVE_STRING_H #include -#else -#ifdef HAVE_STRINGS_H -#include -#endif -#endif #include #include #include diff --git a/src/budb/procs.c b/src/budb/procs.c index 8a01c462a..f13c76fa3 100644 --- a/src/budb/procs.c +++ b/src/budb/procs.c @@ -17,7 +17,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/budb/procs.c,v 1.14 2003/12/07 22:49:19 jaltman Exp $"); + ("$Header: /cvs/openafs/src/budb/procs.c,v 1.14.2.1 2007/10/30 15:23:50 shadow Exp $"); #ifdef AFS_NT40_ENV #include @@ -29,14 +29,7 @@ RCSID #include #endif -#ifdef HAVE_STRING_H #include -#else -#ifdef HAVE_STRINGS_H -#include -#endif -#endif - #include #include #include diff --git a/src/budb/server.c b/src/budb/server.c index dd26cf0f0..8863c62ea 100644 --- a/src/budb/server.c +++ b/src/budb/server.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/budb/server.c,v 1.14.2.5 2007/04/10 18:43:41 shadow Exp $"); + ("$Header: /cvs/openafs/src/budb/server.c,v 1.14.2.9 2008/03/10 22:35:34 shadow Exp $"); #include #include @@ -24,15 +24,7 @@ RCSID #include #include #endif - -#ifdef HAVE_STRING_H #include -#else -#ifdef HAVE_STRINGS_H -#include -#endif -#endif - #include #include #include @@ -62,6 +54,8 @@ RCSID struct ubik_dbase *BU_dbase; struct afsconf_dir *BU_conf; /* for getting cell info */ +int argHandler(struct cmd_syndesc *, void *); + char lcell[MAXKTCREALMLEN]; afs_int32 myHost = 0; int helpOption; @@ -131,8 +125,7 @@ convert_cell_to_ubik(cellinfo, myHost, serverList) * If it were, this routine would never have been called. */ static int -MyBeforeProc(as) - register struct cmd_syndesc *as; +MyBeforeProc(register struct cmd_syndesc *as, void *arock) { helpOption = 0; return 0; @@ -142,12 +135,11 @@ MyBeforeProc(as) * initialize all the supported commands and their arguments */ +void initializeArgHandler() { struct cmd_syndesc *cptr; - int argHandler(); - cmd_SetBeforeProc(MyBeforeProc, NULL); cptr = cmd_CreateSyntax(NULL, argHandler, NULL, "Backup database server"); @@ -179,9 +171,7 @@ initializeArgHandler() } int -argHandler(as, arock) - struct cmd_syndesc *as; - char *arock; +argHandler(struct cmd_syndesc *as, void *arock) { /* globalConfPtr provides the handle for the configuration information */ @@ -595,14 +585,14 @@ main(argc, argv) currentTime = time(0); LogError(0, "Ready to process requests at %s\n", ctime(¤tTime)); - rx_ServerProc(); /* donate this LWP */ + rx_ServerProc(NULL); /* donate this LWP */ error_exit: osi_audit(BUDB_FinishEvent, code, AUD_END); return (code); } - +void consistencyCheckDb() { /* do consistency checks on structure sizes */ diff --git a/src/budb/struct_ops.c b/src/budb/struct_ops.c index be43438f3..dc2ab411b 100644 --- a/src/budb/struct_ops.c +++ b/src/budb/struct_ops.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/budb/struct_ops.c,v 1.7 2003/12/08 01:45:28 jaltman Exp $"); + ("$Header: /cvs/openafs/src/budb/struct_ops.c,v 1.7.2.1 2007/11/26 21:21:50 shadow Exp $"); #include #ifdef AFS_NT40_ENV @@ -36,6 +36,7 @@ RCSID * ---------------------------------- */ +void printDbHeader(ptr) struct DbHeader *ptr; { @@ -47,6 +48,7 @@ printDbHeader(ptr) printf("lastTapeId = %d\n", ptr->lastTapeId); } +void printDump(fid, dptr) FILE *fid; struct dump *dptr; @@ -67,6 +69,7 @@ printDump(fid, dptr) } +void printDumpEntry(deptr) struct budb_dumpEntry *deptr; { @@ -105,6 +108,7 @@ printDumpEntry(deptr) * print the hash table structure, i.e. the header structure. */ +void printHashTable(fid, htptr) FILE *fid; struct hashTable *htptr; @@ -308,6 +312,7 @@ printVolInfo(fid, viptr) * currently used for debug only */ +void volFragment_ntoh(netVfPtr, hostVfPtr) struct volFragment *netVfPtr, *hostVfPtr; { @@ -324,6 +329,7 @@ volFragment_ntoh(netVfPtr, hostVfPtr) hostVfPtr->sequence = ntohs(netVfPtr->sequence); } +void volInfo_ntoh(netViPtr, hostViPtr) struct volInfo *netViPtr, *hostViPtr; { @@ -339,6 +345,7 @@ volInfo_ntoh(netViPtr, hostViPtr) hostViPtr->nFrags = ntohl(netViPtr->nFrags); } +void tape_ntoh(netTapePtr, hostTapePtr) struct tape *netTapePtr, *hostTapePtr; { @@ -360,6 +367,7 @@ tape_ntoh(netTapePtr, hostTapePtr) hostTapePtr->useCount = ntohl(netTapePtr->useCount); } +void dump_ntoh(netDumpPtr, hostDumpPtr) struct dump *netDumpPtr, *hostDumpPtr; { @@ -382,6 +390,7 @@ dump_ntoh(netDumpPtr, hostDumpPtr) principal_ntoh(&netDumpPtr->dumper, &hostDumpPtr->dumper); } +void DbHeader_ntoh(netptr, hostptr) struct DbHeader *netptr, *hostptr; { @@ -393,6 +402,7 @@ DbHeader_ntoh(netptr, hostptr) hostptr->lastTapeId = ntohl(netptr->lastTapeId); } +void dumpEntry_ntoh(netptr, hostptr) struct budb_dumpEntry *netptr, *hostptr; { @@ -431,6 +441,7 @@ principal_ntoh(netptr, hostptr) return 0; } +void structDumpHeader_hton(hostPtr, netPtr) struct structDumpHeader *hostPtr, *netPtr; { @@ -439,6 +450,7 @@ structDumpHeader_hton(hostPtr, netPtr) netPtr->size = htonl(hostPtr->size); } +void structDumpHeader_ntoh(netPtr, hostPtr) struct structDumpHeader *hostPtr, *netPtr; { @@ -447,6 +459,7 @@ structDumpHeader_ntoh(netPtr, hostPtr) hostPtr->size = ntohl(netPtr->size); } +void tapeEntry_ntoh(netptr, hostptr) struct budb_tapeEntry *netptr, *hostptr; { @@ -491,6 +504,7 @@ tapeSet_ntoh(netptr, hostptr) return 0; } +void textBlock_hton(hostptr, netptr) struct textBlock *hostptr, *netptr; { @@ -501,6 +515,7 @@ textBlock_hton(hostptr, netptr) netptr->newTextAddr = htonl(hostptr->newTextAddr); } +void textBlock_ntoh(netptr, hostptr) struct textBlock *netptr, *hostptr; { @@ -511,6 +526,7 @@ textBlock_ntoh(netptr, hostptr) hostptr->newTextAddr = ntohl(netptr->newTextAddr); } +void textLock_hton(hostptr, netptr) db_lockP hostptr, netptr; { @@ -522,6 +538,7 @@ textLock_hton(hostptr, netptr) netptr->lockHost = htonl(hostptr->lockHost); } +void textLock_ntoh(netptr, hostptr) db_lockP netptr, hostptr; { @@ -533,6 +550,7 @@ textLock_ntoh(netptr, hostptr) hostptr->lockHost = ntohl(netptr->lockHost); } +void volumeEntry_ntoh(netptr, hostptr) struct budb_volumeEntry *netptr, *hostptr; { @@ -559,7 +577,7 @@ volumeEntry_ntoh(netptr, hostptr) * ------------------------------------- */ - +void copy_ktcPrincipal_to_budbPrincipal(ktcPtr, budbPtr) struct ktc_principal *ktcPtr; struct budb_principal *budbPtr; @@ -663,4 +681,5 @@ default_tapeset(tapesetPtr, dumpname) tapesetPtr->a = 1; tapesetPtr->b = 1; tapesetPtr->maxTapes = 0; + return 0; } diff --git a/src/butc/butc_prototypes.h b/src/butc/butc_prototypes.h new file mode 100644 index 000000000..be97c93eb --- /dev/null +++ b/src/butc/butc_prototypes.h @@ -0,0 +1,36 @@ +/* Copyright 2000, International Business Machines Corporation and others. + * All Rights Reserved. + * + * This software has been released under the terms of the IBM Public + * License. For details, see the LICENSE file in the top-level source + * directory or online at http://www.openafs.org/dl/license10.html + */ + +#ifndef _BUTC_PROTOTYPES_H +#define _BUTC_PROTOTYPES_H + +/* dbentries.c */ + +extern void *dbWatcher(void *); + +/* dump.c */ + +extern void *Dumper(void *); +extern void *DeleteDump(void *); + +/* lwps.c */ +extern void *Restorer(void *); +extern void *Labeller(void *); + +/* recoverdDb.c */ + +extern void *ScanDumps(void *); + +/* tcudbprocs.c */ + +extern void *saveDbToTape(void *); +extern void *restoreDbFromTape(void *); +extern void *KeepAlive(void *); + +#endif + diff --git a/src/butc/dbentries.c b/src/butc/dbentries.c index 48dcfb1bf..c4a36d0fd 100644 --- a/src/butc/dbentries.c +++ b/src/butc/dbentries.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/butc/dbentries.c,v 1.8.2.1 2006/07/01 05:04:12 shadow Exp $"); + ("$Header: /cvs/openafs/src/butc/dbentries.c,v 1.8.2.5 2008/03/10 22:35:34 shadow Exp $"); #include #ifdef AFS_NT40_ENV @@ -24,6 +24,7 @@ RCSID #include #endif #include +#include #include #include #include @@ -309,13 +310,14 @@ waitDbWatcher() if (message) { printf("Updating database - done\n"); } + return; } #define MAXVOLUMESTOADD 100 int addvolumes = 1; -void -dbWatcher() +void * +dbWatcher(void *unused) { dlqlinkP entryPtr; struct budb_dumpEntry *dumpPtr; @@ -483,4 +485,5 @@ dbWatcher() IOMGR_Sleep(2); #endif } + return NULL; } diff --git a/src/butc/dump.c b/src/butc/dump.c index b1ae143f7..42f6f42eb 100644 --- a/src/butc/dump.c +++ b/src/butc/dump.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/butc/dump.c,v 1.17.2.1 2005/04/03 18:15:45 shadow Exp $"); + ("$Header: /cvs/openafs/src/butc/dump.c,v 1.17.2.3 2008/03/10 22:35:34 shadow Exp $"); #include #ifdef AFS_NT40_ENV @@ -24,6 +24,7 @@ RCSID #include #endif #include +#include #include #include #include @@ -1116,9 +1117,10 @@ dumpPass(struct dumpRock * dparamsPtr, int passNumber) return (code); } -int -Dumper(struct dumpNode *nodePtr) +void * +Dumper(void *param) { + struct dumpNode *nodePtr = (struct dumpNode *)param; struct dumpRock dparams; struct butm_tapeInfo tapeInfo; int pass; @@ -1368,7 +1370,7 @@ Dumper(struct dumpNode *nodePtr) FreeNode(taskId); /* free the dump node */ LeaveDeviceQueue(deviceLatch); - return (code); + return (void *)(code); } #define BELLTIME 60 /* 60 seconds before a bell rings */ @@ -2029,9 +2031,11 @@ InitToServer(afs_int32 taskId, struct butx_transactionInfo * butxInfoP, /* DeleteDump * */ -int -DeleteDump(struct deleteDumpIf *ptr) +void * +DeleteDump(void *param) { + struct deleteDumpIf *ptr = (struct deleteDumpIf *)param; + afs_int32 taskId; afs_int32 rc, code = 0; afs_uint32 dumpid; diff --git a/src/butc/lwps.c b/src/butc/lwps.c index ff08cc708..1b4a1260b 100644 --- a/src/butc/lwps.c +++ b/src/butc/lwps.c @@ -11,9 +11,10 @@ #include RCSID - ("$Header: /cvs/openafs/src/butc/lwps.c,v 1.12.2.3 2007/04/10 18:43:41 shadow Exp $"); + ("$Header: /cvs/openafs/src/butc/lwps.c,v 1.12.2.6 2008/03/10 22:35:34 shadow Exp $"); #include +#include #ifdef AFS_NT40_ENV #include #include @@ -546,6 +547,7 @@ callOutRoutine(taskId, tapePath, flag, name, dbDumpId, tapecount) * Regardless of error, the closecallout routine will be called * (unless a tape is not mounted in the first place). */ +void unmountTape(taskId, tapeInfoPtr) afs_int32 taskId; struct butm_tapeInfo *tapeInfoPtr; @@ -1741,9 +1743,10 @@ restoreVolume(taskId, restoreInfo, rparamsPtr) * created as a LWP by the server stub, is a pointer to all * the parameters Restorer needs */ -Restorer(newNode) - struct dumpNode *newNode; -{ +void * +Restorer(void *param) { + struct dumpNode *newNode = (struct dumpNode *) param; + afs_int32 code = 0, tcode; afs_uint32 taskId; char *newVolName; @@ -1922,6 +1925,7 @@ Restorer(newNode) /* this is just scaffolding, creates new tape label with name */ +void GetNewLabel(tapeInfoPtr, pName, AFSName, tapeLabel) struct butm_tapeInfo *tapeInfoPtr; char *pName, *AFSName; @@ -2223,9 +2227,11 @@ updateTapeLabel(labelIfPtr, tapeInfoPtr, newLabelPtr) * specified by