]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/configfs/inode.c
cciss: fix regression firmware not displayed in procfs
[linux-2.6-omap-h63xx.git] / fs / configfs / inode.c
index dbd257d956c40114717de0712437b6be63b4607a..4803ccc944809a57a452721eed36d6656d90af60 100644 (file)
@@ -47,7 +47,7 @@ static const struct address_space_operations configfs_aops = {
 
 static struct backing_dev_info configfs_backing_dev_info = {
        .ra_pages       = 0,    /* No readahead */
-       .capabilities   = BDI_CAP_NO_ACCT_DIRTY | BDI_CAP_NO_WRITEBACK,
+       .capabilities   = BDI_CAP_NO_ACCT_AND_WRITEBACK,
 };
 
 static const struct inode_operations configfs_inode_operations ={
@@ -247,7 +247,9 @@ void configfs_hash_and_remove(struct dentry * dir, const char * name)
                if (!sd->s_element)
                        continue;
                if (!strcmp(configfs_get_name(sd), name)) {
+                       spin_lock(&configfs_dirent_lock);
                        list_del_init(&sd->s_sibling);
+                       spin_unlock(&configfs_dirent_lock);
                        configfs_drop_dentry(sd, dir);
                        configfs_put(sd);
                        break;
@@ -256,4 +258,12 @@ void configfs_hash_and_remove(struct dentry * dir, const char * name)
        mutex_unlock(&dir->d_inode->i_mutex);
 }
 
+int __init configfs_inode_init(void)
+{
+       return bdi_init(&configfs_backing_dev_info);
+}
 
+void __exit configfs_inode_exit(void)
+{
+       bdi_destroy(&configfs_backing_dev_info);
+}