linux/fs/hfs/sysdep.c
<<
>>
Prefs
   1/*
   2 *  linux/fs/hfs/sysdep.c
   3 *
   4 * Copyright (C) 1996  Paul H. Hargrove
   5 * (C) 2003 Ardis Technologies <roman@ardistech.com>
   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
  15static 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
  34const 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
  41