1. 25 Jul, 2002 6 commits
    • Patrick Mochel's avatar
      driverfs: Don't use VFS for file or directory deletion · 309efdac
      Patrick Mochel authored
      These are tied together a bit, so they're included in the same patch
      
      Mainly, they move the taking of the inode's i_sem into the unlink and rmdir. 
      
      driverfs_rmdir doesn't call driverfs_unlink anymore, as it checks if the directory is empty
      and conditionally does d_delete on it.
      
      fs/namei.c implements d_unhash, which is called in vfs_rmdir. This isn't exported (yet), 
      so reimplement it here (at least until it's known that it's not needed or it's exported).
      309efdac
    • Patrick Mochel's avatar
      driverfs: don't use vfs for creating symlinks · e3656f48
      Patrick Mochel authored
      Add check for existence of dentry in driverfs_symlink and driverfs_mknod  (which the other creation
      functions use).
      e3656f48
    • Patrick Mochel's avatar
      driverfs: don't use VFS for directory creation · 915a4d4c
      Patrick Mochel authored
      Call driverfs_mkdir directly, instead of going through vfs.
      915a4d4c
    • Patrick Mochel's avatar
      driverfs: stop using vfs layer for file creation · 99264544
      Patrick Mochel authored
      This is the first of a series of patches to driverfs to _not_ use the vfs layer for file creation
      and deletion. 
      The VFS layer is allowing files and directories to be removed from userspace, which we don't want 
      at all. 
      
      Per Al Viro's suggesting, I am pushing the necessary checks from the vfs_* functions into the 
      driverfs functions, and calling them directly from the kernel interface to driverfs.
      
      This is the first, for file creation
      99264544
    • Patrick Mochel's avatar
      Use C99 initializers in driverfs · 086a716c
      Patrick Mochel authored
      086a716c
    • Patrick Mochel's avatar
      Remove BKL from driverfs · 89988159
      Patrick Mochel authored
      - in mkdir: we already hold parent directory's semaphore (c.f. driverfs_create_dir)
      - in create: ditto (c.f. driverfs_create_file)
      - in unlink: ditto (c.f. driverfs_remove_file) and file's i_sem is taken in vfs_unlink
      - un lseek: take inode's i_sem (though I think we can replace this with a common lseek function...later)
      89988159
  2. 24 Jul, 2002 34 commits