VisionFive2 Linux kernel

StarFive Tech Linux Kernel for VisionFive (JH7110) boards (mirror)

More than 9999 Commits   32 Branches   54 Tags
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700  1) /*
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700  2)  *  linux/fs/hfs/sysdep.c
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700  3)  *
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700  4)  * Copyright (C) 1996  Paul H. Hargrove
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700  5)  * (C) 2003 Ardis Technologies <roman@ardistech.com>
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700  6)  * This file may be distributed under the terms of the GNU General Public License.
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700  7)  *
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700  8)  * This file contains the code to do various system dependent things.
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700  9)  */
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 10) 
34286d6662308 (Nicholas Piggin 2011-01-07 17:49:57 +1100 11) #include <linux/namei.h>
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 12) #include "hfs_fs.h"
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 13) 
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 14) /* dentry case-handling: just lowercase everything */
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 15) 
0b728e1911cbe (Al Viro         2012-06-10 16:03:43 -0400 16) static int hfs_revalidate_dentry(struct dentry *dentry, unsigned int flags)
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 17) {
34286d6662308 (Nicholas Piggin 2011-01-07 17:49:57 +1100 18) 	struct inode *inode;
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 19) 	int diff;
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 20) 
0b728e1911cbe (Al Viro         2012-06-10 16:03:43 -0400 21) 	if (flags & LOOKUP_RCU)
34286d6662308 (Nicholas Piggin 2011-01-07 17:49:57 +1100 22) 		return -ECHILD;
34286d6662308 (Nicholas Piggin 2011-01-07 17:49:57 +1100 23) 
2b0143b5c986b (David Howells   2015-03-17 22:25:59 +0000 24) 	inode = d_inode(dentry);
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 25) 	if(!inode)
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 26) 		return 1;
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 27) 
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 28) 	/* fix up inode on a timezone change */
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 29) 	diff = sys_tz.tz_minuteswest * 60 - HFS_I(inode)->tz_secondswest;
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 30) 	if (diff) {
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 31) 		inode->i_ctime.tv_sec += diff;
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 32) 		inode->i_atime.tv_sec += diff;
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 33) 		inode->i_mtime.tv_sec += diff;
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 34) 		HFS_I(inode)->tz_secondswest += diff;
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 35) 	}
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 36) 	return 1;
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 37) }
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 38) 
e16404ed0f3f3 (Al Viro         2009-02-20 05:55:13 +0000 39) const struct dentry_operations hfs_dentry_operations =
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 40) {
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 41) 	.d_revalidate	= hfs_revalidate_dentry,
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 42) 	.d_hash		= hfs_hash_dentry,
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 43) 	.d_compare	= hfs_compare_dentry,
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 44) };
^1da177e4c3f4 (Linus Torvalds  2005-04-16 15:20:36 -0700 45)