Add readonly inode flag

This patch adds readonly inode flag support.  A file with this flag
can't be modified, but can be deleted.
master
Yan 2008-01-14 13:35:00 -05:00 committed by David Woodhouse
parent 62a72e7d9a
commit 3a3123bfc1
2 changed files with 6 additions and 3 deletions

View File

@ -1163,7 +1163,8 @@ static int create_ext2_image(struct btrfs_root *root, ext2_filsys ext2_fs,
btrfs_set_stack_inode_nlink(&btrfs_inode, 1);
btrfs_set_stack_inode_nblocks(&btrfs_inode, 0);
btrfs_set_stack_inode_mode(&btrfs_inode, S_IFREG | 0400);
btrfs_set_stack_inode_flags(&btrfs_inode, BTRFS_INODE_NODATASUM);
btrfs_set_stack_inode_flags(&btrfs_inode, BTRFS_INODE_NODATASUM |
BTRFS_INODE_READONLY);
btrfs_init_path(&path);
trans = btrfs_start_transaction(root, 1);
BUG_ON(!trans);

View File

@ -418,8 +418,10 @@ struct btrfs_root {
/*
* Inode flags
*/
#define BTRFS_INODE_NODATASUM 0x1
#define BTRFS_INODE_NODATACOW 0x2
#define BTRFS_INODE_NODATASUM (1 << 0)
#define BTRFS_INODE_NODATACOW (1 << 1)
#define BTRFS_INODE_READONLY (1 << 2)
#define read_eb_member(eb, ptr, type, member, result) ( \
read_extent_buffer(eb, (char *)(result), \
((unsigned long)(ptr)) + \