* Create a directory in odf
* Fails if the directory already exists
*/
-static inline struct dentry * __odf_create_dir(struct dentry *parent,
- char *name)
+static inline struct dentry *__odf_create_dir(struct dentry *parent,
+ char *name)
{
struct dentry *dentry = NULL;
int err;
int err = 0;
dentry = __odf_create_dir(odf_root, ODF_NS);
- if (IS_ERR(dentry)){
+ if (IS_ERR(dentry)) {
err = PTR_ERR(dentry);
dentry = NULL;
goto out;
}
dput(dentry);
dentry = __odf_create_dir(odf_root, ODF_IC);
- if (IS_ERR(dentry)){
+ if (IS_ERR(dentry)) {
err = PTR_ERR(dentry);
dentry = NULL;
goto out;
}
dput(dentry);
dentry = __odf_create_dir(odf_root, ODF_RC);
- if (IS_ERR(dentry)){
+ if (IS_ERR(dentry)) {
err = PTR_ERR(dentry);
dentry = NULL;
goto out;
}
dput(dentry);
dentry = __odf_create_dir(odf_root, ODF_SR);
- if (IS_ERR(dentry)){
+ if (IS_ERR(dentry)) {
err = PTR_ERR(dentry);
dentry = NULL;
goto out;
dentry = NULL;
goto out;
}
- if (unlikely(dentry->d_inode)){
+ if (unlikely(dentry->d_inode)) {
err = -EEXIST;
goto out;
}
}
osi->ns = odf_getdir(nd.dentry, ODF_NS, sizeof(ODF_NS) - 1);
- if (IS_ERR(osi->ns)){
+ if (IS_ERR(osi->ns)) {
err = PTR_ERR(osi->ns);
osi->ns = NULL;
goto out_free;
}
osi->rc = odf_getdir(nd.dentry, ODF_RC, sizeof(ODF_RC) - 1);
- if (IS_ERR(osi->rc)){
+ if (IS_ERR(osi->rc)) {
err = PTR_ERR(osi->rc);
osi->rc = NULL;
goto out_free;
}
osi->ic = odf_getdir(nd.dentry, ODF_IC, sizeof(ODF_IC) - 1);
- if (IS_ERR(osi->ic)){
+ if (IS_ERR(osi->ic)) {
err = PTR_ERR(osi->ic);
osi->ic = NULL;
goto out_free;
}
osi->sr = odf_getdir(nd.dentry, ODF_SR, sizeof(ODF_SR) - 1);
- if (IS_ERR(osi->sr)){
+ if (IS_ERR(osi->sr)) {
err = PTR_ERR(osi->sr);
osi->sr = NULL;
goto out_free;
}
sioa->cleanup.odf = osi;
sioa->cleanup.attr = get_attributes();
- sioa->cleanup.flags = (options & ODF_OPT_KEEPCACHE)?
- ODF_CLEAN_DEFAULT:ODF_CLEAN_SR|ODF_CLEAN_FULL;
+ sioa->cleanup.flags = ((options & ODF_OPT_KEEPCACHE) ?
+ ODF_CLEAN_DEFAULT :
+ ODF_CLEAN_SR|ODF_CLEAN_FULL);
osi->cleanup = sioa;
osi->mnt = nd.mnt;
mntget(osi->mnt);
else if (!dentry->d_inode) {
dput(dentry);
dentry = ERR_PTR(-EINVAL);
- }
- else if (!S_ISDIR(dentry->d_inode->i_mode)) {
+ } else if (!S_ISDIR(dentry->d_inode->i_mode)) {
dput(dentry);
dentry = ERR_PTR(-EINVAL);
}
err = -EINVAL;
goto out_error;
}
- *odf_path = kzalloc(strlen(optarg) + 1,GFP_KERNEL);
+ *odf_path = kzalloc(strlen(optarg) + 1, GFP_KERNEL);
strcpy(*odf_path, optarg);
}
else
new_dir = UNIONFS_SB(dentry->d_sb)->odf.rc;
new_name = kzalloc(ODF_INAME_LEN, GFP_KERNEL);
- if (!new_name){
+ if (!new_name) {
err = -ENOMEM;
goto out;
}
goto out;
if (UNIONFS_D(old_dentry)->odf.dentry == NULL) {
- printk("rename attempt %s to %s not in odf\n",
+ printk(KERN_ERR "rename attempt %s to %s not in odf\n",
old_dentry->d_name.name,
new_dentry->d_name.name);
goto out;
/* file is new, fill in copyup info with 0's */
link_file->f_pos = 0;
le32 = 0;
- err = link_file->f_op->write(link_file, (char*)&le32,
+ err = link_file->f_op->write(link_file, (char *)&le32,
sizeof(__le32),
&link_file->f_pos);
- if (err != sizeof(__le32)){
+ if (err != sizeof(__le32)) {
err = -EIO;
goto out;
}
le64 = 0;
- err = link_file->f_op->write(link_file, (char*)&le64,
+ err = link_file->f_op->write(link_file, (char *)&le64,
sizeof(__le64),
&link_file->f_pos);
- if (err != sizeof(__le64)){
+ if (err != sizeof(__le64)) {
err = -EIO;
goto out;
}
while (link_file->f_pos < size) {
- err = link_file->f_op->read(link_file, (char*)&le32,
+ err = link_file->f_op->read(link_file, (char *)&le32,
sizeof(__le32),
&link_file->f_pos);
- if (err != sizeof(__le32)){
+ if (err != sizeof(__le32)) {
err = -EIO;
goto out;
}
}
err = link_file->f_op->read(link_file, name,
len, &link_file->f_pos);
- if (err != sizeof(len)){
+ if (err != sizeof(len)) {
err = -EIO;
goto out;
}
- err = link_file->f_op->read(link_file, (char*)&le64,
+ err = link_file->f_op->read(link_file, (char *)&le64,
sizeof(__le64),
&link_file->f_pos);
- if (err != sizeof(__le64)){
+ if (err != sizeof(__le64)) {
err = -EIO;
goto out;
}
/* check if this is our dirent */
if (ino == dentry->d_parent->d_inode->i_ino &&
dentry->d_name.len == len &&
- !strncmp(dentry->d_name.name, name, len)){
+ !strncmp(dentry->d_name.name, name, len)) {
err = 0;
goto out;
}
/* write the dirent in the file */
le32 = cpu_to_le32(dentry->d_name.len);
- err = link_file->f_op->write(link_file, (char*)&le32,
+ err = link_file->f_op->write(link_file, (char *)&le32,
sizeof(__le32), &link_file->f_pos);
- if (err != sizeof(__le32)){
+ if (err != sizeof(__le32)) {
err = -EIO;
goto out;
}
err = link_file->f_op->write(link_file, dentry->d_name.name,
dentry->d_name.len, &link_file->f_pos);
- if (err != dentry->d_name.len){
+ if (err != dentry->d_name.len) {
err = -EIO;
goto out;
}
le64 = cpu_to_le64(dentry->d_parent->d_inode->i_ino);
- err = link_file->f_op->write(link_file, (char*)&le64,
+ err = link_file->f_op->write(link_file, (char *)&le64,
sizeof(__le64), &link_file->f_pos);
- if (err != sizeof(__le64)){
+ if (err != sizeof(__le64)) {
err = -EIO;
goto out;
}
if (old_dentry->d_inode->i_nlink <= 1)
return 0;
- name = kmalloc(UUID_LEN * 2 + 1,GFP_KERNEL);
+ name = kmalloc(UUID_LEN * 2 + 1, GFP_KERNEL);
if (!name) {
err = -ENOMEM;
goto out;
/* update the old link info file with the copyup info */
uuid = odf_get_branch_uuid(osi, old_branch);
- sprintf(name,"%x%x%x%x", *(unsigned int *) uuid,
+ sprintf(name, "%x%x%x%x", *(unsigned int *) uuid,
*(unsigned int *) uuid + 4,
*(unsigned int *) uuid + 8,
*(unsigned int *) uuid + 12);
/* write destination branch id */
le32 = cpu_to_le32(branch_id(sb, new_branch));
- err = link_file->f_op->write(link_file, (char*)&le32,
+ err = link_file->f_op->write(link_file, (char *)&le32,
sizeof(__le32), &link_file->f_pos);
if (err != sizeof(__le32)) {
err = -EIO;
/* write destination lower inode ino */
le64 = cpu_to_le64(new_dentry->d_inode->i_ino);
- err = link_file->f_op->write(link_file, (char*)&le64,
+ err = link_file->f_op->write(link_file, (char *)&le64,
sizeof(__le64), &link_file->f_pos);
if (err != sizeof(__le64)) {
err = -EIO;
set_fs(KERNEL_DS);
link_file->f_pos = 0;
- err = link_file->f_op->read(link_file, (char*)&le32,
+ err = link_file->f_op->read(link_file, (char *)&le32,
sizeof(__le32), &link_file->f_pos);
if (err == sizeof(__le32))
bid = le32_to_cpu(le32);
goto out_fs;
}
- err = link_file->f_op->read(link_file, (char*)&le64,
+ err = link_file->f_op->read(link_file, (char *)&le64,
sizeof(__le64), &link_file->f_pos);
if (err == sizeof(__le64))
ino = le64_to_cpu(le64);
link_file->f_pos = 0;
le32 = 0;
- err = link_file->f_op->write(link_file, (char*)&le32,
+ err = link_file->f_op->write(link_file, (char *)&le32,
sizeof(__le32),
&link_file->f_pos);
- if (err != sizeof(__le32)){
+ if (err != sizeof(__le32)) {
set_fs(oldfs);
err = -EIO;
goto out;
}
le64 = 0;
- err = link_file->f_op->write(link_file, (char*)&le64,
+ err = link_file->f_op->write(link_file, (char *)&le64,
sizeof(__le64),
&link_file->f_pos);
- if (err != sizeof(__le64)){
+ if (err != sizeof(__le64)) {
set_fs(oldfs);
err = -EIO;
goto out;
set_fs(oldfs);
err = 0;
- }
-
- /*
- * case 1:
- * - Normal case, dst to the left of src and not ro
- * - create parent hierarchy and link in the dst branch
- */
- else if (branch_dst < branch_src && !dst_ro) {
+ } else if (branch_dst < branch_src && !dst_ro) {
+ /*
+ * case 1:
+ * - Normal case, dst to the left of src and not ro
+ * - create parent hierarchy and link in the dst branch
+ */
/* create parent hierarchy, then link */
BUG_ON(unionfs_lower_dentry_idx(dentry, branch_dst));
goto out;
}
/* now link */
- }
-
- /*
- * case 2:
- * - dst is the same as src branch and not ro
- * - unlink old file and straight link with copied up
- */
- else if (branch_dst == branch_src && !dst_ro) {
+ } else if (branch_dst == branch_src && !dst_ro) {
+ /*
+ * case 2:
+ * - dst is the same as src branch and not ro
+ * - unlink old file and straight link with copied up
+ */
;
- }
-
- /*
- * case 3:
- *
- * - dst to the right of src, because of moving branches, so if the
- * file was already copied up before the branch manipulation; it
- * would now be lower by the old non-copied up version of the file.
- *
- * - Do nothing!
- */
- else if (branch_dst < branch_src) {
+ } else if (branch_dst < branch_src) {
+ /*
+ * case 3:
+ *
+ * - dst to the right of src, because of moving branches, so
+ * if the file was already copied up before the branch
+ * manipulation; it would now be lower by the old non-copied
+ * up version of the file.
+ *
+ * - Do nothing!
+ */
;
- }
-
- /*
- * case 4:
- * - dst branch is ro
- * - copyup again!
- */
- else if (dst_ro) {
+ } else if (dst_ro) {
+ /*
+ * case 4:
+ * - dst branch is ro
+ * - copyup again!
+ */
;
}
!(flags & ODF_LOOKUP_WH)) {
/* get/create the link info file for lower fs */
- name = kmalloc(UUID_LEN * 2 + 1,GFP_KERNEL);
+ name = kmalloc(UUID_LEN * 2 + 1, GFP_KERNEL);
uuid = odf_get_branch_uuid(osi, bstart);
- sprintf(name,"%x%x%x%x", *(unsigned int *) uuid,
+ sprintf(name, "%x%x%x%x", *(unsigned int *) uuid,
*(unsigned int *) uuid + 4,
*(unsigned int *) uuid + 8,
*(unsigned int *) uuid + 12);
/* check if link was copied up and act appropriately */
-#if 0
+#ifdef ODF_IS_CODE_REDUNDADNT
/*
* XXX: Leave this out until Jeff's modifications to
* path_lookup (FIXME)
struct dentry *odf_lookup_name(struct dentry *parent, const char *name,
int len, int flags)
{
- return __odf_lookup(parent, NULL, name, len, flags, NULL);
+ return __odf_lookup(parent, NULL, name, len, flags, NULL);
}
/*
odf_dentry = lookup_one_len(name, odf_parent, len);
if (IS_ERR(odf_dentry)) {
- printk("odf_lookup: failed to lookup %s\n", name);
+ printk(KERN_ERR "odf_lookup: failed to lookup %s\n", name);
goto out;
}
/* if create flags are set, remove existing whiteout */
if (odf_dentry->d_inode && (flags & ODF_LOOKUP_RMV_WH)) {
- if (__odf_is_wh(osi, odf_dentry)){
+ if (__odf_is_wh(osi, odf_dentry)) {
vfs_unlink(odf_i_dir, odf_dentry);
dput(odf_dentry);
odf_dentry = lookup_one_len(name, odf_parent, len);
/* create an entry in the odf if don't exist */
if (!odf_dentry->d_inode) {
- if (name[0]=='.')
- BUG_ON(len==1 || (name[1]=='.'&&len==2));
- retry:
+ if (name[0] == '.')
+ BUG_ON(len == 1 || (name[1] == '.' && len == 2));
+retry:
/* FIXME need to check hardlinks before create */
if (link && (flags & ODF_LOOKUP_FILE)) {
/* link to the given dentry */
vfs_link(link, odf_dentry->d_parent->d_inode,
odf_dentry);
- }
- else if (flags & ODF_LOOKUP_FILE) {
+ } else if (flags & ODF_LOOKUP_FILE) {
current->fsuid = 0;
current->fsgid = 0;
err = vfs_create(odf_i_dir, odf_dentry, S_IRWXUGO, 0);
- }
- else if (flags & ODF_LOOKUP_WH) {
+ } else if (flags & ODF_LOOKUP_WH) {
current->fsuid = 0;
current->fsgid = 0;
err = vfs_link(osi->whiteout, odf_i_dir, odf_dentry);
- }
- else if (flags & ODF_LOOKUP_DIR) {
+ } else if (flags & ODF_LOOKUP_DIR) {
current->fsuid = 0;
current->fsgid = 0;
err = vfs_mkdir(odf_i_dir, odf_dentry, S_IRWXUGO);
current->fsuid = 0;
current->fsgid = 0;
- memset(tmp_name,0,6);
+ memset(tmp_name, 0, 6);
sprintf(tmp_name, "%x", breakdown[0]);
/* look for/create the ##/##/##/## hierarchy */
goto out;
}
for (i = 1; i < 4; i++) {
- memset(tmp_name,0,6);
+ memset(tmp_name, 0, 6);
sprintf(tmp_name, "%x", breakdown[i]);
dirs[i] = lookup_one_len(tmp_name, dirs[i-1],
strlen(tmp_name));
/* odf dirent magic */
le32 = cpu_to_le32(ODF_DIRENT_MAGIC);
- err = filp->f_op->write(filp, (char*)&le32,
+ err = filp->f_op->write(filp, (char *)&le32,
sizeof(__le32), &filp->f_pos);
if (err != sizeof(__le32))
goto out;
/* inode */
le64 = cpu_to_le64(ino);
- err = filp->f_op->write(filp, (char*)&le64,
+ err = filp->f_op->write(filp, (char *)&le64,
sizeof(__le64), &filp->f_pos);
if (err != sizeof(__le64))
goto out;
/* name length */
le16 = cpu_to_le16(namelen);
- err = filp->f_op->write(filp, (char*)&le16,
+ err = filp->f_op->write(filp, (char *)&le16,
sizeof(__le16), &filp->f_pos);
if (err != sizeof(__le16))
goto out;
/* type */
byte = (unsigned char)d_type;
- err =filp->f_op->write(filp, (char*)&byte,
- sizeof(unsigned char), &filp->f_pos);
+ err = filp->f_op->write(filp, (char *)&byte,
+ sizeof(unsigned char), &filp->f_pos);
if (err != sizeof(unsigned char))
goto out;
/* name */
- err = filp->f_op->write(filp, (char*)name,
+ err = filp->f_op->write(filp, (char *)name,
namelen, &filp->f_pos);
if (err != namelen)
goto out;
set_fs(KERNEL_DS);
/* dirent magic */
- err = filp->f_op->read(filp, (char*)&le32,
+ err = filp->f_op->read(filp, (char *)&le32,
sizeof(__le32), &filp->f_pos);
if (err != sizeof(__le32)) {
err = -EIO;
}
/* inode */
- err = filp->f_op->read(filp, (char*)&le64,
+ err = filp->f_op->read(filp, (char *)&le64,
sizeof(__le64), &filp->f_pos);
if (err != sizeof(__le64)) {
err = -EIO;
*ino = le64_to_cpu(le64);
/* name length */
- err = filp->f_op->read(filp, (char*)&le16,
+ err = filp->f_op->read(filp, (char *)&le16,
sizeof(__le16), &filp->f_pos);
if (err != sizeof(__le16)) {
err = -EIO;
}
/* type */
- err = filp->f_op->read(filp, (char*)&byte,
+ err = filp->f_op->read(filp, (char *)&byte,
sizeof(unsigned char), &filp->f_pos);
if (err != sizeof(unsigned char)) {
err = -EIO;
err = -ENOMEM;
goto out;
}
- err = filp->f_op->read(filp, (char*)(*name),
+ err = filp->f_op->read(filp, (char *)(*name),
*namelen, &filp->f_pos);
if (err != *namelen) {
err = -EIO;
gid_t oldgid = current->fsgid;
odf_cache = odf_ic_cache_dentry(dentry);
- if (IS_ERR(odf_cache)){
+ if (IS_ERR(odf_cache)) {
err = PTR_ERR(odf_cache);
odf_cache = NULL;
goto out;
if (__odf_is_wh(&UNIONFS_SB(dentry->d_sb)->odf, odf_dentry)) {
if (flags & ODF_RMV_WH)
rmv = 1;
- }
- else if (flags & ODF_RMV_NOTWH)
+ } else if (flags & ODF_RMV_NOTWH)
rmv = 1;
if (!rmv)
/* version */
le32 = ODF_VERSION;
le32 = cpu_to_le32(le32);
- err = file->f_op->write(file, (char*)&le32, sizeof(__le32),
+ err = file->f_op->write(file, (char *)&le32, sizeof(__le32),
&file->f_pos);
if (err != sizeof(__le32)) {
err = -EIO;
/* number of branches */
le32 = cpu_to_le32(branches);
- err = file->f_op->write(file, (char*)&le32, sizeof(__le32),
+ err = file->f_op->write(file, (char *)&le32, sizeof(__le32),
&file->f_pos);
if (err != sizeof(__le32)) {
err = -EIO;
/* write branch ids */
le32 = cpu_to_le32(data[bindex].branch_id);
- err = file->f_op->write(file, (char*)&le32, sizeof(__le32),
+ err = file->f_op->write(file, (char *)&le32, sizeof(__le32),
&file->f_pos);
if (err != sizeof(__le32)) {
err = -EIO;
/* path length */
le32 = cpu_to_le32(len);
- err = file->f_op->write(file, (char*)&le32, sizeof(__le32),
+ err = file->f_op->write(file, (char *)&le32, sizeof(__le32),
&file->f_pos);
if (err != sizeof(__le32)) {
err = -EIO;
/* permissions */
le32 = cpu_to_le32(data[bindex].branchperms);
- err = file->f_op->write(file, (char*)&le32, sizeof(__le32),
+ err = file->f_op->write(file, (char *)&le32, sizeof(__le32),
&file->f_pos);
if (err != sizeof(__le32)) {
err = -EIO;
out_close:
set_fs(oldfs);
- filp_close(file,NULL);
+ filp_close(file, NULL);
out:
kfree(branch_path);
kfree(branch_entry);
}
ptr = options;
- sprintf(ptr,"dirs=");
- ptr+=strlen(ptr);
+ sprintf(ptr, "dirs=");
+ ptr += strlen(ptr);
d_content = odf_sb->sb;
if (IS_ERR(d_content) || !d_content) {
set_fs(KERNEL_DS);
/* version */
- err = file->f_op->read(file, (char*)&le32, sizeof(__le32),
+ err = file->f_op->read(file, (char *)&le32, sizeof(__le32),
&file->f_pos);
if (err != sizeof(__le32)) {
err = -EIO;
}
/* branch count */
- err = file->f_op->read(file, (char*)&le32, sizeof(__le32),
+ err = file->f_op->read(file, (char *)&le32, sizeof(__le32),
&file->f_pos);
if (err != sizeof(__le32)) {
err = -EIO;
i = 0;
while (i < count) {
/* branch id */
- err = file->f_op->read(file, (char*)&le32, sizeof(__le32),
+ err = file->f_op->read(file, (char *)&le32, sizeof(__le32),
&file->f_pos);
if (err != sizeof(__le32)) {
err = -EIO;
(*bid)[i] = le32_to_cpu(le32);
/* path length */
- err = file->f_op->read(file, (char*)&le32, sizeof(__le32),
+ err = file->f_op->read(file, (char *)&le32, sizeof(__le32),
&file->f_pos);
if (err != sizeof(__le32)) {
err = -EIO;
}
/* permissions */
- err = file->f_op->read(file, (char*)&le32, sizeof(__le32),
+ err = file->f_op->read(file, (char *)&le32, sizeof(__le32),
&file->f_pos);
if (err != sizeof(__le32)) {
err = -EIO;
perms = le32_to_cpu(le32);
/* branch UUID */
- err = file->f_op->read(file, (char*)uuid, UUID_LEN,
+ err = file->f_op->read(file, (char *)uuid, UUID_LEN,
&file->f_pos);
if (err != UUID_LEN) {
err = -EIO;
memcpy(odf_sb->branch_uuids + i * UUID_LEN, uuid, UUID_LEN);
/* add the branch permissions to the options string */
- ptr+=len;
+ ptr += len;
if (perms == MAY_READ)
- sprintf(ptr,"=ro:");
+ sprintf(ptr, "=ro:");
else if (perms == (MAY_READ | MAY_WRITE))
- sprintf(ptr,"=rw:");
- ptr+=strlen(ptr);
+ sprintf(ptr, "=rw:");
+ ptr += strlen(ptr);
i++;
}
*(ptr - 1) = '\0'; /* remove trailing ':' */
err = 0;
set_fs(oldfs);
- filp_close(file,NULL);
+ filp_close(file, NULL);
goto out;
out_close:
set_fs(oldfs);
- filp_close(file,NULL);
+ filp_close(file, NULL);
kfree(odf_sb->branch_uuids);
odf_sb->branch_uuids = NULL;
out_err: