]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/ext3/xattr.c
ext3: wait on all pending commits in ext3_sync_fs
[linux-2.6-omap-h63xx.git] / fs / ext3 / xattr.c
index d4a4f0e9ff699ae49165ea93ff4b53c162b6a60a..175414ac22109ef19bf0cf5841d131000cb7e6d2 100644 (file)
@@ -1000,6 +1000,11 @@ ext3_xattr_set_handle(handle_t *handle, struct inode *inode, int name_index,
                        i.value = NULL;
                        error = ext3_xattr_block_set(handle, inode, &i, &bs);
                } else if (error == -ENOSPC) {
+                       if (EXT3_I(inode)->i_file_acl && !bs.s.base) {
+                               error = ext3_xattr_block_find(inode, &i, &bs);
+                               if (error)
+                                       goto cleanup;
+                       }
                        error = ext3_xattr_block_set(handle, inode, &i, &bs);
                        if (error)
                                goto cleanup;