]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * linux/fs/hfs/sysdep.c | |
3 | * | |
4 | * Copyright (C) 1996 Paul H. Hargrove | |
5 | * (C) 2003 Ardis Technologies <[email protected]> | |
6 | * This file may be distributed under the terms of the GNU General Public License. | |
7 | * | |
8 | * This file contains the code to do various system dependent things. | |
9 | */ | |
10 | ||
11 | #include "hfs_fs.h" | |
12 | ||
13 | /* dentry case-handling: just lowercase everything */ | |
14 | ||
15 | static int hfs_revalidate_dentry(struct dentry *dentry, struct nameidata *nd) | |
16 | { | |
17 | struct inode *inode = dentry->d_inode; | |
18 | int diff; | |
19 | ||
20 | if(!inode) | |
21 | return 1; | |
22 | ||
23 | /* fix up inode on a timezone change */ | |
24 | diff = sys_tz.tz_minuteswest * 60 - HFS_I(inode)->tz_secondswest; | |
25 | if (diff) { | |
26 | inode->i_ctime.tv_sec += diff; | |
27 | inode->i_atime.tv_sec += diff; | |
28 | inode->i_mtime.tv_sec += diff; | |
29 | HFS_I(inode)->tz_secondswest += diff; | |
30 | } | |
31 | return 1; | |
32 | } | |
33 | ||
34 | struct dentry_operations hfs_dentry_operations = | |
35 | { | |
36 | .d_revalidate = hfs_revalidate_dentry, | |
37 | .d_hash = hfs_hash_dentry, | |
38 | .d_compare = hfs_compare_dentry, | |
39 | }; | |
40 |