Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f6337d84 authored by Richard Weinberger's avatar Richard Weinberger
Browse files

ubifs: Export ubifs_check_dir_empty()



fscrypto will need this function too. Also get struct ubifs_info
from the provided inode. Not all callers will have a reference to
struct ubifs_info.

Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
parent d40a7962
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -712,15 +712,15 @@ static int ubifs_unlink(struct inode *dir, struct dentry *dentry)

/**
 * check_dir_empty - check if a directory is empty or not.
 * @c: UBIFS file-system description object
 * @dir: VFS inode object of the directory to check
 *
 * This function checks if directory @dir is empty. Returns zero if the
 * directory is empty, %-ENOTEMPTY if it is not, and other negative error codes
 * in case of of errors.
 */
static int check_dir_empty(struct ubifs_info *c, struct inode *dir)
int ubifs_check_dir_empty(struct inode *dir)
{
	struct ubifs_info *c = dir->i_sb->s_fs_info;
	struct qstr nm = { .name = NULL };
	struct ubifs_dent_node *dent;
	union ubifs_key key;
@@ -758,7 +758,7 @@ static int ubifs_rmdir(struct inode *dir, struct dentry *dentry)
		inode->i_ino, dir->i_ino);
	ubifs_assert(inode_is_locked(dir));
	ubifs_assert(inode_is_locked(inode));
	err = check_dir_empty(c, d_inode(dentry));
	err = ubifs_check_dir_empty(d_inode(dentry));
	if (err)
		return err;

@@ -1108,7 +1108,7 @@ static int do_rename(struct inode *old_dir, struct dentry *old_dentry,
		ubifs_assert(inode_is_locked(new_inode));

	if (unlink && is_dir) {
		err = check_dir_empty(c, new_inode);
		err = ubifs_check_dir_empty(new_inode);
		if (err)
			return err;
	}
+1 −0
Original line number Diff line number Diff line
@@ -1728,6 +1728,7 @@ struct inode *ubifs_new_inode(struct ubifs_info *c, const struct inode *dir,
			      umode_t mode);
int ubifs_getattr(struct vfsmount *mnt, struct dentry *dentry,
		  struct kstat *stat);
int ubifs_check_dir_empty(struct inode *dir);

/* xattr.c */
extern const struct xattr_handler *ubifs_xattr_handlers[];