From: Yan Date: Mon, 14 Jan 2008 18:35:00 +0000 (-0500) Subject: Add readonly inode flag X-Git-Tag: upstream/0.20.rc1~338 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3a3123bfc1074ee81c8cb44938e4b50a044898b9;p=platform%2Fupstream%2Fbtrfs-progs.git Add readonly inode flag This patch adds readonly inode flag support. A file with this flag can't be modified, but can be deleted. --- diff --git a/convert.c b/convert.c index c047620..86c41b0 100644 --- a/convert.c +++ b/convert.c @@ -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); diff --git a/ctree.h b/ctree.h index 444f47e..d619f30 100644 --- a/ctree.h +++ b/ctree.h @@ -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)) + \