orangefs: remove pvfs2_rmdir

The additional work pvfs2_rmdir does after calling pvfs2_unlink is in
the best case (mtime update) duplicate, in the worst case (drop_nlink)
harmful because it makes the link count incorrect.  Remove the
pvfs2_rmdir wrapper and point the rmdir method directly at pvfs2_unlink.

The kernel actually warns about the link count issues when doing a rm -rf:

[   47.262335] ------------[ cut here ]------------
[   47.263312] WARNING: CPU: 3 PID: 3610 at
/work/hch/linux-orangefs/fs/inode.c:281 drop_nlink+0x41/0x50()
[   47.265239] Modules linked in:
[   47.266071] CPU: 3 PID: 3610 Comm: rm Tainted: G        W
3.12.0-hubcap6-290+ #1
[   47.267631] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2007
[   47.268784]  0000000000000009 ffff8800786dddb8 ffffffff81c66e9f
ffff88007fd8f2a8
[   47.270683]  0000000000000000 ffff8800786dddf8 ffffffff81091ed7
ffff8800786dddf8
[   47.272893]  ffff88007914f700 0000000000000000 ffff88007914f700
0000000000000005
[   47.275938] Call Trace:
[   47.276949]  [<ffffffff81c66e9f>] dump_stack+0x46/0x58
[   47.278678]  [<ffffffff81091ed7>] warn_slowpath_common+0x87/0xb0
[   47.280704]  [<ffffffff81091f15>] warn_slowpath_null+0x15/0x20
[   47.282878]  [<ffffffff8119f671>] drop_nlink+0x41/0x50
[   47.284713]  [<ffffffff81446fef>] pvfs2_rmdir+0x2f/0x70
[   47.286494]  [<ffffffff8119329e>] vfs_rmdir+0x9e/0x100
[   47.288279]  [<ffffffff81193472>] do_rmdir+0x172/0x1d0
[   47.290060]  [<ffffffff81719f34>] ? lockdep_sys_exit_thunk+0x35/0x67
[   47.292154]  [<ffffffff81719ebe>] ? trace_hardirqs_on_thunk+0x3a/0x3f
[   47.294332]  [<ffffffff811955c5>] SyS_unlinkat+0x25/0x40
[   47.296131]  [<ffffffff81c78639>] system_call_fastpath+0x16/0x1b
[   47.298133] ---[ end trace f18e4d4a35323747 ]---

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
orangefs: truncate cleanup

Remove a superflous call to inode_newsize_ok, return proper errors
instead of silently ignoring them, give pvfs2_truncate a better name.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
orangefs: remove trivial wrappers

Remove various wrappers that directly wrap kernel provided functions.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
orangefs: simplify object creation path

Remove pvfs2_create_entry and the low-level creation functions by placing
the functions directly into the create, mkdir and symlink inode operations.

Remove support for not fully instanciated parent inodes as that can't
happen with the modern iget variantṡ.  Remove name length checking as all
as all the calls passed through pvfs2_lookup before which already performs
it.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
orangefs: cleanup lookup

Remove handling of partially initialized parent inodes as this can't
happen with the modern iget variants.  Also use goto based unwinding
to avoid duplicating some boilerplate code.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
cleanup pvfs2_inode_getattr

Remove support for partially initialized inodes, mark the
copy_attributes_to_inode helper static.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>