From e03df9bb781caf20480a7a0ffba9f84ff96d92c0 Mon Sep 17 00:00:00 2001 From: Jeff Mahoney Date: Tue, 23 Mar 2010 13:35:38 -0700 Subject: [PATCH] --- yaml --- r: 188921 b: refs/heads/master c: 6cb4aff0a77cc0e6bae9475d62205319e3ebbf3f h: refs/heads/master i: 188919: f759dddf4bf31ad89e5b15402ec4f7c200caeae7 v: v3 --- [refs] | 2 +- trunk/fs/reiserfs/xattr_security.c | 2 +- trunk/include/linux/reiserfs_xattr.h | 5 +++++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index e7954b702fd8..8eab6829f17b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 298359c5bf06c04258d7cf552426e198c47e83c1 +refs/heads/master: 6cb4aff0a77cc0e6bae9475d62205319e3ebbf3f diff --git a/trunk/fs/reiserfs/xattr_security.c b/trunk/fs/reiserfs/xattr_security.c index d8b5bfcbdd30..de1fcffd906b 100644 --- a/trunk/fs/reiserfs/xattr_security.c +++ b/trunk/fs/reiserfs/xattr_security.c @@ -76,7 +76,7 @@ int reiserfs_security_init(struct inode *dir, struct inode *inode, return error; } - if (sec->length) { + if (sec->length && reiserfs_xattrs_initialized(inode->i_sb)) { blocks = reiserfs_xattr_jcreate_nblocks(inode) + reiserfs_xattr_nblocks(inode, sec->length); /* We don't want to count the directories twice if we have diff --git a/trunk/include/linux/reiserfs_xattr.h b/trunk/include/linux/reiserfs_xattr.h index 99928dce37ea..7fa02b4af838 100644 --- a/trunk/include/linux/reiserfs_xattr.h +++ b/trunk/include/linux/reiserfs_xattr.h @@ -70,6 +70,11 @@ int reiserfs_security_write(struct reiserfs_transaction_handle *th, void reiserfs_security_free(struct reiserfs_security_handle *sec); #endif +static inline int reiserfs_xattrs_initialized(struct super_block *sb) +{ + return REISERFS_SB(sb)->priv_root != NULL; +} + #define xattr_size(size) ((size) + sizeof(struct reiserfs_xattr_header)) static inline loff_t reiserfs_xattr_nblocks(struct inode *inode, loff_t size) {