diff options
author | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2008-07-24 13:52:45 +0200 |
---|---|---|
committer | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2008-08-13 10:35:16 +0200 |
commit | dab4b4d2f915a65022343012a795f4ae4ae7e83c (patch) | |
tree | 13a1ec2c5f6b18781145bccddf2fb63017a1336b /fs/ubifs/xattr.c | |
parent | UBIFS: improve budgeting checks (diff) | |
download | linux-dab4b4d2f915a65022343012a795f4ae4ae7e83c.tar.xz linux-dab4b4d2f915a65022343012a795f4ae4ae7e83c.zip |
UBIFS: align inode data to eight
UBIFS aligns node lengths to 8, so budgeting has to do the
same. Well, direntry, inode, and page budgets are already
aligned, but not inode data budget (e.g., data in special
devices or symlinks). Do this for inode data as well.
Also, add corresponding debugging checks.
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Diffstat (limited to 'fs/ubifs/xattr.c')
-rw-r--r-- | fs/ubifs/xattr.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/ubifs/xattr.c b/fs/ubifs/xattr.c index 1388a078e1a9..39e831d074ce 100644 --- a/fs/ubifs/xattr.c +++ b/fs/ubifs/xattr.c @@ -103,8 +103,8 @@ static int create_xattr(struct ubifs_info *c, struct inode *host, struct inode *inode; struct ubifs_inode *ui, *host_ui = ubifs_inode(host); struct ubifs_budget_req req = { .new_ino = 1, .new_dent = 1, - .new_ino_d = size, .dirtied_ino = 1, - .dirtied_ino_d = host_ui->data_len}; + .new_ino_d = size, .dirtied_ino = 1, + .dirtied_ino_d = ALIGN(host_ui->data_len, 8)}; if (host_ui->xattr_cnt >= MAX_XATTRS_PER_INODE) return -ENOSPC; |