mirror of
https://github.com/kdave/btrfs-progs
synced 2024-12-23 06:32:57 +00:00
385bbf35e2
The ACL types and macros are same for both source filesystem. Signed-off-by: David Sterba <dsterba@suse.com>
59 lines
1.6 KiB
C
59 lines
1.6 KiB
C
/*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public
|
|
* License v2 as published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public
|
|
* License along with this program; if not, write to the
|
|
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
* Boston, MA 021110-1307, USA.
|
|
*/
|
|
|
|
#ifndef __BTRFS_CONVERT_SOURCE_REISERFS_H__
|
|
#define __BTRFS_CONVERT_SOURCE_REISERFS_H__
|
|
|
|
#if BTRFSCONVERT_REISERFS
|
|
|
|
#include "kerncompat.h"
|
|
#include <reiserfs/misc.h>
|
|
#include <reiserfs/io.h>
|
|
#include <reiserfs/reiserfs_lib.h>
|
|
#include <reiserfs/reiserfs_fs.h>
|
|
#include <linux/kdev_t.h>
|
|
#include "convert/source-fs.h"
|
|
|
|
#define REISERFS_ACL_VERSION 0x0001
|
|
|
|
static inline int ext2_acl_count(size_t size)
|
|
{
|
|
ssize_t s;
|
|
size -= sizeof(ext2_acl_header);
|
|
s = size - 4 * sizeof(ext2_acl_entry_short);
|
|
if (s < 0) {
|
|
if (size % sizeof(ext2_acl_entry_short))
|
|
return -1;
|
|
return size / sizeof(ext2_acl_entry_short);
|
|
} else {
|
|
if (s % sizeof(ext2_acl_entry))
|
|
return -1;
|
|
return s / sizeof(ext2_acl_entry) + 4;
|
|
}
|
|
}
|
|
|
|
static inline dev_t new_decode_dev(u32 dev)
|
|
{
|
|
unsigned major = (dev & 0xfff00) >> 8;
|
|
unsigned minor = (dev & 0xff) | ((dev >> 12) & 0xfff00);
|
|
|
|
return MKDEV(major, minor);
|
|
}
|
|
|
|
#endif /* BTRFSCONVERT_REISERFS */
|
|
|
|
#endif
|