
{"id":6555,"date":"2012-01-02T12:19:02","date_gmt":"2012-01-02T12:19:02","guid":{"rendered":"http:\/\/www.beautifulwork.org\/?p=6555"},"modified":"2012-01-02T12:19:02","modified_gmt":"2012-01-02T12:19:02","slug":"stackable-filesystems-2","status":"publish","type":"post","link":"https:\/\/www.trueangle.org\/index.php\/2012\/01\/02\/stackable-filesystems-2\/","title":{"rendered":"stackable filesystems . Wrapfs filesystem ."},"content":{"rendered":"<p>Classroom.<\/p>\n<pre>\nWrapfs  is  a   full-fledged  stackable  null-layer  (or  loopback)\nfilesystem   that  simply   passes  all   operations   and  objects\n(unmodified)  between  the VFS  and  the  lower filesystem.  Wrapfs\nitself, however, is  not easy to write for one  main reason; it has\nto  treat  the  lower filesystem  as  if  it  were the  VFS,  while\nappearing to the  real Linux VFS as a  lower-level filesystem. This\ndual  role requires  careful handling  of locks,  reference counts,\nallocated  memory and  so on.  Luckily, someone  already  wrote and\nmaintains Wrapfs. Therefore, Wrapfs serves as an excellent template\nfor you to modify and add new functionality.\n\nsource : http:\/\/www.linuxjournal.com\/article\/6485\n<\/pre>\n<p><\/p>\n<h4><u> Get The Hang <\/u><\/h4>\n<pre>\nint wrapfs_unlink(struct inode *dir,\n                  struct dentry *dentry)\n{\n  int err = 0;\n  struct inode *lower_dir;\n  struct dentry *lower_dentry;\n  lower_dir = get_lower_inode(dir);\n  lower_dentry = get_lower_dentry(dentry);\n  \/* pre-call code can go here *\/\n  err = lower_dir-&gt;i_op-&gt;unlink(lower_dir,\n                                lower_dentry);\n  \/* post-call code can go here *\/\n  return err;\n}\n\nsource : http:\/\/www.linuxjournal.com\/article\/6485\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Classroom. Wrapfs is a full-fledged stackable null-layer (or loopback) filesystem that simply passes all operations and objects (unmodified) between the VFS and the lower filesystem. Wrapfs itself, however, is not easy to write for one main reason; it has to treat the lower filesystem as if it were the VFS, while appearing to the real &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.trueangle.org\/index.php\/2012\/01\/02\/stackable-filesystems-2\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;stackable filesystems . Wrapfs filesystem .&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/posts\/6555"}],"collection":[{"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/comments?post=6555"}],"version-history":[{"count":0,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/posts\/6555\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/media?parent=6555"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/categories?post=6555"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/tags?post=6555"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}