xfs: don't allow reflinked dir/dev/fifo/socket/pipe files
authorDarrick J. Wong <darrick.wong@oracle.com>
Mon, 3 Oct 2016 16:11:31 +0000 (09:11 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Wed, 5 Oct 2016 01:06:40 +0000 (18:06 -0700)
commit11715a21bc3035440b853a0334685f1a55ca8c3c
tree36e8e8f19aaa7fc813cb243509c625fd73027621
parentf0ec1b8ef11df0a51954df7e3ff3ca4aadb0d34b
xfs: don't allow reflinked dir/dev/fifo/socket/pipe files

Only non-rt files can be reflinked, so check that when we load an
inode.  Also, don't leak the attr fork if there's a failure.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
fs/xfs/libxfs/xfs_inode_fork.c