]> err.no Git - linux-2.6/blobdiff - fs/ecryptfs/main.c
libertas: clean up is_command_allowed_in_ps()
[linux-2.6] / fs / ecryptfs / main.c
index bdeac3877a84f01dd56c029519ba501138469eb5..0249aa4ae181886cd2a26921a465feb5f8d27d41 100644 (file)
@@ -734,59 +734,18 @@ static int ecryptfs_init_kmem_caches(void)
        return 0;
 }
 
-static struct kset *ecryptfs_kset;
+static struct kobject *ecryptfs_kobj;
 
-static ssize_t version_show(struct kset *kset, char *buff)
+static ssize_t version_show(struct kobject *kobj,
+                           struct kobj_attribute *attr, char *buff)
 {
        return snprintf(buff, PAGE_SIZE, "%d\n", ECRYPTFS_VERSIONING_MASK);
 }
 
-static struct subsys_attribute version_attr = __ATTR_RO(version);
-
-static struct ecryptfs_version_str_map_elem {
-       u32 flag;
-       char *str;
-} ecryptfs_version_str_map[] = {
-       {ECRYPTFS_VERSIONING_PASSPHRASE, "passphrase"},
-       {ECRYPTFS_VERSIONING_PUBKEY, "pubkey"},
-       {ECRYPTFS_VERSIONING_PLAINTEXT_PASSTHROUGH, "plaintext passthrough"},
-       {ECRYPTFS_VERSIONING_POLICY, "policy"},
-       {ECRYPTFS_VERSIONING_XATTR, "metadata in extended attribute"},
-       {ECRYPTFS_VERSIONING_MULTKEY, "multiple keys per file"}
-};
-
-static ssize_t version_str_show(struct kset *kset, char *buff)
-{
-       int i;
-       int remaining = PAGE_SIZE;
-       int total_written = 0;
-
-       buff[0] = '\0';
-       for (i = 0; i < ARRAY_SIZE(ecryptfs_version_str_map); i++) {
-               int entry_size;
-
-               if (!(ECRYPTFS_VERSIONING_MASK
-                     & ecryptfs_version_str_map[i].flag))
-                       continue;
-               entry_size = strlen(ecryptfs_version_str_map[i].str);
-               if ((entry_size + 2) > remaining)
-                       goto out;
-               memcpy(buff, ecryptfs_version_str_map[i].str, entry_size);
-               buff[entry_size++] = '\n';
-               buff[entry_size] = '\0';
-               buff += entry_size;
-               total_written += entry_size;
-               remaining -= entry_size;
-       }
-out:
-       return total_written;
-}
-
-static struct subsys_attribute version_attr_str = __ATTR_RO(version_str);
+static struct kobj_attribute version_attr = __ATTR_RO(version);
 
 static struct attribute *attributes[] = {
        &version_attr.attr,
-       &version_attr_str.attr,
        NULL,
 };
 
@@ -798,17 +757,17 @@ static int do_sysfs_registration(void)
 {
        int rc;
 
-       ecryptfs_kset = kset_create_and_add("ecryptfs", NULL, fs_kobj);
-       if (!ecryptfs_kset) {
+       ecryptfs_kobj = kobject_create_and_add("ecryptfs", fs_kobj);
+       if (!ecryptfs_kobj) {
                printk(KERN_ERR "Unable to create ecryptfs kset\n");
                rc = -ENOMEM;
                goto out;
        }
-       rc = sysfs_create_group(&ecryptfs_kset->kobj, &attr_group);
+       rc = sysfs_create_group(ecryptfs_kobj, &attr_group);
        if (rc) {
                printk(KERN_ERR
                       "Unable to create ecryptfs version attributes\n");
-               kset_unregister(ecryptfs_kset);
+               kobject_put(ecryptfs_kobj);
        }
 out:
        return rc;
@@ -816,8 +775,8 @@ out:
 
 static void do_sysfs_unregistration(void)
 {
-       sysfs_remove_group(&ecryptfs_kset->kobj, &attr_group);
-       kset_unregister(ecryptfs_kset);
+       sysfs_remove_group(ecryptfs_kobj, &attr_group);
+       kobject_put(ecryptfs_kobj);
 }
 
 static int __init ecryptfs_init(void)