android_kernel_xiaomi_sm8350/fs/jfs
Herbert Poetzl fa3241d24c JFS: ext2 inode attributes for jfs
ext2 inode attributes with relevance for jfs:

'a' 	EXT2_APPEND_FL       -> append only
'i' 	EXT2_IMMUTABLE_FL    -> immutable file
's' 	EXT2_SECRM_FL	     -> zero file
'u' 	EXT2_UNRM_FL	     -> allow for unrm
'A' 	EXT2_NOATIME_FL      -> no access time
'D' 	EXT2_DIRSYNC_FL      -> dirsync
'S' 	EXT2_SYNC_FL	     -> sync

overview of jfs flags (partially for OS/2)

value	   (OS/2)	Linux	ext2 attrs
------------------------------------------------
0x00010000 IFJOURNAL	-
0x00020000 ISPARSE  	used
0x00040000 INLINEEA 	used
0x00080000 -	    	-	JFS_NOATIME_FL

0x00100000 -	    	-	JFS_DIRSYNC_FL
0x00200000 -	    	-	JFS_SYNC_FL
0x00400000 -	    	-	JFS_SECRM_FL
0x00800000 ISWAPFILE	-	JFS_UNRM_FL

0x01000000 -	    	-	JFS_APPEND_FL
0x02000000 IREADONLY	-	JFS_IMMUTABLE_FL
0x04000000 IHIDDEN  	-	-
0x08000000 ISYSTEM  	-	-

0x10000000 -	    	-
0x20000000 IDIRECTORY	used
0x40000000 IARCHIVE 	-
0x80000000 INEWNAME 	-

the implementation is straight forward, except
for the fact that the attributes have to be mapped
to match with the ext2 ones to avoid a separate
tool for manipulating them (this could be avoided
when using a separate flag field in the on-disk
representation, but the overhead is minimal)

a special jfs_ioctl is added to allow for the new
JFS_IOC_GETFLAGS and JFS_IOC_SETFLAGS calls.

a helper function jfs_set_inode_flags() to transfer
the flags from the on-disk version to the inode

minor changes to allow flag inheritance on inode
creation, as well as a cleanup of the on-disk
flags (including the new ones)

beforementioned helper to map between ext2 and jfs
versions of the new flags ...

the JFS_SECRM_FL and JFS_UNRM_FL are not done yet
and I'm not 100% sure they are worth the effort,
the rest seems to work out of the box ...

Signed-off-by: Herbert Poetzl <herbert@13thfloor.at>
Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com>
2006-02-09 09:09:16 -06:00
..
acl.c JFS: semaphore to mutex conversion. 2006-01-24 15:22:50 -06:00
endian24.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
file.c JFS: ext2 inode attributes for jfs 2006-02-09 09:09:16 -06:00
inode.c JFS: ext2 inode attributes for jfs 2006-02-09 09:09:16 -06:00
jfs_acl.h JFS: allow extended attributes to be set within a existing transaction 2005-09-01 09:02:43 -05:00
jfs_btree.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
jfs_debug.c JFS: fix sparse warnings by moving extern declarations to headers 2005-05-04 15:29:35 -05:00
jfs_debug.h JFS: fix sparse warnings by moving extern declarations to headers 2005-05-04 15:29:35 -05:00
jfs_dinode.h JFS: ext2 inode attributes for jfs 2006-02-09 09:09:16 -06:00
jfs_dmap.c JFS: semaphore to mutex conversion. 2006-01-24 15:22:50 -06:00
jfs_dmap.h JFS: semaphore to mutex conversion. 2006-01-24 15:22:50 -06:00
jfs_dtree.c JFS: Add back directory i_size calculations for legacy partitions 2005-11-10 07:50:03 -06:00
jfs_dtree.h JFS: Code cleanup - getting rid of never-used debug code 2005-06-27 15:35:37 -05:00
jfs_extent.c JFS: semaphore to mutex conversion. 2006-01-24 15:22:50 -06:00
jfs_extent.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
jfs_filsys.h [PATCH] disk quotas fail when /etc/mtab is symlinked to /proc/mounts 2005-09-07 16:57:23 -07:00
jfs_imap.c JFS: semaphore to mutex conversion. 2006-01-24 15:22:50 -06:00
jfs_imap.h JFS: semaphore to mutex conversion. 2006-01-24 15:22:50 -06:00
jfs_incore.h JFS: semaphore to mutex conversion. 2006-01-24 15:22:50 -06:00
jfs_inode.c JFS: ext2 inode attributes for jfs 2006-02-09 09:09:16 -06:00
jfs_inode.h JFS: ext2 inode attributes for jfs 2006-02-09 09:09:16 -06:00
jfs_lock.h JFS: semaphore to mutex conversion. 2006-01-24 15:22:50 -06:00
jfs_logmgr.c JFS: semaphore to mutex conversion. 2006-01-24 15:22:50 -06:00
jfs_logmgr.h JFS: semaphore to mutex conversion. 2006-01-24 15:22:50 -06:00
jfs_metapage.c [PATCH] mm: split page table lock 2005-10-29 21:40:42 -07:00
jfs_metapage.h JFS: fix sparse warnings by moving extern declarations to headers 2005-05-04 15:29:35 -05:00
jfs_mount.c [PATCH] JFS: Support page sizes greater than 4K 2005-05-02 22:23:53 -07:00
jfs_superblock.h JFS: fix sparse warnings by moving extern declarations to headers 2005-05-04 15:29:35 -05:00
jfs_txnmgr.c JFS: semaphore to mutex conversion. 2006-01-24 15:22:50 -06:00
jfs_txnmgr.h JFS: don't dereference tlck->ip from txUpdateMap 2005-09-20 14:58:11 -05:00
jfs_types.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
jfs_umount.c [PATCH] Fix and add EXPORT_SYMBOL(filemap_write_and_wait) 2006-01-08 20:13:47 -08:00
jfs_unicode.c JFS: performance patch 2005-06-23 16:57:56 -05:00
jfs_unicode.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
jfs_uniupr.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
jfs_xattr.h JFS: Implement jfs_init_security 2005-09-01 09:05:39 -05:00
jfs_xtree.c JFS: make sure right-most xtree pages have header.next set to zero 2005-10-28 13:27:40 -05:00
jfs_xtree.h JFS: Code cleanup - getting rid of never-used debug code 2005-06-27 15:35:37 -05:00
Makefile JFS: ext2 inode attributes for jfs 2006-02-09 09:09:16 -06:00
namei.c JFS: ext2 inode attributes for jfs 2006-02-09 09:09:16 -06:00
resize.c [PATCH] Fix and add EXPORT_SYMBOL(filemap_write_and_wait) 2006-01-08 20:13:47 -08:00
super.c JFS: semaphore to mutex conversion. 2006-01-24 15:22:50 -06:00
symlink.c [PATCH] Fix up symlink function pointers 2005-08-19 18:08:21 -07:00
xattr.c JFS: semaphore to mutex conversion. 2006-01-24 15:22:50 -06:00