--- - branch: netbsd-6 date: Thu Sep 13 20:20:17 UTC 2012 files: - new: 1.55.4.2 old: 1.55.4.1 path: src/lib/libp2k/p2k.c pathrev: src/lib/libp2k/p2k.c@1.55.4.2 type: modified - new: 1.38.2.4 old: 1.38.2.3 path: src/lib/libpuffs/dispatcher.c pathrev: src/lib/libpuffs/dispatcher.c@1.38.2.4 type: modified - new: 1.10.20.2 old: 1.10.20.1 path: src/lib/libpuffs/pnode.c pathrev: src/lib/libpuffs/pnode.c@1.10.20.2 type: modified - new: 1.49.2.3 old: 1.49.2.2 path: src/lib/libpuffs/puffs.3 pathrev: src/lib/libpuffs/puffs.3@1.49.2.3 type: modified - new: 1.119.4.4 old: 1.119.4.3 path: src/lib/libpuffs/puffs.h pathrev: src/lib/libpuffs/puffs.h@1.119.4.4 type: modified - new: 1.29.4.4 old: 1.29.4.3 path: src/lib/libpuffs/puffs_ops.3 pathrev: src/lib/libpuffs/puffs_ops.3@1.29.4.4 type: modified id: 20120913T202017Z.b8dfd08181f0d4fd73f11adcec022d22d437a00d log: "Pull up following revision(s) (requested by manu in ticket #525):\n\tlib/libpuffs/dispatcher.c: revision 1.44\n\tlib/libp2k/p2k.c: revision 1.57\n\tlib/libpuffs/puffs_ops.3: revision 1.35\n\tlib/libpuffs/pnode.c: revision 1.13\n\tlib/libpuffs/puffs.3: revision 1.56\n\tlib/libpuffs/puffs.h: revision 1.124\nFix regression that has been introduced when the lookup/reclaim race\ncondition was addressed in libpuffs by counting lookups.\nThe fix assumes that cookies map to struct puffs_cookie, which has not\nbeen documented as a requirement for filesystems using libpuffs. As an\nexample, we got burnt by this assumption in libp2k (kern/46734), and\nwe fixed bit by actually mapping libp2k cookies to struct puffs_node.\nIt is unlikely, but there may be third party filesystems that use cookies\nunmapped to struct puffs_node, and they were left broken for now.\n- we introduce a puffs_init() flag PUFFS_FLAG_PNCOOKIE that let filesystems\ninform libpuffs that they map cookies to struct puffs_node. Is that flag\nis used, the lookup/reclaim race condition fix is enabled. We enable the\nflag for libp2k.\n- filesystems that use puffs_pn_new() obviouslty use struct puffs_node\nand gain PUFFS_FLAG_PNCOOKIE automatically even if they did not specify\nit in puffs_init(). This include all our PUFFS filesystem in-tree except\nlibp2k.\n- for filesystems not willing to use struct puffs_node, we introduce a\nreclaim2 vnop, which is reclaim with an additionnal lookup count argument.\nThis vnop let the filesystem implement the lookup/reclaim race fix on\nits own.\n" module: src subject: 'CVS commit: [netbsd-6] src/lib' unixtime: '1347567617' user: riz