fs: compatibility fixes

Signed-off-by: Shilin Victor <chrono.monochrome@gmail.com>
->permission() sanitizing: don't pass flags to ->permission()
VFS && FS: update [part 2]

switch assorted clock drivers to debugfs_remove_recursive()
arm: don't create useless copies to pass into debugfs_create_dir()
coda_venus_readdir(): use offsetof()
minix_getattr(): don't bother with ->d_parent
don't open-code parent_ino() in assorted ->readdir()
get rid of useless dget_parent() in fs/btrfs/ioctl.c
get rid of useless dget_parent() in btrfs rename() and link()
jfs_lookup(): don't bother with . or ..
simplify gfs2_lookup()
switch d_add_ci() to d_splice_alias() in "found negative" case as well
Remove dead code in dget_parent()
fix IN_DELETE_SELF on overwriting rename() on ramfs et.al.
jffs2: fix IN_DELETE_SELF on overwriting rename() killing a directory
switch assorted clock drivers to debugfs_remove_recursive()
fat: remove i_alloc_sem abuse
fs: simplify handling of zero sized reads in __blockdev_direct_IO
fs: kill i_alloc_sem
rw_semaphore: remove up/down_read_non_owner
fs: move inode_dio_wait calls into ->setattr
fs: always maintain i_dio_count
fs: simplify the blockdev_direct_IO prototype
fs: move inode_dio_done to the end_io handler
ext3: make ext3 mount default to barrier=1
reiserfs: make reiserfs default to barrier=flush

https://lkml.org/lkml/2011/7/22/353
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6

https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=0003230e8200699860f0b10af524dc47bf8aecad

Conflicts:

	fs/xfs/linux-2.6/xfs_file.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 (Linus)

https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=e371d46ae45488bcb112a99a7de462e9e3aa6764
fs: reimplement exfat to hopefully fix compile errors

https://github.com/dorimanx/exfat-nofuse
Signed-off-by: Shilin Victor <chrono.monochrome@gmail.com>