git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
This commit was manufactured by cvs2svn to create tag
[linux-2.6.git]
/
fs
/
inode.c
diff --git
a/fs/inode.c
b/fs/inode.c
index
d858616
..
207cc73
100644
(file)
--- a/
fs/inode.c
+++ b/
fs/inode.c
@@
-139,10
+139,11
@@
static struct inode *alloc_inode(struct super_block *sb)
struct address_space * const mapping = &inode->i_data;
inode->i_sb = sb;
struct address_space * const mapping = &inode->i_data;
inode->i_sb = sb;
+ if (sb->s_flags & MS_TAGXID)
+ inode->i_xid = current->xid;
+ else
+ inode->i_xid = 0; /* maybe xid -1 would be better? */
// inode->i_dqh = dqhget(sb->s_dqh);
// inode->i_dqh = dqhget(sb->s_dqh);
-
- /* important because of inode slab reuse */
- inode->i_xid = 0;
inode->i_blkbits = sb->s_blocksize_bits;
inode->i_flags = 0;
atomic_set(&inode->i_count, 1);
inode->i_blkbits = sb->s_blocksize_bits;
inode->i_flags = 0;
atomic_set(&inode->i_count, 1);
@@
-162,6
+163,7
@@
static struct inode *alloc_inode(struct super_block *sb)
inode->i_bdev = NULL;
inode->i_cdev = NULL;
inode->i_rdev = 0;
inode->i_bdev = NULL;
inode->i_cdev = NULL;
inode->i_rdev = 0;
+ // inode->i_xid = 0; /* maybe not too wise ... */
inode->i_security = NULL;
inode->dirtied_when = 0;
if (security_inode_alloc(inode)) {
inode->i_security = NULL;
inode->dirtied_when = 0;
if (security_inode_alloc(inode)) {
@@
-593,6
+595,7
@@
struct inode *new_inode(struct super_block *sb)
list_add(&inode->i_list, &inode_in_use);
inode->i_ino = ++last_ino;
inode->i_state = 0;
list_add(&inode->i_list, &inode_in_use);
inode->i_ino = ++last_ino;
inode->i_state = 0;
+ inode->i_xid = vx_current_xid();
spin_unlock(&inode_lock);
}
return inode;
spin_unlock(&inode_lock);
}
return inode;
@@
-1210,14
+1213,14
@@
EXPORT_SYMBOL(update_atime);
* When ctime_too is specified update the ctime too.
*/
* When ctime_too is specified update the ctime too.
*/
-void inode_update_time(struct inode *inode,
struct vfsmount *mnt,
int ctime_too)
+void inode_update_time(struct inode *inode, int ctime_too)
{
struct timespec now;
int sync_it = 0;
if (IS_NOCMTIME(inode))
return;
{
struct timespec now;
int sync_it = 0;
if (IS_NOCMTIME(inode))
return;
- if (IS_RDONLY(inode)
|| MNT_IS_RDONLY(mnt)
)
+ if (IS_RDONLY(inode))
return;
now = current_kernel_time();
return;
now = current_kernel_time();