fs/adfs: dir: add helper to mark directory buffers dirty

Provide a helper for marking directory buffers dirty so they get
written back to disk.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Russell King
2019-12-09 11:09:45 +00:00
committed by Al Viro
parent 90011c7ad9
commit c3c8149b35
2 changed files with 13 additions and 4 deletions

View File

@@ -157,6 +157,15 @@ static int adfs_dir_read_inode(struct super_block *sb, struct inode *inode,
return ret;
}
static void adfs_dir_mark_dirty(struct adfs_dir *dir)
{
unsigned int i;
/* Mark the buffers dirty */
for (i = 0; i < dir->nr_buffers; i++)
mark_buffer_dirty(dir->bhs[i]);
}
static int adfs_dir_sync(struct adfs_dir *dir)
{
int err = 0;
@@ -280,6 +289,9 @@ adfs_dir_update(struct super_block *sb, struct object_info *obj, int wait)
ret = ops->update(&dir, obj);
write_unlock(&adfs_dir_lock);
if (ret == 0)
adfs_dir_mark_dirty(&dir);
if (wait) {
int err = adfs_dir_sync(&dir);
if (!ret)