{"push_id":2360246444,"size":14,"distinct_size":14,"ref":"refs/heads/ramfs","head":"78280c45d1f741589abd1549bef3e6d28f452063","before":"d3d79438d1f8acd54fc27f6f6078da175ba59495","commits":[{"sha":"509a7640c0eadc94ff5deac060d37fa33fd42925","author":{"name":"Barret Rhoden","email":"2d0cb557c0ff6ef738e972832f2a702bb3e84662@cs.berkeley.edu"},"message":"Fix 'include' issue\n\nIf you tried to use error() without including syscall.h, it would fail to\ncompile.\n\nSigned-off-by: Barret Rhoden <brho@cs.berkeley.edu>","distinct":true,"url":"https://api.github.com/repos/brho/akaros/commits/509a7640c0eadc94ff5deac060d37fa33fd42925"},{"sha":"a90a4996231dd8ae38821d7448ebcf04415b312c","author":{"name":"Barret Rhoden","email":"2d0cb557c0ff6ef738e972832f2a702bb3e84662@cs.berkeley.edu"},"message":"Remove the #defines for struct stat and dirent (XCC)\n\nThis was always a nasty hack.\n\nReinstall your kernel headers.\n\nSigned-off-by: Barret Rhoden <brho@cs.berkeley.edu>","distinct":true,"url":"https://api.github.com/repos/brho/akaros/commits/a90a4996231dd8ae38821d7448ebcf04415b312c"},{"sha":"9dbe00cc5f40c705e376dc6f3f56834c9a25bda3","author":{"name":"Barret Rhoden","email":"2d0cb557c0ff6ef738e972832f2a702bb3e84662@cs.berkeley.edu"},"message":"x86: Add a kfunc for testing wrmsr()\n\nSigned-off-by: Barret Rhoden <brho@cs.berkeley.edu>","distinct":true,"url":"https://api.github.com/repos/brho/akaros/commits/9dbe00cc5f40c705e376dc6f3f56834c9a25bda3"},{"sha":"5e5c97eb7f4998f9d94dfcac88814bc6bcbb3d91","author":{"name":"Barret Rhoden","email":"2d0cb557c0ff6ef738e972832f2a702bb3e84662@cs.berkeley.edu"},"message":"x86: Fix PTE_ bit definitions (XCC)\n\n__PTE_JPAT was wrong.  The description (bit 12) was correct, but the number\nwas wrong.  I changed them all to be the more easily veriable (1 << bit_nr)\nstyle.  The comment for PTE_PAT was wrong, but the number was correct.\n\nReinstall your kernel headers.\n\nSigned-off-by: Barret Rhoden <brho@cs.berkeley.edu>","distinct":true,"url":"https://api.github.com/repos/brho/akaros/commits/5e5c97eb7f4998f9d94dfcac88814bc6bcbb3d91"},{"sha":"7928f32d7eb46019b8b449a26ffa22d7289b3848","author":{"name":"Barret Rhoden","email":"2d0cb557c0ff6ef738e972832f2a702bb3e84662@cs.berkeley.edu"},"message":"9ns: Add helpers for permissions checks\n\nSigned-off-by: Barret Rhoden <brho@cs.berkeley.edu>","distinct":true,"url":"https://api.github.com/repos/brho/akaros/commits/7928f32d7eb46019b8b449a26ffa22d7289b3848"},{"sha":"2d547d322d0f31c2fa7b2c8ba566e795cfeb1139","author":{"name":"Barret Rhoden","email":"2d0cb557c0ff6ef738e972832f2a702bb3e84662@cs.berkeley.edu"},"message":"Move 'KFOP' helpers to umem.c\n\nThis is a nasty hack that lets a copying routine work for either a kernel\nclient or a userspace client.\n\nSigned-off-by: Barret Rhoden <brho@cs.berkeley.edu>","distinct":true,"url":"https://api.github.com/repos/brho/akaros/commits/2d547d322d0f31c2fa7b2c8ba566e795cfeb1139"},{"sha":"93bf188e5d7415c4c9c1fe7ec39ca178bcd6ad8f","author":{"name":"Barret Rhoden","email":"2d0cb557c0ff6ef738e972832f2a702bb3e84662@cs.berkeley.edu"},"message":"devalarm: Use the dummy dev functions\n\nThe alarm functions do the same thing as the dev functions.\n\nSigned-off-by: Barret Rhoden <brho@cs.berkeley.edu>","distinct":true,"url":"https://api.github.com/repos/brho/akaros/commits/93bf188e5d7415c4c9c1fe7ec39ca178bcd6ad8f"},{"sha":"535708a39a79ec8dc09452503a0c7c9888939e11","author":{"name":"Barret Rhoden","email":"2d0cb557c0ff6ef738e972832f2a702bb3e84662@cs.berkeley.edu"},"message":"9ns: Add 'extensions' to dev.create\n\nThis is based on Eric VH's 9p2000 RFC:\n\n\thttp://ericvh.github.io/9p-rfc/rfc9p2000.u.html\n\nThe extension string's meaning will depend on the mode/perm bits (not\nomode, which is open mode).\n\nThe main user will be symlinks.  The ext string will be the path.  By\nadding the path to the create message, we can atomically create a symlink\nfile and have its path set.  That might make namec easier.\n\nSigned-off-by: Barret Rhoden <brho@cs.berkeley.edu>","distinct":true,"url":"https://api.github.com/repos/brho/akaros/commits/535708a39a79ec8dc09452503a0c7c9888939e11"},{"sha":"a86b0a9d0a5454a55c710dd2014081633b9bb23d","author":{"name":"Barret Rhoden","email":"2d0cb557c0ff6ef738e972832f2a702bb3e84662@cs.berkeley.edu"},"message":"9ns: Add 'extensions' to namec()\n\nWe'll need this for creating symlinks.  We might be able to use this for\nother things, like the crazy open extensions Ron and I talked about years\nago.  Though that might want to get a value back, instead of sending a\nvalue.\n\nSigned-off-by: Barret Rhoden <brho@cs.berkeley.edu>","distinct":true,"url":"https://api.github.com/repos/brho/akaros/commits/a86b0a9d0a5454a55c710dd2014081633b9bb23d"},{"sha":"5aa740d770d823d8bc9509bdc9168ac552749ac6","author":{"name":"Barret Rhoden","email":"2d0cb557c0ff6ef738e972832f2a702bb3e84662@cs.berkeley.edu"},"message":"9ns: Extend struct dir and the stat M bufs\n\nThese extensions are IAW 9p2000.u.  Additionally, I extend the dir even\nfurther to have full timespecs.  Between these timespecs and the extension\nstring, we might be able to do everything that statx() does.\n\nThis commit changes the kernel's side of things.  The stat bufs it produces\nwith convD2M() can be interpretted by older 9p readers, since the initial\npart of the message is the same.  We can read old or new stat buffers with\nconvM2D().  For instance, userspace creates wstat messages (e.g. mkdir())\nin the old format still.\n\nI replaced the guts of convM2kdirent() and convM2kstat() with convM2D(),\nwhich greatly simplifies that area.  Those functions are for converting\nfrom Ms to glibc-style dirents and stat structures that Akaros used before\nwe had Plan 9.\n\nI also cleaned up the STATFIXLEN mess.  I found that tricky to debug and a\nlittle unclear.  Given there are two formats now, things would get even\nworse; I wasn't about to change the magic '4's to '5's.\n\nSigned-off-by: Barret Rhoden <brho@cs.berkeley.edu>","distinct":true,"url":"https://api.github.com/repos/brho/akaros/commits/5aa740d770d823d8bc9509bdc9168ac552749ac6"},{"sha":"0e45459b325c9d0a4b58b56f50983ea14241862a","author":{"name":"Barret Rhoden","email":"2d0cb557c0ff6ef738e972832f2a702bb3e84662@cs.berkeley.edu"},"message":"9ns: Add high-level support for symlinks\n\nThis creates links with SYS_symlink and extracts the info with\nSYS_readlink.  You need a 9ns device that supports symlinks, such as the\nyet-unmerged KFS.  Walking through symlinks doesn't work yet.\n\nSimilar to the VFS, we have various accessor-functions for stat, such as\nregular stat and lstat.  Same goes for the 'dirstat' functions.  For those\nnot familiar, those functions are basically \"stat a path and convert to a\ndir.\"\n\nSigned-off-by: Barret Rhoden <brho@cs.berkeley.edu>","distinct":true,"url":"https://api.github.com/repos/brho/akaros/commits/0e45459b325c9d0a4b58b56f50983ea14241862a"},{"sha":"72d7d69174be3107d2276c6b7c65a9a46e0169c2","author":{"name":"Barret Rhoden","email":"2d0cb557c0ff6ef738e972832f2a702bb3e84662@cs.berkeley.edu"},"message":"9ns: Use a flags variable for walk/namec options\n\n'can_mount' is just one option.  Symlinks give us more options.  While\nwe're at it, we can store the loop count.  I added helpers to avoid the\nnastiness of \"flags++\".\n\nSigned-off-by: Barret Rhoden <brho@cs.berkeley.edu>","distinct":true,"url":"https://api.github.com/repos/brho/akaros/commits/72d7d69174be3107d2276c6b7c65a9a46e0169c2"},{"sha":"c09c3e6b99e20451bf16b169f6a82cf051e9d91d","author":{"name":"Barret Rhoden","email":"2d0cb557c0ff6ef738e972832f2a702bb3e84662@cs.berkeley.edu"},"message":"9ns: Make walk() follow symlinks\n\nWhen we hit a chan that is a symlink, walk() will check it for mount\npoints, just like any other file.  Otherwise, we'll attempt to walk it.\n\nNote that O_NOFOLLOW doesn't throw an error; it just means to not follow\nthe last step.  open() can throw an error if it wants.\n\nRelative lookups are a little nasty.  We need the parent of the symlink,\nbut only the device knows the parent.  We can use walk() and dotdot to get\nthe parent.  The special cases are a little nasty.  When the tree_file code\nis merged, you can see what tree_file_walk does.  It's basically the same\nas the check that walk() makes: we can walk from a symlink, but only to\ndotdot.  We should only be doing that when handling a relative walk, though\nthere might be a case where we can sneak by - hence the asserts.\n\nSigned-off-by: Barret Rhoden <brho@cs.berkeley.edu>","distinct":true,"url":"https://api.github.com/repos/brho/akaros/commits/c09c3e6b99e20451bf16b169f6a82cf051e9d91d"},{"sha":"78280c45d1f741589abd1549bef3e6d28f452063","author":{"name":"Barret Rhoden","email":"2d0cb557c0ff6ef738e972832f2a702bb3e84662@cs.berkeley.edu"},"message":"WIP-pop-3000","distinct":true,"url":"https://api.github.com/repos/brho/akaros/commits/78280c45d1f741589abd1549bef3e6d28f452063"}]}
{"actor":{"display_login":"brho"}}