···1818#ifndef __XFS_SUPPORT_MUTEX_H__1919#define __XFS_SUPPORT_MUTEX_H__20202121-#include <linux/spinlock.h>2221#include <linux/mutex.h>23222424-/*2525- * Map the mutex'es from IRIX to Linux semaphores.2626- *2727- * Destroy just simply initializes to -99 which should block all other2828- * callers.2929- */3030-#define MUTEX_DEFAULT 0x03131-3232-typedef struct mutex mutex_t;3333-//#define mutex_destroy(lock) do{}while(0)2323+typedef struct mutex mutex_t;34243525#endif /* __XFS_SUPPORT_MUTEX_H__ */
+8-8
fs/xfs/linux-2.6/xfs_iops.c
···5656#include <linux/namei.h>5757#include <linux/security.h>58585959-#define IS_NOATIME(inode) ((inode->i_sb->s_flags & MS_NOATIME) || \6060- (S_ISDIR(inode->i_mode) && inode->i_sb->s_flags & MS_NODIRATIME))6161-6259/*6360 * Get a XFS inode from a given vnode.6461 */···471474472475 error = 0;473476 VOP_SYMLINK(dvp, dentry, &va, (char *)symname, &cvp, NULL, error);474474- if (!error && cvp) {475475- ip = LINVFS_GET_IP(cvp);476476- d_instantiate(dentry, ip);477477- validate_fields(dir);478478- validate_fields(ip); /* size needs update */477477+ if (likely(!error && cvp)) {478478+ error = linvfs_init_security(cvp, dir);479479+ if (likely(!error)) {480480+ ip = LINVFS_GET_IP(cvp);481481+ d_instantiate(dentry, ip);482482+ validate_fields(dir);483483+ validate_fields(ip);484484+ }479485 }480486 return -error;481487}